Autor |
|
|
lebende Bots aus einem Bereich jagen den Spieler |
|
|
|
Dieses Script eignet sich eigentlich nur für offene Maps, das heißt sie sind in Stadtmaps nicht wirklich sinnvoll.
In einer offenen Map(Wald und Wiese) versucht man ja die Bots immer so zu platzieren dass der Spieler auch doch ein wenig seine Arbeit damit hat. Manchmal setzt man Bots auch nicht unbedingt mitten rein(Sniper, Javelin, u.s.w.) manchmal laufen Patrouille auf Wegen die vom Spieler zu dem Zeitpunkt nicht beschritten werden. Diese Bots wären dann theoretisch noch am Leben wenn der Spieler schon vorbei wäre und hätten keine Funktion. Nun könnte man sie an andere Stelle teleportieren oder eben man schickt sie auf die Jagd nach dem Spieler. Ich nehme in dem Fall einen Wegpunkt und setze in mitten in das Gebiet in dem das Hauptgeschehen ist. Für den optischen Überblick vergrößere ich den Radius des Wegpunkts (z.B. in Nile) auf 1000. Teilt die Wegpunkte so auf das etwa 3 Stück die komplette Map abdecken (ihr also 3 Bereiche habt die durchschritten werden). Durchschreiten nun die Spieler Bereich 1 (Wegpunkt 1 mit 1000 Radius), bleiben die Bots auf ihrer gesetzten Position stehen und Ärgern den Spieler solange er sich in Bereich 1 befindet. Verlässt ein Spieler diesen Bereich, folgen alle Bots (die in diesem Bereich 1 noch am Leben sind), diesen Spieler.
Voraussetzungen: Die gesetzten Wegpunkte die die Bereiche abdecken. Die Bots die innerhalb der Bereiche sind, sind in je ihrer Gruppe.
Kopierbar: Nein, da abhängig von Gruppennamen und SSN der Wegpunkte
PLOOP
if ssnnearssn(player,199115,1000) leave
v3 = player
endif
if chain(3) then
GLOOP BotgruppeBereich1
ssn2ssn(item,v3)
END
endif
END
PLOOP
if ssnnearssn(player,198345,1000) leave
v3 = player
endif
if chain(3) then
GLOOP BotgruppeBereich2
ssn2ssn(item,v3)
END
endif
END
PLOOP
if ssnnearssn(player,176851,1000) leave
v3 = player
endif
if chain(3) then
GLOOP BotgruppeBereich3
ssn2ssn(item,v3)
END
endif
END
Auch hier ist es sinnvoll mit einer Variable die einzelnen PLOOPs ein und auszuschalten damit nicht zuviele LOOPs gleichzeitig die Wac belasten. Macht die Variable abhängig von einem Sinnvollen Ereignis nach den einzelnen Bereichen. Beispiel ein PSP außerhalb des Bereichs wurde übernommen und schaltet die Variable +1.
Das heißt Der erste PLOOP startet vllt so:
if !v160 then
PLOOP
if ssnnearssn(player,199115,1000) leave
v3 = player
endif
if chain(3) then
GLOOP BotgruppeBereich1
ssn2ssn(item,v3)
END
endif
END
endif
Danach kommt ein Ereignis dass die V160 ändert:
If ssnnearssn(xxx,xxx,2) and never then
V160 = 1
endif
hierdurch schaltet ihr nun den LOOP für Bereich 2 frei mit
If V160 == 1 then
PLOOP
if ssnnearssn(player,198345,1000) leave
v3 = player
endif
if chain(3) then
GLOOP BotgruppeBereich2
ssn2ssn(item,v3)
END
endif
END
endif
Genauso verfahrt ihr mit dem 3. LOOP
Was macht das Script?
Es fragt einfach nur ab ob ein Spieler den Bereich/das Gebiet verlässt. Ist dies der Fall, bekommt die Variable v3 die Nummer des Spielers der den Bereich verlassen hat und alle Bots der Gruppe, die noch leben, jagen ihn. Durch den Leave-Befehl wenn ein Spieler einmal in dem Bereich war und ihn dann verlässt, Das heißt, ist die Jagd der Bots erfolgreich und der Spieler stirbt, wird das Event erneut ausgelöst wenn er nach dem Respawnen wieder durch den Bereich läuft und ihn dann verlässt.
 |
Mittlerweile kann ich schon ein bissl was  |
Dieser Beitrag wurde 3 mal editiert, zuletzt von sleepless am 09.01.2019 - 14:09.
|
Beitrag vom 09.01.2019 - 12:12 |
|