Construction Set Skriptthread zum Construction Set

Türscript

Hi, alle zusammen!

Also gut, hier meine Frage:

Ich bräuchte bitte einen Script für eine Tür, die deaktiviert (ich meine damit einfach verschwindet) wird, sobald man durch sie durchgeht (sollte eine Teleporttür werden!).

Könnte mir da mal jemand helfen?



Bitte!
 
Code:
scn MeinTeleportPortalScript

ref mySelf
ref targetref


begin onActivate
	
	set targetref to GetActionRef

	set mySelf to getSelf
	targetref.pms effectshockshield    
	mySelf.pms effectshockshield
	activate
        MeinTeleportPortalID.disable

end

Hi, so müsste es funktionieren ;)

Code:
	targetref.pms effectshockshield    
	mySelf.pms effectshockshield

Das wäre ein kleiner magischer Leuchteffekt ;) Kannst du aber auch weglassen
 
  • Like
Reaktionen: Akasha
Hi zusammen

Ich bräuchte einen Script, durch den eine Questbelohnung gelevelt ist.
Das heisst, wenn der Spieler mit lvl 3 die quest macht, dass er dann nicht einen Gegenstand bekommt, der einem lvl 20er gegenstand entspricht.

Kann jemand einen solchen Script hier reinschreiben?

mfG assassin
 
Soweit ich weiß kann man ja auch bei Resultscripts if-Blöcke einfügen (funktioniert jedenfalls bei mir afaik), von daher einfach das in das Resultscript der letzten Stage schreiben:

Code:
if (player.getlevel =< 5)
      player.additem [I][SchwacherGegenstand][/I] 1
elseif (player.getlevel > 5) && (player.getlevel =< 10)
      player.addditem [I][EtwasStärkererGegenstand] [/I]1
elseif (player.getlevel > 10) && (player.getlevel =< 15)
.
.
.
endif
Anstatt das in den eckigen Klammern Geschriebene dann halt die ID der Objekte einfügen und die Klammern weglassen. Die Grenzen kannst du natürlich beliebig verändern.

Falls das nicht funktioniert einfach das noch anfügen, dann ab damit ins Questscript:
Code:
scn ArcLeveledBelohnung

Begin GameMode
if getstage [I][IDderQuest][/I] == 100 ;also die letzte Stage

[I];hier dann das, was oben steht[/I]

endif
end
Die einfachere Variante ist allerdings, einfach in eine Truhe ein Leveled Item einzufügen und dem Spieler dann den Schlüssel dafür zukommen zu lassen (player.additem SchlüsselID 1)^^
 
  • Like
Reaktionen: Assassin_456
Guten Abend

Ich bräuchte 3 skripte.

Der erste Skript soll das Torgitter öffnen, wenn man den schalter aktiviert.
Der 2. Skript soll ab einer bestimmten Uhrzeit, die Tore in meine Mod schließen und erst bei einer bestimmten Zeit wieder öffnen
der 3. skript soll in einer truhe wöchentlich einen bestimmten betrag an gold hineintun.

Danke im Vorraus
 
Zuletzt bearbeitet:
Na, jetzt herrscht wieder großer Andrang um Hilfe!


Dazu muss ich natürlich auch was beitragen:

Ich bräuchte einen Skript für 2 Kisten:

Wenn ich die Eine in der Kaiserstadt platziere, die andere zum Beispiel in Skingrad, sollte das so funktionieren: Ich tu' irgendeinen Gegenstand in die Kiste in der Kaiserstadt, der dann auch in der Skingrad-Kiste erscheinen soll. Tu ich ihn in Skingrad wieder raus, soll er auch in der Kaiserstadt weg sein.
Wie Rohrpost, eben.


Kann mir da bitte jemand helfen?
 
Hmm, das ist meines Erachtens nicht so leicht (ich bin aber kein Experte, also...).
Was vielleicht geht, ist: Du nimmst nur eine Kiste und legst ein Script auf sie, das bewirkt, dass, wenn du z.B. Skingrad betrittst, die Kiste dort geladen wird und das gleiche bei der Kaiserstadt. Frag mich aber nicht, wie das aussehen müsste:? Vielleicht weiß das jemand anderes oder hat noch ne bessere Variante.
 
Du erstellst Dir eine Playereigene Kiste in einem Interior welches dem Player gehört. Diese bekommt eine Referenz.
Dann erstellst Du eine weitere Kiste auf welcher ein Objektscript liegt.

