Einzelnen Beitrag anzeigen
Alt 18.02.2009, 10:02   #8 (permalink)
Vienna
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Ich verstehe nicht was du da genau machen willst. Nochmal mit Auslösern:


Wenn es nur der auslösende Spieler zu wissen braucht und das Skript nur bei ihm startet, dann ist eben das die Lösung:

Bedingung: Player distance Obj1 < 50
BeiAkt.: [Player] exec "scripts\test.sqs"


Wenn es alle Spieler wissen sollen wer ausgelöst hat und bei allen Spielern das Skript startet, dann halt so:

Bedingung: call{_a=false;{if(_x distance Obj1 < 50)then{_a=true;DerAuslösendeSpieler=_x}}forEach thislist;_a}
BeiAkt.: [DerAuslösendeSpieler] exec "scripts\test.sqs"


Eine andere Lösung wenn für alle das Skript starten soll:

InDistance = false (diese Variable muss bei allen Spielern gesetzt sein)

Bedingung: Player distance Obj1 < 50 OR InDistance
BeiAkt.: InDistance = true;publicVariable "InDistance";[] exec"scripts\test.sqs"

publicVariable setzt die Variable auf allen PC in neuen Zustand. publicVariable - Bohemia Interactive Community



Es könnte auch so gehen (der Befehl ist neu musst du testen):

InDistance = false
"InDistance" addPublicVariableEventHandler {if(_this select 1)then{[] exec"scripts\test.sqs"}}

Bedingung: Player distance Obj1 < 50
BeiAkt.: InDistance = true
Vienna ist offline   Mit Zitat antworten