Add files via upload

This commit is contained in:
Bones50 2017-11-05 10:33:26 +11:00 committed by GitHub
parent 701bf378d2
commit db034380f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1018 additions and 0 deletions

View File

@ -0,0 +1,80 @@
/*
© 2015 Zenix Gaming Ops
Developed by Rod-Serling
Co-Developed by Vishpala
All rights reserved.
Function:
AVS_fnc_getVehicleLoadout - Gets the current loadout of the vehicle.
Usage:
_vehicle call AVS_fnc_getVehicleLoadout;
Return Value:
Loadout of the vehicle in the format:
[
[_turretPath, [_magazineClassName, _totalAmmo], [_magazineClassName2, _totalAmmo]],
[_turretPath2, [_magazineClassName3, _totalAmmo], [_magazineClassName4, _totalAmmo]],
]
Notes:
The return value will only specify a single magazine class name for each magazine class in a turret. For example, an armed offroad will return:
[
[[0], ["100Rnd_127x99_mag_Tracer_Yellow", 400]]
];
*/
private ["_currentLoadout", "_magClass", "_turretPath", "_ammoCount", "_inserted", "_magInserted", "_magData"];
_OK = params
[
["_vehicle", objNull, [objNull]]
];
if (!_OK) exitWith
{
diag_log format ["AVS Error: Calling AVS_fnc_getVehicleLoadout with invalid parameters: %1",_this];
};
_currentLoadout = [];
{ // forEach magazinesAllTurrets _vehicle;
// [[<className>,<turretPath>,<ammoCount>,<id>,<creator>],...]
_magClass = _x select 0;
_turretPath = _x select 1;
_ammoCount = _x select 2;
_inserted = false;
{ // forEach _currentLoadout
// Check if we have this _turretPath in _currentLoadout
if ((_x select 0) isEqualTo _turretPath) then
{
// _turretPath found in _currentLoadout
// Now check if we have this _magClass in this _turretPath yet.
_magInserted = false;
for "_i" from 1 to ((count _x) - 1) do
{
_magData = _x select _i;
if ((_magData select 0) isEqualTo _magClass) then
{
// _magClass found, add the ammo to it.
_magData set [1, ((_magData select 1) + _ammoCount)];
_magInserted = true;
};
};
if (!_magInserted) then
{
// _magClass not found, push it as a new element.
_x pushBack [_magClass, _ammoCount];
};
_inserted = true;
};
} forEach _currentLoadout;
if (!_inserted) then
{
// _turretPath not found in _currentLoadout, push it as a new element.
_currentLoadout pushBack [_turretPath, [_magClass, _ammoCount]];
};
} forEach magazinesAllTurrets _vehicle;
_currentLoadout

View File

@ -0,0 +1,43 @@
/**
* ExileServer_object_vehicle_database_insert
*
* Exile Mod
* www.exilemod.com
* © 2015 Exile Mod Team
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
*/
private["_vehicleObject","_position","_vectorDirection","_vectorUp","_data","_extDB2Message","_vehicleID"];
_vehicleObject = _this;
_position = getPosATL _vehicleObject;
_vectorDirection = vectorDir _vehicleObject;
_vectorUp = vectorUp _vehicleObject;
_data =
[
typeOf _vehicleObject,
_vehicleObject getVariable ["ExileOwnerUID", ""],
locked _vehicleObject,
_position select 0,
_position select 1,
_position select 2,
_vectorDirection select 0,
_vectorDirection select 1,
_vectorDirection select 2,
_vectorUp select 0,
_vectorUp select 1,
_vectorUp select 2,
_vehicleObject getVariable ["ExileAccessCode",""]
];
_currentLoadout = _vehicleObject call Bones_fnc_getVehicleLoadout;
_extDB2Message = ["setVehicleAmmo", [_currentLoadout, _vehicleID]] call ExileServer_util_extDB2_createMessage;
_extDB2Message call ExileServer_system_database_query_insertSingle;
_extDB2Message = ["insertVehicle", _data] call ExileServer_util_extDB2_createMessage;
_vehicleID = _extDB2Message call ExileServer_system_database_query_insertSingle;
_vehicleObject setVariable["ExileDatabaseID", _vehicleID];
_vehicleObject setVariable["ExileIsPersistent", true];
_vehicleID

View File

