From fa83b04381531ed065ac0c5baf47079d5f31cb44 Mon Sep 17 00:00:00 2001 From: fallingsheep Date: Sun, 8 Feb 2015 21:41:58 +1100 Subject: [PATCH] SEM missions system + VEMF fix --- @epochhive/addons/sem.pbo | Bin 0 -> 86524 bytes MPMissions/epoch.Altis.pbo | Bin 748347 -> 759090 bytes MPMissions/epoch.Altis/VEMFConfig.sqf | 149 ++++++++++++++++++++++++++ MPMissions/epoch.Altis/init.sqf | 34 +++--- MPMissions/epoch.Altis/semClient.sqf | 129 ++++++++++++++++++++++ 5 files changed, 297 insertions(+), 15 deletions(-) create mode 100644 @epochhive/addons/sem.pbo create mode 100644 MPMissions/epoch.Altis/VEMFConfig.sqf create mode 100644 MPMissions/epoch.Altis/semClient.sqf diff --git a/@epochhive/addons/sem.pbo b/@epochhive/addons/sem.pbo new file mode 100644 index 0000000000000000000000000000000000000000..e627a00dbe6a6986e177689cedfefecb03ae7faa GIT binary patch literal 86524 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"], - [((_this select 1) select 1),"align = 'center' size = '0.5'"] - ] - ] spawn BIS_fnc_typeText2; - VEMFChatMsg = nil; - }; -}; +ADMIN_LIST = ["76561198087015545","0","0"]; + //Status Bar [] execVM "custom\fn_statusBar.sqf"; @@ -50,4 +37,21 @@ _target = cursorTarget; _isbike = _target isKindOf "ebike_epoch"; if (_isbike) then{ player addaction [("" + ("PackBike") +""),"custom\packbike2.sqf","",5,false,true,"",""]; +}; +//SEM Missions +if(hasInterface)then{execVM "semClient.sqf"}; + +//VEMF Missions +if (!isDedicated) then { + "VEMFChatMsg" addPublicVariableEventHandler { + systemChat ((_this select 1) select 0); + [ + [ + [((_this select 1) select 0),"align = 'center' size = '1' font='PuristaBold'"], + ["","
"], + [((_this select 1) select 1),"align = 'center' size = '0.5'"] + ] + ] spawn BIS_fnc_typeText2; + VEMFChatMsg = nil; + }; }; \ No newline at end of file diff --git a/MPMissions/epoch.Altis/semClient.sqf b/MPMissions/epoch.Altis/semClient.sqf new file mode 100644 index 0000000..ba486fb --- /dev/null +++ b/MPMissions/epoch.Altis/semClient.sqf @@ -0,0 +1,129 @@ + /* KiloSwiss */ +if(isDedicated)exitWith{}; //Everything below this line is only executed on the client (player or local host) + +[] spawn { waitUntil{player == player && !isNil "SEM_version"}; sleep 50; + /* This is the advertisement. */ + private "_worldName"; + _worldName = switch(toLower worldName)do{ + case "bootcamp_acr" :{"Bukovina"}; + case "woodland_acr" :{"Bystrica"}; + case "chernarus_summer" :{"Chernarus (summer)"}; + case "mbg_celle2" :{"Celle"}; + case "isladuala" :{"Isla-Duala"}; + case "panthera2" :{"Panthera"}; + case "panthera3" :{"Panthera"}; + case "smd_sahrani_a2" :{"Sahrani"}; + case "sara" :{"Sahrani"}; + case "saralite" :{"Sahrani"}; + case "sara_dbe1" :{"Sahrani"}; + case "tavi" :{"Taviana"}; + default{worldName}; + }; + titleText [format["\nWelcome to EPOCH %1 survivor %2.", _worldName, name player], "PLAIN DOWN", 2]; + sleep 15; + titleText [format["This server is running %1 v%2", str "Simple Epoch Missions", SEM_version], "PLAIN DOWN", 2]; + /* End of advertisement */ + "SEM_version" addPublicVariableEventHandler {titleText [format["This server is running %1 v%2", str "Simple Epoch Missions", _this select 1], "PLAIN DOWN"]}; +}; + + +SEM_client_createMissionMarker = { private ["_create","_markerTimeout","_markerPos","_markerID","_markerA","_markerB","_markerC","_markerC_Pos","_markerName"]; + _create = _this select 0; + + //Create Marker + if(_create)then[{ + + _markerPos = _this select 1; + _markerID = _this select 2; + _markerName = _this select 3; + + _markerA = createMarkerLocal [format["SEM_MissionMarkerA_%1", _markerID], _markerPos]; + _markerB = createMarkerLocal [format["SEM_MissionMarkerB_%1", _markerID], _markerPos]; + _markerC = createMarkerLocal [format["SEM_MissionMarkerC_%1", _markerID], _markerPos]; + + { _x setMarkerShapeLocal "ELLIPSE"; _x setMarkerSizeLocal [350,350]; + _x setMarkerPosLocal _markerPos}forEach [_markerA,_markerB]; + + _markerA setMarkerBrushLocal "Cross"; + _markerA setMarkerColorLocal "ColorYellow"; + + _markerB setMarkerBrushLocal "Border"; + _markerB setMarkerColorLocal "ColorRed"; + + _markerC_Pos = [(_markerPos select 0) - (count _markerName * 12), (_markerPos select 1) - 370, 0]; + _markerC setMarkerShapeLocal "Icon"; + _markerC setMarkerTypeLocal "HD_Arrow"; + _markerC setMarkerColorLocal "ColorRed"; + _markerC setMarkerPosLocal _markerC_Pos; + _markerC setMarkerTextLocal _markerName; + _markerC setMarkerDirLocal 37; + + },{ //else delete marker + + _this spawn { private ["_markerTimeout","_markerID"]; + _markerTimeout = _this select 1; + _markerID = _this select 2; + + if(_markerTimeout > 0)then{ + format["SEM_MissionMarkerB_%1", _markerID] setMarkerColorLocal "ColorGreen"; + format["SEM_MissionMarkerC_%1", _markerID] setMarkerColorLocal "ColorGreen"; + sleep _markerTimeout; + }; + + if (getMarkerColor format["SEM_MissionMarkerA_%1", _markerID] != "")then{ //Only delete existing Marker + deleteMarkerLocal format["SEM_MissionMarkerA_%1", _markerID]; + deleteMarkerLocal format["SEM_MissionMarkerB_%1", _markerID]; + deleteMarkerLocal format["SEM_MissionMarkerC_%1", _markerID]; + }; + }; + }]; +}; + +if(!isNil "SEM_globalMissionMarker")then{SEM_globalMissionMarker call SEM_client_createMissionMarker}; +"SEM_globalMissionMarker" addPublicVariableEventHandler {_this select 1 call SEM_client_createMissionMarker}; + +SEM_lastEvent = 0; +"SEM_globalHint" addPublicVariableEventHandler { + _this select 1 spawn { private "_sound"; + //waitUntil{time - SEM_lastEvent > 20}; SEM_lastEvent = time; + waitUntil{if(time - SEM_lastEvent > 20)exitwith{SEM_lastEvent = time; true}; false}; + _sound = _this select 0; + switch(_sound)do{ + case 0:{playSound "UAV_05"}; //Mission start + case 1:{playSound "UAV_01"}; //Mission fail (object destroyed) + case 2:{playSound "UAV_04"}; //Mission fail (time out) + case 3:{playsound "UAV_03"}; //Mission success + }; + hint parseText format["%1", _this select 1]; + }; +}; + +"SEM_vehDamage" addPublicVariableEventHandler { private ["_vk","_vP","_s"]; + _vk = _this select 1; + _vP = vehicle player; + if(!local _vk)exitWith{}; + if(_vk != _vP)exitWith{}; + _s = [ "MOTOR","karoserie","palivo","glass1","glass2","glass3","door1","door2","door3","door4", + "wheel_1_1_steering","wheel_2_1_steering","wheel_1_2_steering","wheel_2_2_steering", + "wheel_1_3_steering","wheel_2_3_steering","wheel_1_4_steering","wheel_2_4_steering"]; + {_vk setHit [_x,(_vk getHit _x)+(.2+(random .15))]}count _s; +}; + + +[] spawn { + waitUntil{!isNil "SEM_AIsniperDamageDistance"}; + waitUntil{!isNil "SEM_AI_Units"}; + + while{true}do{ private "_units"; + _units = SEM_AI_Units; + { sleep 0.05; + if(_x distance (vehicle player) > SEM_AIsniperDamageDistance)then[{ + if(!isPlayer _x)then{_x allowDamage false}; + },{ + if(!isPlayer _x)then{_x allowDamage true}; + }]; + }forEach _units; + }; +}; +//if(!isNil "SEM_AIsniperDamageEH")then{SEM_AI_Units call SEM_client_AIaddDamageEH}; +//"SEM_AI_Units" addPublicVariableEventHandler {_this select 1 call SEM_client_AIaddDamageEH}; \ No newline at end of file