
W init wyzwalacza który ma ustawioną detekcję na ktokolwiek (tak musi być, bo jednostki mam z addrating -99999) wpisuję np:
Kod: Zaznacz cały
nul=[this, 100, "Nazwa miasta"] execVM "occuped.sqf"
Kod: Zaznacz cały
_unit = _this select 0;
_zasieg = _this select 1;
_miasto = _this select 2;
_wykryte = nearestObjects [_unit, ["Man"], _zasieg];
_komunikat = format[" jest okupowane przez: %1", _wykryte];
_outmsg1 = composeText [_miasto,_komunikat];
sleep 1;
hint _outmsg1;
Gdy skrypt przypiszę do czegoś innego np do żołnierza
Kod: Zaznacz cały
nul=[p1, 100, "Nazwa miasta"] execVM "occupedPRO.sqf";
Proszę o pomoc.
edit:
Rozwiązałem problem, w ten sposób
tworzę objekt game logic, nazywam go np. FF1 i umieszczam przy wyzwalaczu.
Wyzwalacz, aktywacja na ktokolwiek, zasięg np 100 na 100, powtarzalnie, w init:
Kod: Zaznacz cały
(count thislist) >=2
Kod: Zaznacz cały
nul=[FF1, 100, "Nazwa miasta",20] execVM "occuped.sqf"
Kod: Zaznacz cały
_unit = _this select 0;
_zasieg = _this select 1;
_miasto = _this select 2;
_pauza = _this select 3;
_wykryte = nearestObjects [_unit, ["Man"], _zasieg];
_wykrytezywe = [];
{if (alive _x) then {_wykrytezywe set [(count _wykrytezywe ),_x];};} foreach _wykryte;
while {(count _wykrytezywe) > 0} do
{
_wykryte = nearestObjects [_unit, ["Man"], _zasieg];
_wykrytezywe = [];
{if (alive _x) then {_wykrytezywe set [(count _wykrytezywe ),_x];};} foreach _wykryte;
_komunikat = format[" jest okupowane przez: %1", _wykrytezywe];
_outmsg1 = composeText [_miasto,_komunikat];
_chatmsg1 = _miasto+_komunikat;
// hint _outmsg1;
admin globalChat _chatmsg1;
sleep _pauza;
sleep 2;
};

edit:
problem rozwiązany
Kod: Zaznacz cały
// trigger condition. (count thislist) >=2
// trigger on act. abc=[FF1, 10, "MIASTO", 1] execVM "occupedmb.sqf"
// game logic object FF1
_unit = _this select 0;
_zasieg = _this select 1;
_miasto = _this select 2;
_pauza = _this select 3;
_wykryte = nearestObjects [_unit, ["Man"], _zasieg];
_wykrytezywe = [];
while {true} do
{
_wykryte = nearestObjects [_unit, ["Man"], _zasieg];
_wykrytezywe = [];
{if (alive _x) then {_wykrytezywe set [(count _wykrytezywe ),_x];};} foreach _wykryte;
_komunikat = format[" jest okupowane przez: %1", _wykrytezywe];
_outmsg = composeText [_miasto,_komunikat];
_chatmsg1 = _miasto+_komunikat;
if ((count _wykrytezywe) >= 1) then {admin globalChat _chatmsg1};
// if ((count _wykrytezywe) >= 1) then {hint _outmsg1} else {exit};
sleep _pauza;
};