@ -0,0 +1,126 @@
/**
* ExileServer_object_vehicle_database_load
*
* Exile Mod
* www.exilemod.com
* © 2015 Exile Mod Team
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
*/
private["_vehicleID","_data","_position","_vectorDirection","_vectorUp","_pinCode","_texture","_vehicleObject","_lock","_unlockInSafeZonesAfterRestart","_isLocked","_hitpoints","_cargoContainers"];
_vehicleID = _this;
_data = format ["loadVehicle:%1", _vehicleID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 8, _data select 9, _data select 10];
_vectorDirection = [_data select 11, _data select 12, _data select 13];
_vectorUp = [_data select 14, _data select 15, _data select 16];
//Bones Side Vehicle Check
if ((_vectorUp select 2) == 0) then {_vectorUp set [2,1]};
//end custom
_pinCode = _data select 20;
_texture = _data select 21;
_vehicleObject = [(_data select 1), _position, [_vectorDirection, _vectorUp], true,_pinCode] call ExileServer_object_vehicle_createPersistentVehicle;
_vehicleObject setVariable ["ExileDatabaseID", _vehicleID];
_vehicleObject setVariable ["ExileOwnerUID", (_data select 3)];
_vehicleObject setVariable ["ExileMoney", (_data select 23), true];
_lock = (_data select 4);
_query = format["getVehicleAmmo:%1", _vehicleID];
_data1 = (_result select 1) select 0;
_savedMagazines = _data1 select 0;
_vehicle setVehicleAmmoDef 0;
if (typeName _savedMagazines isEqualTo "ARRAY") then
{
if (typeName (_savedMagazines select 0) isEqualTo "ARRAY") then
{
{
_turretPath = _x select 0;
for "_i" from (count _x - 1) to 1 step -1 do
{
_magData = _x select _i;
_magClass = _magData select 0;
_ammoCount = _magData select 1;
_maxMagAmmo = (configFile >> "CfgMagazines" >> _magClass >> "count") call BIS_fnc_getCfgData;
_numMags = ceil (_ammoCount / _maxMagAmmo);
while {_numMags > 1} do
{
_vehicle addMagazineTurret [_magClass, _turretPath];
_numMags = _numMags - 1;
_ammoCount = _ammoCount - _maxMagAmmo;
};
_vehicle setMagazineTurretAmmo [_magClass, _ammoCount, _turretPath];
};
} forEach _savedMagazines;
};
}
else
{
diag_log format["AMMO ERROR - INVALID MAGAZINE SAVED IN DATABASE: %1", _savedMagazines];
diag_log format["AMMO ERROR - Magazines should be saved an array. Blank entries should be: [] Verify your database."];
};
_unlockInSafeZonesAfterRestart = (getNumber (configFile >> "CfgSettings" >> "VehicleSpawn" >> "unlockInSafeZonesAfterRestart")) isEqualTo 1;
_isLocked = (_lock isEqualTo -1);
if (_isLocked) then
{
if (_unlockInSafeZonesAfterRestart) then
{
if (_position call ExileClient_util_world_isInTraderZone) then
{
_isLocked = false;
};
};
};
if (_isLocked) then
{
_vehicleObject setVariable ["ExileIsLocked", -1];
_vehicleObject lock 2;
_vehicleObject enableRopeAttach false;
}
else
{
_vehicleObject setVariable ["ExileIsLocked", 0];
_vehicleObject lock 0;
_vehicleObject enableRopeAttach true;
};
_vehicleObject setFuel (_data select 5);
_vehicleObject setDamage (_data select 6);
_hitpoints = _data select 7;
if ((typeName _hitpoints) isEqualTo "ARRAY") then
{
{
_vehicleObject setHitPointDamage [_x select 0, _x select 1];
}
forEach _hitpoints;
};
[_vehicleObject, (_data select 17)] call ExileServer_util_fill_fillItems;
[_vehicleObject, (_data select 18)] call ExileServer_util_fill_fillMagazines;
[_vehicleObject, (_data select 19)] call ExileServer_util_fill_fillWeapons;
_cargoContainers = format ["loadVehicleContainer:%1", _vehicleID] call ExileServer_system_database_query_selectSingle;
if ((typeName _cargoContainers) isEqualTo "ARRAY") then
{
if !(_cargoContainers isEqualTo []) then
{
[_vehicleObject, (_cargoContainers select 0)] call ExileServer_util_fill_fillContainers;
};
};
if !(_texture isEqualTo "") then
{
{
_vehicleObject setObjectTextureGlobal [_forEachIndex, _texture select _forEachIndex];
}
forEach _texture;
};
_vehicleObject enableSimulationGlobal false;
_vehicleObject call ExileServer_system_simulationMonitor_addVehicle;
if (_vehicleObject call ExileClient_util_world_isInTraderZone) then
{
_vehicleObject allowDamage false;
};
_vehicleObject

