Julian zwingt mich was dazu zu schreiben, also:
MIt der Trigger Include kann man kleine "Events" erstellen, die ausgelöst werden wenn ein Spieler in einem bestimmten Radius um das Erstellte event herum ist.
Also praktisch so ähnlich wie Pickup + OnplayerPickupPickup, nur mit dem unterschied das man kein Pickup setzen muss, und man nicht genau an dem Punkt sein muss sondern nur in einem Bestimmten Radius den man beim erstellen angibt.
Funktionen:
CreateTrigger(Float:PositionX, Float:PositionY, Float:PositionZ, Float:Range, playerid = INVALID_PLAYER_ID, vehicleid = INVALID_VEHICLE_ID, VirtualWorld = -1, Interior = -1)
Erstelt ein Event.
Parameter:
PositionX, PositionY, PositionZ = Die Position an der Das Event platziert wird.
Range = Der Radius um den angegebenen Punkt herum, in dem sich der Spieler befinden muss um das Event auszulösen.
Optional:
playerid = die ID des Spielers der das Event auslösen kann. INVALID_PLAYER_ID Bedeutet das Event wird von jedem Spieler ausgelöst.
vehicleid = die Fahrzeug ID des Spielers von der das Event ausgelöst wird, INVALID_VEHICLE_ID beduetet das Event wird ausgelöst egal in welchem Fahrzeug der Spieler sitzt.
VirtualWorld = Die Virtuelle Welt in der der Spieler sein muss um das event auszulösen. Wenn man -1 angibt, wird das event in jeder Virtuellen Welt ausgelöst.
Interior = Das Interior in dem der Spieler sein muss um das Event auszulösen. Wenn man -1 angibt wird das Event in jedem Interior ausgelöst.
Rückgabe:
CreateTrigger gibt die triggerID des Events zurück.
ToggleTrigger(triggerID, bool:toggle)
De-/Aktiviert ein Event.
Parameter
triggerID = die ID des Events das De-/activiert werden soll.
toggle = Ob das Event aktiviert (true) oder Deaktiviert(false) werden soll.
DestroyTrigger(triggerID)
Zerstört ein Event.
Parameter
triggerID = die ID des Events das zerstört werden soll.
Callback:
OnPlayerHandleTrigger(playerid, triggerID)
Wird aufgerufen wenn ein Event ausgelöst wird.
Parameter:
player = die ID des Spielers der das Event ausgelöst hat.
triggerID = die ID des Events das ausgelöst wurde.
Wenn ihr foreach verwendet, inkludiert foreach vor der Trigger Include damit Trigger Include darauf zugreifen kann.
MAX_TRIGGER gibt die Maximale anzahl an Events an die erstellt werden können. Wenn ihr mehr als 20 Braucht, schreibt
#define MAX_TRIGGER XXXX // XXX = die Anzahl eurer Events
in euer script bevor ihr Trigger inkludiert.
Wem der Timer zu schnell läuft (500 MS), kann einfach
#define TRIGGER_CHECK XXX // XXX = Der Timer Intervall in MS
ins script schreiben bevor Trigger inkludiert wird.
Pastebin: http://pastebin.com/JkvtmZeL
Haf Phun!
PS: Ein event wird unendlich oft aufgerufen solange ein Spieler nah genug dran ist, also solltet ihr das Event unter OnPlayerHandleTrigger lieber deaktivieren wenn ein Spieler es auslöst