Nirn.de

Gast

Thema: Zauberbuch für n00bs  (Gelesen 44058 mal)

  • Neuling
    • Neuling
naja das ö war ja nicht meine idee, das steht so im eröffnungspost, ich bin halt davon ausgegangen das das script getestet wurde bevor es hier gepostet wurde

kannst du meine erste frage auch noch beantworten pls ?
  23.03.2010, 18:39
  • Offline


  • Neuling
    • Neuling
egal was ich mache, es kommt IMMER irgendein fehler, jedesmal ein anderer, kann mal wer das script verbessern und dann die richtige version hier reinstellen ?
  24.03.2010, 12:16
  • Offline


  • Aspirant
    • Magiergilde
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

Code
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
Im Leben ist nichts kostenlos ...

... selbst der Tod kostet dich dein Leben.

[WIP] Ruine Mondlicht
  24.03.2010, 15:47
  • Offline