View File

@ -0,0 +1,60 @@
/**
* ExileServer_object_vehicle_database_update
*
* Exile Mod
* www.exilemod.com
* © 2015 Exile Mod Team
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
*/
private["_vehicleObject","_vehicleID","_position","_vectorDirection","_vectorUp","_availableHitpoints","_vehicleHitpoints","_data","_extDB2Message","_currentLoadout", "_magClass", "_turretPath", "_ammoCount", "_inserted", "_magInserted", "_magData"];
_vehicleObject = _this;
_vehicleID = _vehicleObject getVariable ["ExileDatabaseID", -1];
if (_vehicleID > -1) then
{
_position = getPosATL _vehicleObject;
_vectorDirection = vectorDir _vehicleObject;
_vectorUp = vectorUp _vehicleObject;
_availableHitpoints = getAllHitPointsDamage _vehicleObject;
_vehicleHitpoints = [];
if!(_availableHitpoints isEqualTo [])then
{
{
_vehicleHitpoints pushBack [_x ,_vehicleObject getHitPointDamage _x];
}
forEach (_availableHitpoints select 0);
};
_data =
[
_vehicleObject getVariable ["ExileIsLocked",-1],
fuel _vehicleObject,
damage _vehicleObject,
_vehicleHitpoints,
_position select 0,
_position select 1,
_position select 2,
_vectorDirection select 0,
_vectorDirection select 1,
_vectorDirection select 2,
_vectorUp select 0,
_vectorUp select 1,
_vectorUp select 2,
_vehicleObject call ExileServer_util_getItemCargo,
magazinesAmmoCargo _vehicleObject,
weaponsItemsCargo _vehicleObject,
_vehicleObject call ExileServer_util_getObjectContainerCargo,
_vehicleObject getVariable ["ExileMoney", 0],
_vehicleID
];
_extDB2Message = ["updateVehicle", _data] call ExileServer_util_extDB2_createMessage;
_extDB2Message call ExileServer_system_database_query_fireAndForget;
_currentLoadout = _vehicle call Bones_fnc_getVehicleLoadout;
_extDB2Message = ["setVehicleAmmo", [_currentLoadout, _vehicleID]] call ExileServer_util_extDB2_createMessage;
_extDB2Message call ExileServer_system_database_query_fireAndForget;
};
true

1
Exile.Altis/init.sqf Normal file
View File

@ -0,0 +1 @@
Bones_fnc_getVehicleLoadout = compileFinal (preprocessFileLineNumbers "Custom\ammoSave\Bones_fnc_getVehicleLoadout.sqf")

4
SQl Script/SQLScript.txt Normal file
View File

@ -0,0 +1,4 @@
ALTER TABLE vehicle
ADD ammo text
NOT NULL;
UPDATE vehicle SET ammo='[]'

704
exile.ini Normal file
View File

