Hi,
das Script im Eröffnungspost ist veraltet, überholt und absoluter Schrott, sry ...
zu 1.) Nein es ist nicht egal. Vergebene Referenzen müssen immer absolut gleich sein, sonst kann das Spiel sie nie zuordnen. Für den Computer sind das nur Buchstabenfolgen, er weiß nicht, dass du mit Kreatur und Creatur das gleiche meinst.
Desweiteren fehlt (auch schon im Tut) hinter der if-Schleife ein endif - also vor dem ersten "End" müsste in eine weitere Zeile ein "endif" eingefügt werden.
Jetzt kommt das größte Aaaaaaber:
Diese Art zu Scripten wird mittlerweile von allen als recht bedenklich angesehen. Das Problem liegt in dem PlaceAtMe-Befehl, der immer und immer neue Referenzen erzeugt, die dann in der Spielwelt stehen gelassen und nur "unsichtbar" (disable) gemacht werden. Das führt auf Dauer zu einer unnötigen Belastung und einer Verschlechterung der Performance, Verlängerung der Ladezeiten ... etc.
Vor allem Zauber stellen das größte Problem dar, da sie ja unter Umständen doch recht häufig angewandt werden.
Besser wäre es, deine Beschwörungskreaturen in eine extra Zelle mit Markern zu stellen, ihnen Ref-IDs zuzuweisen und statt mit PlaceAtMe mit MoveTo player zu arbeiten. Erfüllt fast den gleichen Zweck, ist jedoch wesentlich schonender für das Spiel.
Allerdings wären dann ein Paar Sachen bzgl deren HP und Tod zu beachten.
Also:
neue Dummy-Zelle erstellen => AAADummyCell
in die Zelle drei X-Marker mit einer Ref-ID AAABeschwMarkerRef01, AAABeschwMarkerRef02, ...MarkerRef03
und die drei Menschen, ebenfalls mit Ref-ID AAABeschwMenschRef01, ...Ref02, ...Ref03
scn ...
short isCasted
begin ScriptEffectStart
if isCasted == 0
AAABeschwMenschRef01.moveto player
AAABeschwMenschRef02.moveto player
AAABeschwMenschRef03.moveto player
set isCasted to 1
endif
end
begin ScriptEffectFinish
AAABeschwMenschRef01.moveto AAABeschwMarkerRef01
if AAABeschwMenschRef01.getDead == 1
AAABeschwMenschRef01.resurrect
else
AAABeschwMenschRef01.resetHealth
endif
AAABeschwMenschRef02.moveto AAABeschwMarkerRef02
if AAABeschwMenschRef02.getDead == 1
AAABeschwMenschRef02.resurrect
else
AAABeschwMenschRef02.resetHealth
endif
AAABeschwMenschRef03.moveto AAABeschwMarkerRef03
if AAABeschwMenschRef03.getDead == 1
AAABeschwMenschRef03.resurrect
else
AAABeschwMenschRef03.resetHealth
endif
set isCasted to 0
End
Ich konnte es jetzt nicht testen. Falls noch Probleme oder Fragen auftauchen, meld dich einfach.
Leila