Ich müsste mal was zur Script plazierung fragen.
Also ich selber bin Webdesigner und "andere" skriptsprachen gewöhnt,
das hier ohne { und } bzw ; verwirrt mich sowieso schon gewaltig.
Jetzt kann ich das hier am ehesten mit der Aurora sprache in NeverwinterNights vergleichen, welcher ich auch mächtig bin, jedoch wurden da dinge "einfacher" gehandelt. Ein NPC hatte einen Slot für gewisse ereignisse, in dem man ein Skript plazieren kann.
z.B. einen Slot der hieß "OnDeath", jedes Script was dort liegt, wird ausgeführt, wenn der NPC stirbt.
Jetzt ist die frage, wo man so ein Skript hier hinlegt.
Also ich hab ein Haus voller Gegner, wenn der letzte Tot ist, soll ein Skript ziehen. für gewöhnlich würde ich da sowas machen wie:
In einer Flash anwendung wüde dieses Script jetzt so lange laufen, bis die bedingung erfüllt ist.
Frage bleibt, wo lege ich ein solches Script im GECK ab? Also, läuft eine Quest konstant und registriert alle welt-ereignisse? Oder muss ich jedem NPC-Gegner eine "I + 1" skript geben? Wenn ja, wer ist dann auslöser für "I == Voll - weiter gehts".
Woah.. das verwirrt mich hier.
In einem Bethesta tutorial Video sah ich, das die manche Activatoren über aufziehbare Boxen geregelt haben. Aber ich kann ja nicht die ganze Welt in eine Box ziehen. (Bzw.. ich kann sicher, aber das kann ja nich der sinn sein ^^).
Hoffe das mir da wer helfen kann.
Ps. Ich weiß das mein Script nicht "GECK-Konform" ist, aber die richtige Symantik bzw. Grammatik bring ich schon selbst in erfahrung. Zur not frag ich nochmal.
Wichtig is erstmal, dass ich nen ansatzpunkt hab, wohin son skript überhaupt gepackt wird.
Ich bin jetzt kein Profi, aber ich würde es so lösen:
Weg 1
Der korrekte Befehl würde
Begin onDeath
if irgendwas....
set xxxx
endif
END
lauten. Das würdest du dann in den NPC als SKRIPT legen, wobei es sich erst aktiviert, wenn der abkratzt.
Weg 2
Ein Aktivator, eine Box, der du das Skript zuweist. Dort wäre dann ein
Begin GameMode
if deathcount == xx
set xxxx
endif
END
sinnvoll, das läuft dann immer, auf jeden Fall wenn der Player die Zelle betritt. Eventuell ist dann eine globale Variable nötig, damit der Deathcount sauber zählt, vielleicht reicht auch eine short Variable im Skript.
Du kannst auch mit GetDistance die Entfernung zum Spieler abfragen, die dann eine if Bedingung abfragt, ob der deathcount schon erreicht ist oder ob eine bestimme Person mit xxx.GetDead == 1 schon hinüber ist oder mit == 0 noch lebt.