Autor |
|
|
|
|
Jeder kennt das Thema - wie oft könnte man das gebrauchen, aber leider funktioniert das:
PLOOP
GLOOP burn
if ssnnearssn(player,item,5) then
ssnaddhp(v17,-75)
endif
END
END
nicht. Die internen Variablen "player" und "item" können nicht zusammen verwendet werden. Weder im PLOOP noch im GLOOP.
Was wenn man es aber trotzdem braucht/verwenden möchte... was kann man tun damit die gleiche Funktion für ein Ereignis ausgelöst wird?
... Man muss das Programm ein wenig austricksen und auch hier mach ich das, in dem ich eine eigne Variable verwende. Ihr merkt sicherlich dass ich sehr viel mit Variablen arbeite. Dies liegt daran dass man mit den eigenen Variablen einfach fast keine Einschränkungen mehr hat, denen normale Wac-Befehle nunmal einfach unterliegen.
Zurück zum PLOOP im GLOOP mit Verwendung einer Variablen. In meinem Beispiel habe ich optische Feuereffekte in die Map plaziert. Diese Feuereffekte haben ja bekanntlich keine Auswirkung auf die Gesundheit des Spielers, was natürlich sehr unrealistisch ist. An Feuer kann man sich nunmal verbrennen Da der Feuereffekt aber dem Spieler nicht schadet, steuere ich mit diesem PLOOP im GLOOP dass wenn ein Spieler in das Feuer geht, auch entsprechend Schaden nimmt.
Das Script:
if !v16 then
PLOOP
v17 = player
GLOOP burn
if ssnnearssn(v17,item,5) then
ssnaddhp(v17,-75)
endif
END
END
endif
Mit V16 schalte ich die LOOPs nach eigenen Wunsch an oder aus, den LOOPs laufen ja ständig und zuviele LOOPs gleichzeitig, die das ganze Spiel lang abgefragt werden, können Probleme verursachen.
Im PLOOP gebe ich v17 die Nummer des Players (denkt dran, der PLOOP fragt jeden einzelnen Spieler der Map hintereinander ab). Nun ist aus "player" als eine Variable geworden.... also nur noch eine Nummer. Mit dieser Variable(Nummer) gehe ich in den GLOOP und frage im GLOOP nur noch ab ob diese Nummer sich neben/ihn einem der Feuer aus der Gruppe "burn" befindet. Wenn ja, dann zieh diesem Spieler Gesundheit ab.
Danach läuft der PLOOP wie oben bereits beschrieben ja mit dem nächsten Spieler. V17 wird also zu der Nummer des nächsten Spielers und die GLOOP Abfrage startet von Neuem.
 |
Mittlerweile kann ich schon ein bissl was  |
|
Beitrag vom 09.01.2019 - 09:57 |
|