Files
Benjamin Kyd c8014ec81e initial commit
2019-06-05 00:45:50 +01:00

54 lines
2.1 KiB
Plaintext

/*
File: fn_wantedAdd.sqf
Author: Bryan "Tonic" Boardwine"
Database Persistence By: ColinM
Assistance by: Paronity
Stress Tests by: Midgetgrimm
Description:
Adds or appends a unit to the wanted list.
*/
params [
["_uid","",[""]],
["_name","",[""]],
["_type","",[""]],
["_customBounty",-1,[0]]
];
if (_uid isEqualTo "" || {_type isEqualTo ""} || {_name isEqualTo ""}) exitWith {}; //Bad data passed.
//What is the crime?
private _crimesConfig = getArray(missionConfigFile >> "Life_Settings" >> "crimes");
private _index = [_type,_crimesConfig] call TON_fnc_index;
if (_index isEqualTo -1) exitWith {};
_type = [_type, parseNumber ((_crimesConfig select _index) select 1)];
if (count _type isEqualTo 0) exitWith {}; //Not our information being passed...
//Is there a custom bounty being sent? Set that as the pricing.
if !(_customBounty isEqualTo -1) then {_type set[1,_customBounty];};
//Search the wanted list to make sure they are not on it.
private _query = format ["SELECT wantedID FROM wanted WHERE wantedID='%1'",_uid];
private _queryResult = [_query,2,true] call DB_fnc_asyncCall;
private _val = [_type select 1] call DB_fnc_numberSafe;
private _number = _type select 0;
if !(count _queryResult isEqualTo 0) then {
_query = format ["SELECT wantedCrimes, wantedBounty FROM wanted WHERE wantedID='%1'",_uid];
_queryResult = [_query,2] call DB_fnc_asyncCall;
_pastCrimes = [_queryResult select 0] call DB_fnc_mresToArray;
if (_pastCrimes isEqualType "") then {_pastCrimes = call compile format ["%1", _pastCrimes];};
_pastCrimes pushBack _number;
_pastCrimes = [_pastCrimes] call DB_fnc_mresArray;
_query = format ["UPDATE wanted SET wantedCrimes = '%1', wantedBounty = wantedBounty + '%2', active = '1' WHERE wantedID='%3'",_pastCrimes,_val,_uid];
[_query,1] call DB_fnc_asyncCall;
} else {
_crime = [_type select 0];
_crime = [_crime] call DB_fnc_mresArray;
_query = format ["INSERT INTO wanted (wantedID, wantedName, wantedCrimes, wantedBounty, active) VALUES('%1', '%2', '%3', '%4', '1')",_uid,_name,_crime,_val];
[_query,1] call DB_fnc_asyncCall;
};