scn kistenscript

begin onactivate
Kistenreferenz.activate player (schreibt man das so? bin mir gerade nicht sicher)
end

Diese Kiste kommt einmal nach Skingrad und einmal in die Kaiserstadt. Wenn Du die dann anklickst wird über das Script die Kiste mit der Referenz geöffnet, fertig. (die eigentlich angeklickte Kiste wird dabei ignoriert)
 
Nein funktioniert leider nicht...

Mit Script passiert einfach gar nichts!

hmm schade...



Edit: Gibt es ein Script dafür, dass man nicht mehr als zum Beispiel 200 Gewichtseinheiten in eine Kiste reintung kann? (Das Encumbrance-Umstellen funktioniert leider nicht!)
 
Zuletzt bearbeitet:
Ähm..ich hab mir mal erlaubt das zu testen..und es funktioniert. Also nochmal.
Du benötigst 2 verschiedene Truhen. Die erste sollte dem Spieler gehören und in einem Spielereigenen Interior stehen, damit die Objekte nicht respawnen. Diese Kiste bekommt eine Referenz (nicht die ID!) z.B. "tollekisteRef" und den Haken bei Persistent Reference.
Die zweite Truhe bekommt folgendes Objectscript verpasst:
PHP:
scn kistenscript
 
begin onactivate
tollekisteRef.activate player 
end
Diese Truhe stellst Du dann einmal nach Skingrad und Kaiserstadt.

Wen Du die anklickst öffnet sich die Referenztruhe statt der eigentlich angeklickten.
Das habe ich getestet..es funktioniert. Ist im Prinzip das gleiche wie meine Überalltruhe, nur nicht als Zauber.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Akasha
Hallo,
ich suche ein Script. Ihr lacht jetzt sicher aber ich kenne mich überhaupt nicht damit aus und raffe überhaupt nix davon.:oops:(Kennt vlt einer ein Tutorial wo auch die ganzen Befehle und Codes erklärt werden?). Es soll ein Script sein welches eine Tür öffnet sobald man die HQ abgeschlossen hat.
 
Hallo,

Ich benötige leider schon 4 skripte für meine Mod. Leider habe ich keine Ahnugn von skripten und bitte um eure hilfe.

Der erste Skript soll das Torgitter öffnen, wenn man den schalter aktiviert.
Der 2. Skript soll ab einer bestimmten Uhrzeit, die Tore in meine Mod schließen und erst bei einer bestimmten Zeit wieder öffnen
der 3. skript soll in einer truhe wöchentlich einen bestimmten betrag an gold hineintun
der 4. skript soll die Wandlampen in einer bestimmten Zeit ausmachen.

mfG Friedolin2
 
Zuletzt bearbeitet:
Hallo,
ich suche ein Script. Ihr lacht jetzt sicher aber ich kenne mich überhaupt nicht damit aus und raffe überhaupt nix davon.:oops:(Kennt vlt einer ein Tutorial wo auch die ganzen Befehle und Codes erklärt werden?). Es soll ein Script sein welches eine Tür öffnet sobald man die HQ abgeschlossen hat.
Code:
scn Tueroeffner

short doonce

Begin GameMode
if (getstage MQ16 => 80) && (doonce == 0)
unlock
set doonce to 1
end
Das Script dann einfach auf die Tür. :)

Der erste Skript soll das Torgitter öffnen, wenn man den schalter aktiviert.
Ich schlage vor, du nimmst einfach einen ganz normalen Schalter (die Hebel in der Burg sind zu finden unter Activator -> Dungeons -> FortRuins -> Dungeon -> "RFSwitchLever01") und setzt als dessen ParentID das jeweils zugehörige Tor ;)

Der 2. Skript soll ab einer bestimmten Uhrzeit, die Tore in meine Mod schließen und erst bei einer bestimmten Zeit wieder öffnen
dazu einfach den Teil in das Script des Hebels einbauen:
Code:
Begin GameMode ;musst du nicht neu schreiben, steht sowieso schon da, also einfach Folgendes zwischen das "Begin" und "end" schreiben

if (open == 1) && (GameHour == 20)

ParentRef.activate MySelf 1

elseif (open == 0) && (GameHour == 8)

ParentRef.activate MySelf 1

endif
Allerdings kann man mit dem Script weiterhin die Tore mit den Hebeln öffnen... :?

der 3. skript soll in einer truhe wöchentlich einen bestimmten betrag an gold hineintun
Code:
scn Truhenscript