@ -0,0 +1,704 @@
[Default]
Version = 12
Number of Inputs = 0
Sanitize Input Value Check = false
Sanitize Output Value Check = false
Prepared Statement Cache = true
Return InsertID = false
Strip = true
Strip Chars Action = STRIP
Strip Chars = \/\|;{}<>\'
Strip Custom Chars = \/\|;{}<>\'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Account related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[isKnownAccount]
SQL1_1 = SELECT CASE WHEN EXISTS(SELECT uid FROM account WHERE uid = ?) THEN 'true' ELSE 'false' END
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[createAccount]
SQL1_1 = INSERT INTO account SET uid = ?, name = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[startAccountSession]
SQL1_1 = UPDATE account SET name = ?, last_connect_at = NOW(), total_connections = total_connections + 1 WHERE uid = ?
Number Of Inputs = 2
SQL1_INPUTS = 2,1
[endAccountSession]
SQL1_1 = UPDATE account SET last_disconnect_at = NOW() WHERE uid = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[getAccountStats]
SQL1_1 = SELECT score, kills, deaths, clan_id, locker FROM account WHERE uid = ?
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2,3,4,5
[addAccountKill]
SQL1_1 = UPDATE account SET kills = kills + 1 WHERE uid = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[addAccountDeath]
SQL1_1 = UPDATE account SET deaths = deaths + 1 WHERE uid = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[getAccountScore]
SQL1_1 = SELECT score FROM account WHERE uid = ?
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[setAccountScore]
SQL1_1 = UPDATE account SET score = ? WHERE uid = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[modifyAccountScore]
SQL1_1 = UPDATE account SET score = score + ? WHERE uid = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[updateLocker]
SQL1_1 = UPDATE account SET locker = ? WHERE uid = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[getLocker]
SQL1_1 = SELECT locker FROM account WHERE uid = ?
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Player related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[hasAlivePlayer]
SQL1_1 = SELECT CASE WHEN EXISTS(SELECT account_uid FROM player WHERE account_uid = ? AND damage < 1) THEN 'true' ELSE 'false' END
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[createPlayer]
SQL1_1 = INSERT INTO player SET account_uid = ?, name = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
Return InsertID = true
[insertPlayerHistory]
SQL1_1 = INSERT INTO player_history SET account_uid = ?, name = ?, position_x = ?, position_y = ?, position_z = ?
Number Of Inputs = 5
SQL1_INPUTS = 1,2,3,4,5
[deletePlayer]
SQL1_1 = DELETE FROM player WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[loadPlayer]
SQL1_1 = SELECT p.id,
SQL1_2 = p.name,
SQL1_3 = p.account_uid,
SQL1_4 = p.damage,
SQL1_5 = p.hunger,
SQL1_6 = p.thirst,
SQL1_7 = p.alcohol,
SQL1_8 = p.oxygen_remaining,
SQL1_9 = p.bleeding_remaining,
SQL1_10 = p.hitpoints,
SQL1_11 = p.direction,
SQL1_12 = p.position_x,
SQL1_13 = p.position_y,
SQL1_14 = p.position_z,
SQL1_15 = p.assigned_items,
SQL1_16 = p.backpack,
SQL1_17 = p.backpack_items,
SQL1_18 = p.backpack_magazines,
SQL1_19 = p.backpack_weapons,
SQL1_20 = p.current_weapon,
SQL1_21 = p.goggles,
SQL1_22 = p.handgun_items,
SQL1_23 = p.handgun_weapon,
SQL1_24 = p.headgear,
SQL1_25 = p.binocular,
SQL1_26 = p.loaded_magazines,
SQL1_27 = p.primary_weapon,
SQL1_28 = p.primary_weapon_items,
SQL1_29 = p.secondary_weapon,
SQL1_30 = p.secondary_weapon_items,
SQL1_31 = p.uniform,
SQL1_32 = p.uniform_items,
SQL1_33 = p.uniform_magazines,
SQL1_34 = p.uniform_weapons,
SQL1_35 = p.vest,
SQL1_36 = p.vest_items,
SQL1_37 = p.vest_magazines,
SQL1_38 = p.vest_weapons,
SQL1_39 = p.money,
SQL1_40 = a.score,
SQL1_41 = a.kills,
SQL1_42 = a.deaths,
SQL1_43 = c.id,
SQL1_44 = c.name,
SQL1_45 = p.temperature,
SQL1_46 = p.wetness,
SQL1_47 = a.locker
SQL1_48 = FROM player p
SQL1_49 = INNER JOIN account a
SQL1_50 = ON a.uid = p.account_uid
SQL1_51 = LEFT JOIN clan c
SQL1_52 = ON c.id = a.clan_id
SQL1_53 = WHERE p.account_uid = ?
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2-STRING,3-STRING,4,5,6,7,8,9,10,11,12,13,14,15,16-STRING,17,18,19,20-STRING,21-STRING,22,23-STRING,24-STRING,25-STRING,26,27-STRING,28,29-STRING,30,31-STRING,32,33,34,35-STRING,36,37,38,39,40,41,42,43,44-STRING,45,46,47
[updatePlayer]
SQL1_1 = UPDATE player SET
SQL1_2 = name = ?,
SQL1_3 = damage = ?,
SQL1_4 = hunger = ?,
SQL1_5 = thirst = ?,
SQL1_6 = alcohol = ?,
SQL1_7 = oxygen_remaining = ?,
SQL1_8 = bleeding_remaining = ?,
SQL1_9 = hitpoints = ?,
SQL1_10 = direction = ?,
SQL1_11 = position_x = ?,
SQL1_12 = position_y = ?,
SQL1_13 = position_z = ?,
SQL1_14 = assigned_items = ?,
SQL1_15 = backpack = ?,
SQL1_16 = backpack_items = ?,
SQL1_17 = backpack_magazines = ?,
SQL1_18 = backpack_weapons = ?,
SQL1_19 = current_weapon = ?,
SQL1_20 = goggles = ?,
SQL1_21 = handgun_items = ?,
SQL1_22 = handgun_weapon = ?,
SQL1_23 = headgear = ?,
SQL1_24 = binocular = ?,
SQL1_25 = loaded_magazines = ?,
SQL1_26 = primary_weapon = ?,
SQL1_27 = primary_weapon_items = ?,
SQL1_28 = secondary_weapon = ?,
SQL1_29 = secondary_weapon_items = ?,
SQL1_30 = uniform = ?,
SQL1_31 = uniform_items = ?,
SQL1_32 = uniform_magazines = ?,
SQL1_33 = uniform_weapons = ?,
SQL1_34 = vest = ?,
SQL1_35 = vest_items = ?,
SQL1_36 = vest_magazines = ?,
SQL1_37 = vest_weapons = ?,
SQL1_38 = temperature = ?,
SQL1_39 = wetness = ?
SQL1_40 = WHERE id = ?
Number Of Inputs = 39
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Vehicle related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[insertVehicle]
SQL1_1 = INSERT INTO vehicle SET
SQL1_2 = class = ?,
SQL1_3 = account_uid = ?,
SQL1_4 = is_locked = ?,
SQL1_5 = position_x = ?,
SQL1_6 = position_y = ?,
SQL1_7 = position_z = ?,
SQL1_8 = direction_x = ?,
SQL1_9 = direction_y = ?,
SQL1_10 = direction_z = ?,
SQL1_11 = up_x = ?,
SQL1_12 = up_y = ?,
SQL1_13 = up_z = ?,
SQL1_14 = pin_code = ?
Number of Inputs = 13
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13
Return InsertID = true
[deleteVehicle]
SQL1_1 = DELETE FROM vehicle WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[loadVehicleIdPage]
SQL1_1 = SELECT id FROM vehicle WHERE deleted_at IS NULL LIMIT ?,?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
OUTPUT = 1
[loadVehicle]
SQL1_1 = SELECT id,class,spawned_at,account_uid,is_locked,fuel,damage,hitpoints,position_x,position_y,position_z,direction_x,direction_y,direction_z,up_x,up_y,up_z,cargo_items,cargo_magazines,cargo_weapons,pin_code,vehicle_texture,deleted_at,money FROM vehicle WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2-STRING,3-STRING,4-STRING,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21-STRING,22,23,24
[loadVehicleContainer]
SQL1_1 = SELECT cargo_container FROM vehicle WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[updateVehicle]
SQL1_1 = UPDATE vehicle SET
SQL1_2 = is_locked = ?,
SQL1_3 = fuel = ?,
SQL1_4 = damage = ?,
SQL1_5 = hitpoints = ?,
SQL1_6 = position_x = ?,
SQL1_7 = position_y = ?,
SQL1_8 = position_z = ?,
SQL1_9 = direction_x = ?,
SQL1_10 = direction_y = ?,
SQL1_11 = direction_z = ?,
SQL1_12 = up_x = ?,
SQL1_13 = up_y = ?,
SQL1_14 = up_z = ?,
SQL1_15 = cargo_items = ?,
SQL1_16 = cargo_magazines = ?,
SQL1_17 = cargo_weapons = ?,
SQL1_18 = cargo_container = ?,
SQL1_19 = money = ?
SQL1_20 = WHERE id = ?
Number of Inputs = 19
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
[updateVehicleSkin]
SQL1_1 = UPDATE vehicle SET vehicle_texture = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[vehicleSetPinCode]
SQL1_1 = UPDATE vehicle SET pin_code = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[getVehicleAmmo]
SQL1_1 = SELECT ammo FROM vehicle WHERE id = ?
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[setVehicleAmmo]
SQL1_1= UPDATE vehicle SET ammo = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Construction related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[insertConstruction]
SQL1_1 = INSERT INTO construction SET
SQL1_2 = class = ?,
SQL1_3 = account_uid = ?,
SQL1_4 = position_x = ?,
SQL1_5 = position_y = ?,
SQL1_6 = position_z = ?,
SQL1_7 = direction_x = ?,
SQL1_8 = direction_y = ?,
SQL1_9 = direction_z = ?,
SQL1_10 = up_x = ?,
SQL1_11 = up_y = ?,
SQL1_12 = up_z = ?,
SQL1_13 = territory_id = $CUSTOM_1$
Number of Inputs = 11
Number of Custom Inputs = 1
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11
Return InsertID = true
[deleteConstruction]
SQL1_1 = DELETE FROM construction WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[loadConstructionIdPage]
SQL1_1 = SELECT id FROM construction WHERE deleted_at IS NULL LIMIT ?,?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
OUTPUT = 1
[loadConstruction]
SQL1_1 = SELECT id,class,account_uid,spawned_at,position_x,position_y,position_z,direction_x,direction_y,direction_z,up_x,up_y,up_z,is_locked,pin_code,territory_id,deleted_at,damage FROM construction WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2-STRING,3-STRING,4-STRING,5,6,7,8,9,10,11,12,13,14,15-STRING,16,17,18
[countConstruction]
SQL1_1 = SELECT COUNT(*) FROM construction
Number Of Inputs = 0
OUTPUT = 1
[constructionSetPinCode]
SQL1_1 = UPDATE construction SET pin_code= ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[upgradeObject]
SQL1_1 = UPDATE construction SET class=? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[addDoorLock]
SQL1_1 = UPDATE construction SET pin_code = ?,is_locked = -1 WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[updateLock]
SQL1_1 = UPDATE construction SET is_locked = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[updateConstructionTerritoryIDs]
SQL1_1 = UPDATE construction SET territory_id = ? WHERE id IN(?)
Number of Inputs = 2
SQL1_INPUTS = 1,2
[updateDamage]
SQL1_1 = UPDATE construction SET damage = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Containers related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[insertContainer]
SQL1_1 = INSERT INTO container SET
SQL1_2 = class = ?,
SQL1_3 = account_uid = ?,
SQL1_4 = position_x = ?,
SQL1_5 = position_y = ?,
SQL1_6 = position_z = ?,
SQL1_7 = direction_x = ?,
SQL1_8 = direction_y = ?,
SQL1_9 = direction_z = ?,
SQL1_10 = up_x = ?,
SQL1_11 = up_y = ?,
SQL1_12 = up_z = ?,
SQL1_13 = cargo_items = ?,
SQL1_14 = cargo_magazines = ?,
SQL1_15 = cargo_weapons = ?,
SQL1_16 = cargo_container = ?,
SQL1_17 = money = ?,
SQL1_18 = pin_code = ?,
SQL1_19 = territory_id = $CUSTOM_1$
Number of Inputs = 17
Number of Custom Inputs = 1
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
Return InsertID = true
[deleteContainer]
SQL1_1 = DELETE FROM container WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[loadContainerIdPage]
SQL1_1 = SELECT id FROM container WHERE deleted_at IS NULL LIMIT ?,?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
OUTPUT = 1
[loadContainer]
SQL1_1 = SELECT id,class,account_uid,is_locked,position_x,position_y,position_z,direction_x,direction_y,direction_z,up_x,up_y,up_z,cargo_items,cargo_magazines,cargo_weapons,pin_code,territory_id,abandoned,deleted_at,money FROM container WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2-STRING,3-STRING,4,5,6,7,8,9,10,11,12,13,14,15,16,17-STRING,18,19-STRING,20,21
[loadContainerCargo]
SQL1_1 = SELECT cargo_container FROM container WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[updateContainer]
SQL1_1 = UPDATE container SET
SQL1_2 = is_locked = ?,
SQL1_3 = position_x = ?,
SQL1_4 = position_y = ?,
SQL1_5 = position_z = ?,
SQL1_6 = direction_x = ?,
SQL1_7 = direction_y = ?,
SQL1_8 = direction_z = ?,
SQL1_9 = up_x = ?,
SQL1_10 = up_y = ?,
SQL1_11 = up_z = ?,
SQL1_12 = cargo_items = ?,
SQL1_13 = cargo_magazines = ?,
SQL1_14 = cargo_weapons = ?,
SQL1_15 = cargo_container = ?,
SQL1_16 = territory_id = $CUSTOM_1$,
SQL1_17 = money = ?
SQL1_18 = WHERE id = ?
Number of Inputs = 16
Number of Custom Inputs = 1
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
[containerSetPinCode]
SQL1_1 = UPDATE container SET pin_code= ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[updateContainerTerritoryIDs]
SQL1_1 = UPDATE container SET territory_id = ? WHERE id IN(?)
Number of Inputs = 2
SQL1_INPUTS = 1,2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Clan related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[createClan]
SQL1_1 = INSERT INTO clan SET leader_uid = ?, name = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
Return InsertID = true
[setAccountClanLink]
SQL1_1 = UPDATE account SET clan_id = ? WHERE uid = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[unLinkClanLink]
SQL1_1 = UPDATE account SET clan_id = NULL WHERE uid = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[updateClanLeader]
SQL1_1 = UPDATE clan SET leader_uid = ? WHERE id = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[deleteClan]
SQL1_1 = DELETE FROM clan WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[loadClansIdPage]
SQL1_1 = SELECT id FROM clan LIMIT ?,?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
OUTPUT = 1
[getClanInfo]
SQL1_1 = SELECT name,leader_uid FROM clan WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1-STRING,2-STRING
[getClanMembers]
SQL1_1 = SELECT uid,name FROM account WHERE clan_id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1-STRING,2-STRING
[getClanMarkers]
SQL1_1 = SELECT id,markerType,positionArr,color,icon,iconSize,label,labelSize FROM clan_map_marker WHERE clan_id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2,3,4,5-STRING,6,7-STRING,8
[addMarker]
SQL1_1 = INSERT INTO clan_map_marker SET clan_id = ?, markerType = 0, positionArr = ?, color = ?, icon = ?, iconSize = ?, label = ?, labelSize = ?
Number Of Inputs = 7
SQL1_INPUTS = 1,2,3,4,5,6,7
Return InsertID = true
[addPoly]
SQL1_1 = INSERT INTO clan_map_marker SET clan_id = ?, markerType = 1, positionArr = ?, color = ?
Number Of Inputs = 3
SQL1_INPUTS = 1,2,3
Return InsertID = true
[deleteMarker]
SQL1_1 = DELETE FROM clan_map_marker WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Territory related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[createTerritory]
SQL1_1 = INSERT INTO territory SET owner_uid = ?, name = ?, position_x = ? , position_y = ? , position_z = ?, radius = ? , level = ? , flag_texture = ? , flag_stolen = ? , flag_stolen_by_uid =$CUSTOM_1$ , build_rights = ? , moderators = ?
Number Of Inputs = 11
Number Of Custom Inputs = 1
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11
Return InsertID = true
[loadTerriotryIdPage]
SQL1_1 = SELECT id FROM territory WHERE deleted_at IS NULL LIMIT ?,?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
OUTPUT = 1
[loadTerritory]
SQL1_1 = SET @connector = ?;
SQL2_1 = SELECT id,owner_uid,name,position_x,position_y,position_z,radius, level,flag_texture,flag_stolen,flag_stolen_by_uid,last_paid_at,build_rights,moderators,deleted_at,(SELECT COUNT(*)FROM construction c WHERE c.territory_id = @connector) FROM territory WHERE id = @connector
Number Of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1,2-STRING,3-STRING,4,5,6,7,8,9-STRING,10,11-STRING,12-DateTime_ISO8601,13,14,15,16
[setTerritoryLevel]
SQL1_1 = UPDATE territory SET level = ? WHERE id = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[setTerritorySize]
SQL1_1 = UPDATE territory SET radius = ? WHERE id = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[updateTerritoryBuildRights]
SQL1_1 = UPDATE territory SET build_rights = ? WHERE id = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[updateTerritoryModerators]
SQL1_1 = UPDATE territory SET moderators = ? WHERE id = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
[maintainTerritory]
SQL1_1 = UPDATE territory SET last_paid_at = NOW(),xm8_protectionmoney_notified = 0 WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[deleteTerritory]
SQL1_1 = DELETE FROM territory WHERE id = ?
Number Of Inputs = 1
SQL1_INPUTS = 1
[flagStolen]
SQL1_1 = UPDATE territory SET flag_stolen = 1, flag_stolen_by_uid = ?, flag_stolen_at = NOW() WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[flagRestore]
SQL1_1 = UPDATE territory SET flag_stolen = 0, flag_stolen_by_uid = NULL, flag_stolen_at = NULL WHERE id = ?
Number of Inputs = 1
SQL1_INPUTS = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Garbage Collector
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Marks for deletion containers outside territories that were not accessed within ? days
[markDeleteOldContainers]
SQL1_1 = UPDATE container SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND territory_id IS NULL
Number Of Inputs = 1
SQL1_INPUTS = 1
; Removes containers outside territories that were not accessed within ? days
[deleteOldContainers]
SQL1_1 = DELETE FROM container WHERE deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND territory_id IS NULL
Number Of Inputs = 1
SQL1_INPUTS = 1
; Marks contructions outside territories deleted after ? days
[markDeleteOldConstructions]
SQL1_1 = UPDATE construction SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND territory_id IS NULL
Number Of Inputs = 1
SQL1_INPUTS = 1
; Removes contructions outside territories after ? days
[deleteOldConstructions]
SQL1_1 = DELETE FROM construction WHERE deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND territory_id IS NULL
Number Of Inputs = 1
SQL1_INPUTS = 1
; Marks for deletion vehicles that were not used within ? days
[markDeleteOldVehicles]
SQL1_1 = UPDATE vehicle SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY)
Number Of Inputs = 1
SQL1_INPUTS = 1
; Removes vehicles that were not used within ? days
[deleteOldVehicles]
SQL1_1 = DELETE FROM vehicle WHERE deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY)
Number Of Inputs = 1
SQL1_INPUTS = 1
; Marks territories (and all containers/constructions) that were not paid within ? days as deleted
[markDeleteUnpaidTerritories]
SQL1_1 = UPDATE territory SET deleted_at = NOW() WHERE last_paid_at < DATE_SUB(NOW(), INTERVAL ? DAY)
SQl2_1 = UPDATE construction SET deleted_at = (select deleted_at from territory where territory.id=construction.territory_id and territory.deleted_at IS NOT NULL)
SQL3_1 = UPDATE container SET deleted_at = (select deleted_at from territory where territory.id=container.territory_id and territory.deleted_at IS NOT NULL)
Number Of Inputs = 1
SQL1_INPUTS = 1
; Removes territories (and all containers/constructions) that were not paid within ? days
[deleteUnpaidTerritories]
SQL1_1 = DELETE FROM territory WHERE deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY)
Number Of Inputs = 1
SQL1_INPUTS = 1
[addAbandonedSafes]
SQL1_1 = UPDATE container SET abandoned = NOW(), pin_code = '0000' WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND class = "Exile_Container_Safe" AND territory_id IS NULL
Number Of Inputs = 1
SQL1_INPUTS = 1
[deleteBaseFlagStolen]
SQL1_1 = DELETE FROM territory WHERE flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY)
Number Of Inputs = 1
SQL1_INPUTS = 1
; Unlock doors and mark safes as abandoned if flag stolen for X days
[setAbandonedUnlocked]
SQL1_1 = UPDATE container SET abandoned = NOW(), pin_code = '0000' WHERE (SELECT flag_stolen_at from territory WHERE territory.id=container.territory_id AND territory.flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY));
SQL2_1 = UPDATE construction SET pin_code = '0000' WHERE (SELECT flag_stolen_at from territory WHERE territory.id = construction.territory_id AND territory.flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY)) AND pin_code != '000000'
Number Of Inputs = 1
SQL1_INPUTS = 1
SQL2_INPUTS = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Moneh moneh moneh
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[setPlayerMoney]
SQL1_1 = UPDATE player SET money = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[getPlayerMoney]
SQL1_1 = SELECT money FROM player WHERE id = ?
Number of Inputs = 1
SQL1_INPUTS = 1
OUTPUT = 1
[setContainerMoney]
SQL1_1 = UPDATE container SET money = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
[setVehicleMoney]
SQL1_1 = UPDATE vehicle SET money = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; XM8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[getAllNotifTerritory]
SQL1_1 = SELECT id FROM territory WHERE last_paid_at < DATE_SUB(NOW(), INTERVAL ? - 1 DAY) and xm8_protectionmoney_notified = 0
Number of Inputs = 1
SQL1_INPUTS = 1
[setTerritoryNotified]
SQL1_1 = UPDATE territory SET xm8_protectionmoney_notified = ? WHERE id = ?
Number of Inputs = 2
SQL1_INPUTS = 1,2