Hi Leutz,
Ich hätte mal eine Frage:
Gibt es irgendwo im Internet eine Art Anleitung wo alle Befehle fürs scripten aufgelistet sind, abgesehen von den Tutorials?
Druckbare Version
Hi Leutz,
Ich hätte mal eine Frage:
Gibt es irgendwo im Internet eine Art Anleitung wo alle Befehle fürs scripten aufgelistet sind, abgesehen von den Tutorials?
Ich habgrad selber noch etwas weitergesucht und bin auf eine Seite gestoßen: http://www.avantares.de/tesiv-cs/Script/befehle.html
Mit Hilfe davon hab ich mal ein Script gemacht, jetzt würde ich gerne wissen, ob das Funltionieren würde:
Zitat:
ScriptName TestScript555555
Begin GameMode
if x == 0
Message "Du bist toll!"
set x == 1
endif
if (GetItemCount Gold001 >= 50)
if x == 2
SetWeather clear
sw OblivionStormTamriel 1
set x == 3
endif
if x == 3
GetGold 1000
endif
End
Nein, das würde nicht funktionieren. Ich überarbeite das script mal:
Jetzt wäre nur das Problem, dass das alles dann stattfinden würde wenn man dieses Script aktiviert. Gleichzeitig. Und außerdem könnte man dieses Script beliebig oft anwenden.Code:ScriptName TestScript555555
short x
Begin GameMode
if x == 0
Message "Du bist toll!"
set x == 1
endif
if (GetItemCount Gold001 >= 50)
set x == 2
endif
if x == 2
SetWeather clear
sw OblivionStormTamriel 1 Ich hab keine Ahnung was diese Zeile für eine Bedeutung haben soll. Vielleicht könntest du mir das mal erläutern, hier könnte z.B. ein Fehler drin stecken.
set x == 3
endif
if x == 3
player.additem Gold001 1000 Was wolltest du genau mit GetGold ausdrücken? Dass der Spieler 1000 Gold bekommen sollte?
endif
End
Also, ich hab auch keine Ahnung, was das "sw OblivionStormTamriel 1" bedeuten soll.
Wie könnte man machen dass es keine Endlosschleife wäre?
Da wollt ich eigentlich nur testen ob ich das genau verstanden hab, aber ich glaub ich muss es mir auf jeden Fall noch ein paar mal anschauen, bis ichs vollkomen kapiert habe.
Edit:
kann man auch scripten, dass man geheilt wird?
List of Functions im CS-Wiki
zu deinem Script:
nach einem Set-Befehl kommt ein to und kein ==
SetWeather/sw
Falls du die WeatherOverrideFlag auf eins setzt vergiss nicht am Ende noch ReleaseWeatherOverride zu benutzen um normales Wetter zu ermöglichen.
Um eine Endlosschleife zu verhindern setzt du eine Variable einfach auf einen best. Wert und fragst dann ab ob die nicht der Wert ist (Andere Werte abfragen und dann den Wert einfach ignorieren und kein else verwenden tut's auch).
Ich würde vor dem GetGold noch eine Abfrage einbauen, ob x == 1 ist.
Statt ständigem If-endif/If-endif würde ich auch mal elseif verwenden.
@Zetter: Kommentare beginnen immer mit einem ;, dann wird der Rest der Zeile (dein Kommentar) auch nicht compiliert
Sähe dann so aus:
Code:ScriptName TestScript555555
short x
Begin GameMode
if ( x == 0 )
Message "Du bist toll!"
set x to 1
elseif ( x == 2 ) && ( Player.GetGold >= 50 )
set x to 2
elseif ( x == 2 )
SetWeather clear
sw OblivionStormTamriel 1 ;verändert das Wetter zu OblivionStormTamriel
set x to 3
elseif ( x == 3 )
player.additem Gold001 1000 ;GetGold gibt's zwar auch, überprüft aber den Goldstand in der Kasse des Calling Actors
set ( x to 4 )
endif
End
Edit:
Kann man entweder, indem man einen Zauber/eine Eigenschaft mit Lebensenergie wiederherstellen hinzufügt (addSpell) und danach wieder entfernt.Zitat:
Zitat von flobby
Alternativ kann man auch den OBSE-Befehl ModActorValue2 verwenden (Parameter: Health).