short doonce

Begin GameMode

if (doonce == 0)
additem Gold001 500
set doonce to 1
elseif (doonce == 1) && (GetDayOfWeek == 0)
additem Gold001 500
set doonce to 2
elseif (doonce == 2) && (GetDayOfWeek == 6)
set doonce to 1
endif

end
Den Betrag des Goldes kannst du natürlich verändern, wie du willst. Die "GetDayOfWeek" Abfrage kannst du ebenfalls abändern, wenn das Geld nicht (wie hier) jeden Sonntag (Sundas) hinzugefügt werden soll. Die zu den einzelnen Wochentagen zugehörigen Zahlen sind:
Sundas = 0
Morndas = 1
Tirdas = 2
Middas = 3
Turdas = 4
Fredas = 5
Loredas = 6

Also jeweils da, wo jetzt 0 steht den Tag hinschreiben, an dem es erscheinen soll und dort, wo jetzt 6 steht einfach eine Zahl niedriger als die andere Abfrage.


der 4. skript soll die Wandlampen in einer bestimmten Zeit ausmachen.
in der Annahme, dass es Lampen mit Standartmeshes sind
Code:
scn LampenScript

Begin GameMode
if (GameHour == 8)
removeflames
elseif (GameHour == 20)
addflames
endif
end
 
Stimmt...

Bei mir klappts allerdings nur einmal
(z.B. Schädel in Kiste A; Kiste B öffnen und Schädel raus; Kiste A lässt sich nicht mehr öffnen)

Ich werd mal versuchen auf beide Kisten einen Script zu legen. Vielleicht klappts dann 100%.

Trotzdem danke! Hast mir sehr geholfen!
 
@Arcanum
Danke für die Hilfe leider funktioniert da was nicht. Immer wenn ich das Script speichern will kommt die Meldung ich hätte in Zeile 6 einen Ausdrucksfehler und dann steht da noch was von Syntax. Was muss ich jetzt machen?
 
Vielen Dank für die Skripte aber bei 2 habe ich ein Problem
Ich schlage vor, du nimmst einfach einen ganz normalen Schalter (die Hebel in der Burg sind zu finden unter Activator -> Dungeons -> FortRuins -> Dungeon -> "RFSwitchLever01") und setzt als dessen ParentID das jeweils zugehörige Tor

Was soll ich da machen? Kannst du es ein bissle genauer sagen, bitte:-D

Begin GameMode ;musst du nicht neu schreiben, steht sowieso schon da, also einfach Folgendes zwischen das "Begin" und "end" schreiben

if (open == 1) && (GameHour == 20)

ParentRef.activate MySelf 1

elseif (open == 0) && (GameHour == 8)

ParentRef.activate MySelf 1

endif

was soll ich bei Myself 1 reinschreiben?
 
@Arcanum
Danke für die Hilfe leider funktioniert da was nicht. Immer wenn ich das Script speichern will kommt die Meldung ich hätte in Zeile 6 einen Ausdrucksfehler und dann steht da noch was von Syntax. Was muss ich jetzt machen?
ARGH!! Sry, hab das "endif" vergessen... so müsste es klappen :lol:
Code:
scn Tueroeffner

short doonce

Begin GameMode
if (getstage MQ16 => 80) && (doonce == 0)
unlock
set doonce to 1
[B]endif[/B]
end
Friedolin2 schrieb:
Was soll ich da machen? Kannst du es ein bissle genauer sagen, bitte:-D
Also: Ich gehe jetzt einfach mal davon aus, dass die Tore solche Acivator-Tore sind, wie man sie in Fort Ruinen findet (falls nicht, bitte sagen^^). Diese Tore also hinsetzen, wo sie hin sollen und ebenso die Schalter (Wo sie im CS zu finden sind steht ja oben). Die Schalter musst du jetzt doppelklicken und im sich neu öffnenden Fenster unter dem Reiter "ParentRef" das zugehörige Tor auswählen (geht am einfachsten, indem du auf "Select Reference in Render Window" klickst und dann mit dem neuen Cursor das Tor doppelklickst).
Als Resultat des Ganzen sollte jetzt ingame so aussehen, dass die Tore geschlossen sind, jedoch sobald man den Hebel aktiviert die beiden Animationen (des Tores und des Hebels) angezeigt werden und nun das Tor offen steht.


Und das MySelf kannst du einfach so lassen, wie es da steht. Ist eine Variable, die von dem normalen Script festgelegt wird. :)