I have tried to create a set of scripts that will work in multiplayer which will randomly generate a number, and then sync this number with clients so that they will know which mission needs to be spawned (there is going to be multiple little missions within this one mission, randomly picked). However, when I host this on a non-dedi server and have people join, only I see the hints and get the tasks show up, noone else does. It does not seemingly work if someone JIP's either. Can someone help me out here?
Heres the mission file:
http://dl.dropbox.com/u/28062918/mmt2.utes.rar
init.sqf:
main.sqf:Code:publicVariable "ambushSite"; player globalChat "Initialising Mission"; sleep 5; numberOfSites = 2; if(isServer) then { _ambushSite = 1 + (round random (numberOfSites-1)); publicVariable "ambushSite"; player setVariable ["ambushSite", _ambushSite, TRUE]; }; // if ((!isServer) && (player != player)) then // { // waitUntil {player == player}; // }; processInitCommands; finishMissionInit; player globalChat "Mission Initialisation Complete"; sleep 30; execVM "main.sqf";
mission1.sqf:Code:publicVariable "ambushSite"; _ar4 = player getVariable ["ambushSite", 0]; if(_ar4 == 1)then{ hint "its 1"; execVM "missions\mission1.sqf"; }; if(_ar4 == 2)then{ hint "its 2"; execVM "missions\mission2.sqf"; };
mission2.sqf:Code:_nm = 1; //add new mission tskObj1 = player createSimpleTask["Primary: Patrol"]; tskObj1 setSimpleTaskDescription["Patrol along the given route.", "Patrol", "Patrol"]; //trigger creation _triggeram1 = createTrigger["EmptyDetector",[3500,3500,0]]; _triggeram1 setTriggerArea [160,160,0,false]; _triggeram1 setTriggerActivation ["ALPHA","PRESENT",true]; _triggeram1 setTriggerTimeout [1,1,1,true]; _triggeram1 setTriggerStatements ["this", "hint 'meh'; dude = 1; publicVariable 'dude'; player setVariable ['dude', dude, TRUE];", "hint 'trigger off'"]; //marker generation _Marker3 = createMarker ["Marker3", [3500,3500]]; "Marker3" setMarkerShape "RECTANGLE"; "Marker3" setMarkerSize [50,50]; while{_nm == 1} do { _ar5 = player getVariable ["dude", 0]; sleep 10; hint "working"; if(_ar5 == 1) then { hint "You've done it right"; numberOfSites = 1; if(isServer) then { _ambushSite = 2 + (round random (numberOfSites-1)); player setVariable ["ambushSite", _ambushSite, TRUE]; }; sleep 60; hint "loading"; execVM "main.sqf"; _nm = 0; }; };
Thank you for any help in advance.Code:_nm = 1; //add new mission tskObj2 = player createSimpleTask["Primary: Patrol2"]; tskObj2 setSimpleTaskDescription["Patrol along the given route.", "Patrol2", "Patrol2"]; //trigger creation _triggeram2 = createTrigger["EmptyDetector",[3550,3550,0]]; _triggeram2 setTriggerArea [160,160,0,false]; _triggeram2 setTriggerActivation ["BRAVO","PRESENT",true]; _triggeram2 setTriggerTimeout [1,1,1,true]; _triggeram2 setTriggerStatements ["this", "hint 'meh'; dude1 = 1; publicVariable 'dude1'; player setVariable ['dude1', dude1, TRUE];", "hint 'trigger off'"]; //marker generation _Marker3 = createMarker ["Marker4", [350,350]]; "Marker4" setMarkerShape "RECTANGLE"; "Marker4" setMarkerSize [50,50]; while{_nm == 1} do { _ar5 = player getVariable ["dude1", 0]; sleep 10; hint "working"; if(_ar5 == 1) then { hint "You've done it right"; numberOfSites = 1; if(isServer) then { _ambushSite = 1 + (round random (numberOfSites-1)); player setVariable ["ambushSite", _ambushSite, TRUE]; }; sleep 60; hint "loading"; execVM "main.sqf"; _nm = 0; }; };
HOME
Reply With Quote


):