Hallo
Für mein Plugin, ein Spielerhaus, das mit zunehmendem Fortschritt wächst, habe ich einen Teleporterring geplant, der einen von jedem beliebigen Ort ins Haus teleportiert. Ein Kristall im Haus soll einen dann wieder an den Ausgangspunkt zurückbringen. Da ich keine Möglichkeit gefunden habe, den aktuellen Zellennamen (bei Interiors) in einer Variable abzulegen - und damit auch keine Möglichkeit "PositionCell" zu verwenden - habe ich mir mit einem Trick beholfen: Der Ring verwendet eine "Fähigkeit" (Zauber), die "Markieren" bzw. "Rückkehr" mit "Always Succeds" wirkt. Ich muss dies kurz erwähnen, da sonst unweigerlich die Frage aufkommen würde, was für ein Spruch "dap_mark" ist.
Hier jetzt erstmals das Script, Problembeschreibung folgt darunter:
Die Markierung wird gesetzt (äh, bitte nicht missverstehen :-D ), aber es erfolgt kein Teleport ins Haus. Ich vermute, die Abfrage des Timers (Variable "zeit") ist irgendwie fehlerhaft und alles danach wird nicht mehr ausgeführt.
Sieht irgendjemand grade, was ich da falsch gemacht habe?
Gruss
Kensen
Für mein Plugin, ein Spielerhaus, das mit zunehmendem Fortschritt wächst, habe ich einen Teleporterring geplant, der einen von jedem beliebigen Ort ins Haus teleportiert. Ein Kristall im Haus soll einen dann wieder an den Ausgangspunkt zurückbringen. Da ich keine Möglichkeit gefunden habe, den aktuellen Zellennamen (bei Interiors) in einer Variable abzulegen - und damit auch keine Möglichkeit "PositionCell" zu verwenden - habe ich mir mit einem Trick beholfen: Der Ring verwendet eine "Fähigkeit" (Zauber), die "Markieren" bzw. "Rückkehr" mit "Always Succeds" wirkt. Ich muss dies kurz erwähnen, da sonst unweigerlich die Frage aufkommen würde, was für ein Spruch "dap_mark" ist.
Hier jetzt erstmals das Script, Problembeschreibung folgt darunter:
begin dap_anw_mark
short transport
short wahl
short zeit
short OnPCEquip
If (MenuMode)
return
Endif
If (OnPCEquip == 1)
If (transport == 0)
set transport to 1
set OnPCEquip to 0
Endif
Endif
If (transport == 1)
Player->addspell,dap_mark
set transport to 2
Endif
If (transport == 2)
set zeit to (zeit + GetSecondsPassed)
If (zeit > 1.2)
set transport to 3
Endif
Endif
If (transport == 3)
Player->Removespell, dap_mark
set transport to 4
Endif
If (transport == 4)
Player->PositionCell,-320,32,-200,90,"Gehöft, Hauptgebäude"
set transport to 0
Endif
end dap_anw_mark
Die Markierung wird gesetzt (äh, bitte nicht missverstehen :-D ), aber es erfolgt kein Teleport ins Haus. Ich vermute, die Abfrage des Timers (Variable "zeit") ist irgendwie fehlerhaft und alles danach wird nicht mehr ausgeführt.
Sieht irgendjemand grade, was ich da falsch gemacht habe?
Gruss
Kensen