Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "script_macros.hpp"
- /*
- File: functions.sqf
- Author: Bryan "Tonic" Boardwine
- Description: They are functions.
- */
- publicVariable "TON_fnc_terrainSort";
- TON_fnc_index =
- compileFinal "
- private [""_item"",""_stack""];
- _item = _this select 0;
- _stack = _this select 1;
- _return = -1;
- {
- if (_item in _x) exitWith {
- _return = _forEachIndex;
- };
- } forEach _stack;
- _return;
- ";
- TON_fnc_player_query =
- compileFinal "
- private [""_ret""];
- _ret = _this select 0;
- if (isNull _ret) exitWith {};
- if (isNil ""_ret"") exitWith {};
- [life_atmbank,life_cash,owner player,player,profileNameSteam,getPlayerUID player,playerSide] remoteExecCall [""life_fnc_adminInfo"",_ret];
- ";
- publicVariable "TON_fnc_player_query";
- publicVariable "TON_fnc_index";
- TON_fnc_isNumber =
- compileFinal "
- params [
- ['_string','',['']]
- ];
- if (_string isEqualTo '') exitWith {false};
- private _array = _string splitString '';
- private _return = true;
- {
- if !(str(_x) in ['0','1','2','3','4','5','6','7','8','9']) exitWith {
- _return = false;
- };
- } forEach _array;
- _return;
- ";
- publicVariable "TON_fnc_isNumber";
- TON_fnc_clientGangKick =
- compileFinal "
- private [""_unit"",""_group""];
- _unit = _this select 0;
- _group = _this select 1;
- if (isNil ""_unit"" || isNil ""_group"") exitWith {};
- if (player isEqualTo _unit && (group player) == _group) then {
- life_my_gang = objNull;
- [player] joinSilent (createGroup civilian);
- hint localize ""STR_GNOTF_KickOutGang"";
- };
- ";
- publicVariable "TON_fnc_clientGangKick";
- TON_fnc_clientGetKey =
- compileFinal "
- private [""_vehicle"",""_unit"",""_giver""];
- _vehicle = _this select 0;
- _unit = _this select 1;
- _giver = _this select 2;
- if (isNil ""_unit"" || isNil ""_giver"") exitWith {};
- if (player isEqualTo _unit && !(_vehicle in life_vehicles)) then {
- _name = getText(configFile >> ""CfgVehicles"" >> (typeOf _vehicle) >> ""displayName"");
- hint format [localize ""STR_NOTF_gaveKeysFrom"",_giver,_name];
- life_vehicles pushBack _vehicle;
- [getPlayerUID player,playerSide,_vehicle,1] remoteExecCall [""TON_fnc_keyManagement"",2];
- };
- ";
- publicVariable "TON_fnc_clientGetKey";
- TON_fnc_clientGangLeader =
- compileFinal "
- private [""_unit"",""_group""];
- _unit = _this select 0;
- _group = _this select 1;
- if (isNil ""_unit"" || isNil ""_group"") exitWith {};
- if (player isEqualTo _unit && (group player) == _group) then {
- player setRank ""COLONEL"";
- _group selectLeader _unit;
- hint localize ""STR_GNOTF_GaveTransfer"";
- };
- ";
- publicVariable "TON_fnc_clientGangLeader";
- TON_fnc_clientGangLeft =
- compileFinal "
- private [""_unit"",""_group""];
- _unit = _this select 0;
- _group = _this select 1;
- if (isNil ""_unit"" || isNil ""_group"") exitWith {};
- if (player isEqualTo _unit && (group player) == _group) then {
- life_my_gang = objNull;
- [player] joinSilent (createGroup civilian);
- hint localize ""STR_GNOTF_LeaveGang"";
- };
- ";
- publicVariable "TON_fnc_clientGangLeft";
- //Cell Phone Messaging
- /*
- -fnc_cell_textmsg
- -fnc_cell_textcop
- -fnc_cell_textadmin
- -fnc_cell_adminmsg
- -fnc_cell_adminmsgall
- */
- //To EMS
- TON_fnc_cell_emsrequest =
- compileFinal "
- private [""_msg"",""_to""];
- ctrlShow[3022,false];
- _msg = ctrlText 3003;
- _length = count (toArray(_msg));
- if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3022,true];};
- _to = ""EMS Units"";
- if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3022,true];};
- [_msg,name player,5,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",independent];
- [] call life_fnc_cellphone;
- hint format [localize ""STR_CELLMSG_ToEMS"",_to,_msg];
- ctrlShow[3022,true];
- ";
- //To One Person
- TON_fnc_cell_textmsg =
- compileFinal "
- private [""_msg"",""_to""];
- ctrlShow[3015,false];
- _msg = ctrlText 3003;
- _length = count (toArray(_msg));
- if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3015,true];};
- if (lbCurSel 3004 isEqualTo -1) exitWith {hint localize ""STR_CELLMSG_SelectPerson""; ctrlShow[3015,true];};
- _to = call compile format [""%1"",(lbData[3004,(lbCurSel 3004)])];
- if (isNull _to) exitWith {ctrlShow[3015,true];};
- if (isNil ""_to"") exitWith {ctrlShow[3015,true];};
- if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3015,true];};
- [_msg,name player,0] remoteExecCall [""TON_fnc_clientMessage"",_to];
- [] call life_fnc_cellphone;
- hint format [localize ""STR_CELLMSG_ToPerson"",name _to,_msg];
- ctrlShow[3015,true];
- ";
- //To All Cops
- TON_fnc_cell_textcop =
- compileFinal "
- private [""_msg"",""_to""];
- ctrlShow[3016,false];
- _msg = ctrlText 3003;
- _to = ""The Police"";
- if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3016,true];};
- _length = count (toArray(_msg));
- if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3016,true];};
- [_msg,name player,1,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2];
- [] call life_fnc_cellphone;
- hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg];
- ctrlShow[3016,true];
- ";
- //To All Admins
- TON_fnc_cell_textadmin =
- compileFinal "
- private [""_msg"",""_to"",""_from""];
- ctrlShow[3017,false];
- _msg = ctrlText 3003;
- _to = ""The Admins"";
- if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3017,true];};
- _length = count (toArray(_msg));
- if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3017,true];};
- [_msg,name player,2,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2];
- [] call life_fnc_cellphone;
- hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg];
- ctrlShow[3017,true];
- ";
- //Admin To One Person
- TON_fnc_cell_adminmsg =
- compileFinal "
- if (isServer) exitWith {};
- if ((call life_adminlevel) < 1) exitWith {hint localize ""STR_CELLMSG_NoAdmin"";};
- private [""_msg"",""_to""];
- ctrlShow[3020,false];
- _msg = ctrlText 3003;
- _to = call compile format [""%1"",(lbData[3004,(lbCurSel 3004)])];
- if (isNull _to) exitWith {ctrlShow[3020,true];};
- if (isNil ""_to"") exitWith {ctrlShow[3020,true];};
- if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3020,true];};
- [_msg,name player,3] remoteExecCall [""TON_fnc_clientMessage"",_to];
- [] call life_fnc_cellphone;
- hint format [localize ""STR_CELLMSG_AdminToPerson"",name _to,_msg];
- ctrlShow[3020,true];
- ";
- TON_fnc_cell_adminmsgall =
- compileFinal "
- if (isServer) exitWith {};
- if ((call life_adminlevel) < 1) exitWith {hint localize ""STR_CELLMSG_NoAdmin"";};
- private [""_msg"",""_from""];
- ctrlShow[3021,false];
- _msg = ctrlText 3003;
- if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3021,true];};
- [_msg,name player,4] remoteExecCall [""TON_fnc_clientMessage"",-2];
- [] call life_fnc_cellphone;
- hint format [localize ""STR_CELLMSG_AdminToAll"",_msg];
- ctrlShow[3021,true];
- ";
- publicVariable "TON_fnc_cell_textmsg";
- publicVariable "TON_fnc_cell_textcop";
- publicVariable "TON_fnc_cell_textadmin";
- publicVariable "TON_fnc_cell_adminmsg";
- publicVariable "TON_fnc_cell_adminmsgall";
- publicVariable "TON_fnc_cell_emsrequest";
- //Client Message
- /*
- 0 = private message
- 1 = police message
- 2 = message to admin
- 3 = message from admin
- 4 = admin message to all
- */
- TON_fnc_clientMessage =
- compileFinal "
- if (isServer) exitWith {};
- private [""_msg"",""_from"", ""_type""];
- _msg = _this select 0;
- _from = _this select 1;
- _type = _this select 2;
- if (_from isEqualTo """") exitWith {};
- switch (_type) do {
- case 0 : {
- private [""_message""];
- _message = format ["">>>MESSAGE FROM %1: %2"",_from,_msg];
- hint parseText format [""<t color='#FFCC00'><t size='2'><t align='center'>New Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%2"",_from,_msg];
- [""TextMessage"",[format [""You Received A New Private Message From %1"",_from]]] call bis_fnc_showNotification;
- systemChat _message;
- };
- case 1 : {
- if (side player != west) exitWith {};
- private [""_message"",""_loc"",""_unit""];
- _loc = _this select 3;
- _unit = _this select 4;
- _message = format [""--- 911 DISPATCH FROM %1: %2"",_from,_msg];
- if (isNil ""_loc"") then {_loc = ""Unknown"";};
- hint parseText format [""<t color='#316dff'><t size='2'><t align='center'>New Dispatch<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>All Officers<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];
- [""PoliceDispatch"",[format [""A New Police Report From: %1"",_from]]] call bis_fnc_showNotification;
- systemChat _message;
- };
- case 2 : {
- if ((call life_adminlevel) < 1) exitWith {};
- private [""_message"",""_loc"",""_unit""];
- _loc = _this select 3;
- _unit = _this select 4;
- _message = format [""!!! ADMIN REQUEST FROM %1: %2"",_from,_msg];
- if (isNil ""_loc"") then {_loc = ""Unknown"";};
- hint parseText format [""<t color='#ffcefe'><t size='2'><t align='center'>Admin Request<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>Admins<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];
- [""AdminDispatch"",[format [""%1 Has Requested An Admin!"",_from]]] call bis_fnc_showNotification;
- systemChat _message;
- };
- case 3 : {
- private [""_message""];
- _message = format [""!!! ADMIN MESSAGE: %1"",_msg];
- _admin = format [""Sent by admin: %1"", _from];
- hint parseText format [""<t color='#FF0000'><t size='2'><t align='center'>Admin Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>An Admin<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%1"",_msg];
- [""AdminMessage"",[""You Have Received A Message From An Admin!""]] call bis_fnc_showNotification;
- systemChat _message;
- if ((call life_adminlevel) > 0) then {systemChat _admin;};
- };
- case 4 : {
- private [""_message"",""_admin""];
- _message = format [""!!!ADMIN MESSAGE: %1"",_msg];
- _admin = format [""Sent by admin: %1"", _from];
- hint parseText format [""<t color='#FF0000'><t size='2'><t align='center'>Admin Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>All Players<br/><t color='#33CC33'>From: <t color='#ffffff'>The Admins<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%1"",_msg];
- [""AdminMessage"",[""You Have Received A Message From An Admin!""]] call bis_fnc_showNotification;
- systemChat _message;
- if ((call life_adminlevel) > 0) then {systemChat _admin;};
- };
- case 5: {
- if (side player != independent) exitWith {};
- private [""_message"",""_loc"",""_unit""];
- _loc = _this select 3;
- _unit = _this select 4;
- _message = format [""!!! EMS REQUEST: %1"",_msg];
- hint parseText format [""<t color='#FFCC00'><t size='2'><t align='center'>EMS Request<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];
- [""TextMessage"",[format [""EMS Request from %1"",_from]]] call bis_fnc_showNotification;
- };
- };
- ";
- publicVariable "TON_fnc_clientMessage";
- TON_fnc_MapMarkersAdmin = compileFinal "
- life_markers_Vehicles = [];
- life_markers_Players = [];
- if (!life_markers) then {
- life_markers = true;
- hint localize ""STR_ANOTF_MEnabled"";
- } else {
- life_markers = false;
- hint localize ""STR_ANOTF_MDisabled"";
- };
- for ""_i"" from 0 to 1 step 0 do {
- if (!life_markers) exitWith {};
- {
- if ((vehicle _x isKindOf ""LandVehicle"") || (vehicle _x isKindOf ""Air"") || (vehicle _x isKindOf ""Ship"")) then {
- if (count(crew vehicle _x) > 0) then {
- {
- if (!(_x in life_markers_Vehicles) && (alive _x) && (getPlayerUID _x != """")) then {
- private [""_pos"", ""_Markers"", ""_Vehicle""];
- _Vehicle = vehicle _x;
- _pos = visiblePosition _x;
- _Markers = createMarkerLocal[format [""CRW%1%2"", _pos select 0, _pos select 1], [(_pos select 0) + 20, _pos select 1, 0]];
- _TypeVehicle = (getText(configFile >> 'CfgVehicles' >> (typeOf vehicle _x) >> 'displayName'));
- _Markers setMarkerTextLocal format ['%1---%2---%3m', name _x, _TypeVehicle, round(_x distance player)];
- _Markers setMarkerTypeLocal ""mil_dot"";
- if (side _x isEqualTo independent) then {
- _Markers setMarkerColorLocal (""ColorIndependent"");
- };
- if (side _x isEqualTo civilian) then {
- _Markers setMarkerColorLocal (""ColorCivilian"");
- };
- if (side _x isEqualTo west) then {
- _Markers setMarkerColorLocal (""ColorBLUFOR"");
- };
- _Markers setMarkerSizeLocal[1, 1];
- life_markers_Vehicles pushBack _x;
- [_x, _Markers, _Vehicle, _TypeVehicle] spawn {
- private [""_PlayersOrVehicles"", ""_Marker"", ""_CrewVehicle""];
- _PlayersOrVehicles = _this select 0;
- _Marker = _this select 1;
- _TypeVehicle = _this select 3;
- for ""_i"" from 0 to 1 step 0 do {
- if (!life_markers && !(alive _PlayersOrVehicles) && (vehicle _PlayersOrVehicles == _PlayersOrVehicles) && (getPlayerUID _PlayersOrVehicles != """")) exitWith {};
- _CrewVehicle = ((crew vehicle _PlayersOrVehicles) find _PlayersOrVehicles);
- _Marker setMarkerPosLocal([(visiblePosition _PlayersOrVehicles select 0) + 20, (visiblePosition _PlayersOrVehicles select 1) - (25 + _CrewVehicle * 20), 0]);
- _Marker setMarkerTextLocal format ['%1---%2---%3m', name _PlayersOrVehicles, _TypeVehicle, round(_PlayersOrVehicles distance player)];
- sleep 0.01;
- };
- deleteMarkerLocal _Marker;
- if (_PlayersOrVehicles in life_markers_Vehicles) then {
- life_markers_Vehicles deleteAt (life_markers_Vehicles find _PlayersOrVehicles);
- };
- true;
- };
- };
- } forEach crew vehicle _x;
- };
- } else {
- if (!(_x in life_markers_Players) && (vehicle _x == _x) && (getPlayerUID _x != """")) then {
- private [""_pos"", ""_Markers""];
- _pos = visiblePosition _x;
- _Markers = createMarkerLocal[format [""PLR%1%2"", _pos select 0, _pos select 1], [(_pos select 0) + 20, _pos select 1, 0]];
- _Markers setMarkerTypeLocal ""mil_dot"";
- _Markers setMarkerSizeLocal[1, 1];
- if (side _x isEqualTo independent) then {
- _Markers setMarkerColorLocal (""ColorIndependent"");
- };
- if (side _x isEqualTo civilian) then {
- _Markers setMarkerColorLocal (""ColorCivilian"");
- };
- if (side _x isEqualTo west) then {
- _Markers setMarkerColorLocal (""ColorBLUFOR"");
- };
- _Markers setMarkerTextLocal format [""%1---%2"", name _x, round(_x distance player)];
- if (_x == player) then {
- _Markers setMarkerColorLocal ""ColorGreen"";
- };
- life_markers_Players pushBack _x;
- [_x, _Markers] spawn {
- private [""_PlayersOrVehicles"", ""_Marker""];
- _PlayersOrVehicles = _this select 0;
- _Marker = _this select 1;
- for ""_i"" from 0 to 1 step 0 do {
- if (!life_markers && !(alive _PlayersOrVehicles) && (vehicle _PlayersOrVehicles != _PlayersOrVehicles) && (getPlayerUID _PlayersOrVehicles != """")) exitWith {};
- _Marker setMarkerPosLocal([visiblePosition _PlayersOrVehicles select 0, visiblePosition _PlayersOrVehicles select 1, 0]);
- _Marker setMarkerTextLocal format [""%1---%2"", name _PlayersOrVehicles, round(_PlayersOrVehicles distance player)];
- sleep 0.01;
- };
- deleteMarkerLocal _Marker;
- if (_PlayersOrVehicles in life_markers_Players) then {
- life_markers_Players deleteAt (life_markers_Players find _PlayersOrVehicles);
- };
- true;
- };
- };
- };
- } forEach playableUnits;
- sleep 0.3;
- };
- {
- _Markers = str _x;
- deleteMarkerLocal _Markers;
- } forEach playableUnits;
- ";
- publicVariable "TON_fnc_MapMarkersAdmin";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement