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