Removed outdated Examples

This commit is contained in:
Brett.Nordin 2017-05-21 08:00:16 -06:00
parent dfa3efc5f2
commit 0b23e69936
48 changed files with 0 additions and 12043 deletions

View File

@ -17,7 +17,6 @@ Flush = true;
;; Flush logfile after each update.
;; Option really only usefull if running DEBUG BUILD
[exile]
IP = DatabaseIp
Port = 3306

View File

@ -1,26 +0,0 @@
[Main]
Version = 1
Randomize Config File = false
;; Randomizes Config File after loading.
;; Recommend to turn on, if you have enabled filepatching on arma.
Allow Reset = false
;; Allows 9:RESET, usefull for development work
Thread = 0;
;; Option to force number of worker threads for extDB3.
;; Min = 2, Max = 6
[Log]
Flush = true;
;; Flush logfile after each update.
;; Option really only usefull if running DEBUG BUILD
[exile]
IP = DatabaseIp
Port = 3306
Username = DatabaseUsername
Password = DatabasePassword
Database = DatabaseSchemaName

View File

@ -1,680 +0,0 @@
[Default]
Version = 1
Strip Chars = "\/\|;{}<>\'"
Strip Chars Mode = 0
Input SQF Parser = false
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Account related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[isKnownAccount]
SQL1_1 = SELECT CASE WHEN EXISTS(SELECT uid FROM account WHERE uid = ?) THEN 'true' ELSE 'false' END
SQL1_INPUTS = 1
OUTPUT = 1
[createAccount]
SQL1_1 = INSERT INTO account SET uid = ?, name = ?
SQL1_INPUTS = 1,2
[startAccountSession]
SQL1_1 = UPDATE account SET name = ?, last_connect_at = NOW(), total_connections = total_connections + 1 WHERE uid = ?
SQL1_INPUTS = 2,1
[endAccountSession]
SQL1_1 = UPDATE account SET last_disconnect_at = NOW() WHERE uid = ?
SQL1_INPUTS = 1
[getAccountStats]
SQL1_1 = SELECT score, kills, deaths, clan_id, locker FROM account WHERE uid = ?
SQL1_INPUTS = 1
OUTPUT = 1,2,3,4,5
[addAccountKill]
SQL1_1 = UPDATE account SET kills = kills + 1 WHERE uid = ?
SQL1_INPUTS = 1
[addAccountDeath]
SQL1_1 = UPDATE account SET deaths = deaths + 1 WHERE uid = ?
SQL1_INPUTS = 1
[getAccountScore]
SQL1_1 = SELECT score FROM account WHERE uid = ?
SQL1_INPUTS = 1
OUTPUT = 1
[setAccountScore]
SQL1_1 = UPDATE account SET score = ? WHERE uid = ?
SQL1_INPUTS = 1,2
[modifyAccountScore]
SQL1_1 = UPDATE account SET score = score + ? WHERE uid = ?
SQL1_INPUTS = 1,2
[updateLocker]
SQL1_1 = UPDATE account SET locker = ? WHERE uid = ?
SQL1_INPUTS = 1,2
[getLocker]
SQL1_1 = SELECT locker FROM account WHERE uid = ?
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
SQL1_INPUTS = 1
OUTPUT = 1
[createPlayer]
SQL1_1 = DELETE FROM player WHERE account_uid = ?
SQL2_1 = INSERT INTO player SET account_uid = ?, name = ?
SQL1_INPUTS = 1
SQL2_INPUTS = 1,2
Return InsertID = true
[insertPlayerHistory]
SQL1_1 = INSERT INTO player_history SET account_uid = ?, name = ?, position_x = ?, position_y = ?, position_z = ?
SQL1_INPUTS = 1,2,3,4,5
[deletePlayer]
SQL1_1 = DELETE FROM player WHERE id = ?
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 = ?
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 = ?
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 = ?
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 = ?
SQL1_INPUTS = 1
[loadVehicleIdPage]
SQL1_1 = SELECT id FROM vehicle WHERE deleted_at IS NULL LIMIT ?,?
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 = ?
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 = ?
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 = ?
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 = ?
SQL1_INPUTS = 1,2
[vehicleSetPinCode]
SQL1_1 = UPDATE vehicle SET pin_code = ? WHERE id = ?
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 = ?
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12-NULL
Return InsertID = true
[deleteConstruction]
SQL1_1 = DELETE FROM construction WHERE id = ?
SQL1_INPUTS = 1
[loadConstructionIdPage]
SQL1_1 = SELECT id FROM construction WHERE deleted_at IS NULL LIMIT ?,?
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 = ?
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
OUTPUT = 1
[constructionSetPinCode]
SQL1_1 = UPDATE construction SET pin_code= ? WHERE id = ?
SQL1_INPUTS = 1,2
[upgradeObject]
SQL1_1 = UPDATE construction SET class=? WHERE id = ?
SQL1_INPUTS = 1,2
[addDoorLock]
SQL1_1 = UPDATE construction SET pin_code = ?,is_locked = -1 WHERE id = ?
SQL1_INPUTS = 1,2
[updateLock]
SQL1_1 = UPDATE construction SET is_locked = ? WHERE id = ?
SQL1_INPUTS = 1,2
[updateConstructionTerritoryIDs]
SQL1_1 = UPDATE construction SET territory_id = ? WHERE id IN(?)
SQL1_INPUTS = 1,2
[updateDamage]
SQL1_1 = UPDATE construction SET damage = ? WHERE id = ?
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 = ?
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18-NULL
Return InsertID = true
[deleteContainer]
SQL1_1 = DELETE FROM container WHERE id = ?
SQL1_INPUTS = 1
[loadContainerIdPage]
SQL1_1 = SELECT id FROM container WHERE deleted_at IS NULL LIMIT ?,?
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 = ?
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 = ?
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 = ?,
SQL1_17 = money = ?
SQL1_18 = WHERE id = ?
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15-NULL,16,17
[containerSetPinCode]
SQL1_1 = UPDATE container SET pin_code= ? WHERE id = ?
SQL1_INPUTS = 1,2
[updateContainerTerritoryIDs]
SQL1_1 = UPDATE container SET territory_id = ? WHERE id IN(?)
SQL1_INPUTS = 1,2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Clan related queries
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[createClan]
SQL1_1 = INSERT INTO clan SET leader_uid = ?, name = ?
SQL1_INPUTS = 1,2
Return InsertID = true
[setAccountClanLink]
SQL1_1 = UPDATE account SET clan_id = ? WHERE uid = ?
SQL1_INPUTS = 1,2
[unLinkClanLink]
SQL1_1 = UPDATE account SET clan_id = NULL WHERE uid = ?
SQL1_INPUTS = 1
[updateClanLeader]
SQL1_1 = UPDATE clan SET leader_uid = ? WHERE id = ?
SQL1_INPUTS = 1,2
[deleteClan]
SQL1_1 = DELETE FROM clan WHERE id = ?
SQL1_INPUTS = 1
[loadClansIdPage]
SQL1_1 = SELECT id FROM clan LIMIT ?,?
SQL1_INPUTS = 1,2
OUTPUT = 1
[getClanInfo]
SQL1_1 = SELECT name,leader_uid FROM clan WHERE id = ?
SQL1_INPUTS = 1
OUTPUT = 1-STRING,2-STRING
[getClanMembers]
SQL1_1 = SELECT uid,name FROM account WHERE clan_id = ?
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 = ?
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 = ?
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 = ?
SQL1_INPUTS = 1,2,3
Return InsertID = true
[deleteMarker]
SQL1_1 = DELETE FROM clan_map_marker WHERE id = ?
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 =? , build_rights = ? , moderators = ?
SQL1_INPUTS = 1,2,3,4,5,6,7,8,9,12-NULL,10,11
Return InsertID = true
[loadTerriotryIdPage]
SQL1_1 = SELECT id FROM territory WHERE deleted_at IS NULL LIMIT ?,?
SQL1_INPUTS = 1,2
OUTPUT = 1
[loadTerritory]
SQL1_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 = ?) FROM territory WHERE id = ?
SQL1_INPUTS = 1,1
OUTPUT = 1,2-STRING,3-STRING,4,5,6,7,8,9-STRING,10,11-STRING,12,13,14,15,16
[setTerritoryLevel]
SQL1_1 = UPDATE territory SET level = ? WHERE id = ?
SQL1_INPUTS = 1,2
[setTerritorySize]
SQL1_1 = UPDATE territory SET radius = ? WHERE id = ?
SQL1_INPUTS = 1,2
[updateTerritoryBuildRights]
SQL1_1 = UPDATE territory SET build_rights = ? WHERE id = ?
SQL1_INPUTS = 1,2
[updateTerritoryModerators]
SQL1_1 = UPDATE territory SET moderators = ? WHERE id = ?
SQL1_INPUTS = 1,2
[maintainTerritory]
SQL1_1 = UPDATE territory SET last_paid_at = NOW(),xm8_protectionmoney_notified = 0 WHERE id = ?
SQL1_INPUTS = 1
[deleteTerritory]
SQL1_1 = DELETE FROM territory WHERE id = ?
SQL1_INPUTS = 1
[flagStolen]
SQL1_1 = UPDATE territory SET flag_stolen = 1, flag_stolen_by_uid = ?, flag_stolen_at = NOW() WHERE id = ?
SQL1_INPUTS = 1,2
[flagRestore]
SQL1_1 = UPDATE territory SET flag_stolen = 0, flag_stolen_by_uid = NULL, flag_stolen_at = NULL WHERE id = ?
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 AND deleted_at IS NULL
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
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 AND deleted_at IS NULL
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
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) AND deleted_at IS NULL
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)
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) AND deleted_at IS NULL
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)
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)
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
SQL1_INPUTS = 1
[deleteBaseFlagStolen]
SQL1_1 = DELETE FROM territory WHERE flag_stolen_at < DATE_SUB(NOW(), INTERVAL ? DAY)
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'
SQL1_INPUTS = 1
SQL2_INPUTS = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Moneh moneh moneh
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[setPlayerMoney]
SQL1_1 = UPDATE player SET money = ? WHERE id = ?
SQL1_INPUTS = 1,2
[getPlayerMoney]
SQL1_1 = SELECT money FROM player WHERE id = ?
SQL1_INPUTS = 1
OUTPUT = 1
[setContainerMoney]
SQL1_1 = UPDATE container SET money = ? WHERE id = ?
SQL1_INPUTS = 1,2
[setVehicleMoney]
SQL1_1 = UPDATE vehicle SET money = ? WHERE id = ?
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
SQL1_INPUTS = 1
[setTerritoryNotified]
SQL1_1 = UPDATE territory SET xm8_protectionmoney_notified = ? WHERE id = ?
SQL1_INPUTS = 1,2

View File

@ -1 +0,0 @@
Exile.Altis

View File

@ -1,36 +0,0 @@
ExileServer_system_database_connect = "Exile_Server_Overrides\ExileServer_system_database_connect.sqf";
ExileServer_world_initialize = "Exile_Server_Overrides\ExileServer_world_initialize.sqf";
ExileServer_util_time_uptime = "Exile_Server_Overrides\ExileServer_util_time_uptime.sqf";
ExileServer_util_time_currentTime = "Exile_Server_Overrides\ExileServer_util_time_currentTime.sqf";
ExileServer_util_time_addTime = "Exile_Server_Overrides\ExileServer_util_time_addTime.sqf";
ExileServer_system_trading_network_wasteDumpRequest = "Exile_Server_Overrides\ExileServer_system_trading_network_wasteDumpRequest.sqf";
ExileServer_system_trading_network_sellItemRequest = "Exile_Server_Overrides\ExileServer_system_trading_network_sellItemRequest.sqf";
ExileServer_system_trading_network_purchaseVehicleSkinRequest = "Exile_Server_Overrides\ExileServer_system_trading_network_purchaseVehicleSkinRequest.sqf";
ExileServer_system_trading_network_purchaseVehicleRequest = "Exile_Server_Overrides\ExileServer_system_trading_network_purchaseVehicleRequest.sqf";
ExileServer_system_trading_network_purchaseItemRequest = "Exile_Server_Overrides\ExileServer_system_trading_network_purchaseItemRequest.sqf";
ExileServer_system_territory_network_territoryUpgradeRequest = "Exile_Server_Overrides\ExileServer_system_territory_network_territoryUpgradeRequest.sqf";
ExileServer_system_territory_network_restoreFlagRequest = "Exile_Server_Overrides\ExileServer_system_territory_network_restoreFlagRequest.sqf";
ExileServer_system_territory_network_purchaseTerritory = "Exile_Server_Overrides\ExileServer_system_territory_network_purchaseTerritory.sqf";
ExileServer_system_territory_network_payTerritoryProtectionMoneyRequest = "Exile_Server_Overrides\ExileServer_system_territory_network_payTerritoryProtectionMoneyRequest.sqf";
ExileServer_system_territory_network_payFlagRansomRequest = "Exile_Server_Overrides\ExileServer_system_territory_network_payFlagRansomRequest.sqf";
ExileServer_system_territory_network_flagStolenRequest = "Exile_Server_Overrides\ExileServer_system_territory_network_flagStolenRequest.sqf";
ExileServer_system_territory_maintenance_recalculateDueDate = "Exile_Server_Overrides\ExileServer_system_territory_maintenance_recalculateDueDate.sqf";
ExileServer_system_territory_database_insert = "Exile_Server_Overrides\ExileServer_system_territory_database_insert.sqf";
ExileServer_system_database_query_selectSingleField = "Exile_Server_Overrides\ExileServer_system_database_query_selectSingleField.sqf";
ExileServer_system_database_query_selectSingle = "Exile_Server_Overrides\ExileServer_system_database_query_selectSingle.sqf";
ExileServer_system_database_query_selectFull = "Exile_Server_Overrides\ExileServer_system_database_query_selectFull.sqf";
ExileServer_system_database_query_insertSingle = "Exile_Server_Overrides\ExileServer_system_database_query_insertSingle.sqf";
ExileServer_system_database_query_fireAndForget = "Exile_Server_Overrides\ExileServer_system_database_query_fireAndForget.sqf";
ExileServer_system_database_handleBig = "Exile_Server_Overrides\ExileServer_system_database_handleBig.sqf";
ExileServer_object_vehicle_database_load = "Exile_Server_Overrides\ExileServer_object_vehicle_database_load.sqf";
ExileServer_object_vehicle_createPersistentVehicle = "Exile_Server_Overrides\ExileServer_object_vehicle_createPersistentVehicle.sqf";
ExileServer_object_vehicle_createNonPersistentVehicle = "Exile_Server_Overrides\ExileServer_object_vehicle_createNonPersistentVehicle.sqf";
ExileServer_object_player_event_onMpKilled = "Exile_Server_Overrides\ExileServer_object_player_event_onMpKilled.sqf";
ExileServer_object_player_database_load = "Exile_Server_Overrides\ExileServer_object_player_database_load.sqf";
ExileServer_object_player_createBambi = "Exile_Server_Overrides\ExileServer_object_player_createBambi.sqf";
ExileServer_object_container_database_update = "Exile_Server_Overrides\ExileServer_object_container_database_update.sqf";
ExileServer_object_container_database_load = "Exile_Server_Overrides\ExileServer_object_container_database_load.sqf";
ExileServer_object_container_database_insert = "Exile_Server_Overrides\ExileServer_object_container_database_insert.sqf";
ExileServer_object_container_createContainer = "Exile_Server_Overrides\ExileServer_object_container_createContainer.sqf";
ExileServer_object_construction_database_load = "Exile_Server_Overrides\ExileServer_object_construction_database_load.sqf";
ExileServer_object_construction_database_insert = "Exile_Server_Overrides\ExileServer_object_construction_database_insert.sqf";

View File

@ -1,39 +0,0 @@
/**
* ExileServer_object_construction_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["_constructionObject","_position","_vectorDirection","_vectorUp","_territoryFlag","_territoryID","_data","_extDB2Message","_constructionID"];
_constructionObject = _this;
_position = getPosATL _constructionObject;
_vectorDirection = vectorDir _constructionObject;
_vectorUp = vectorUp _constructionObject;
_territoryFlag = _constructionObject call ExileClient_util_world_getTerritoryAtPosition;
_territoryID = if (isNull _territoryFlag) then { '' } else { _territoryFlag getVariable ["ExileDatabaseID", '']};
_data =
[
typeOf _constructionObject,
_constructionObject getVariable ["ExileOwnerUID", ""],
_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,
_territoryID
];
_extDB2Message = ["insertConstruction", _data] call ExileServer_util_extDB2_createMessage;
_constructionID = _extDB2Message call ExileServer_system_database_query_insertSingle;
_constructionObject setVariable ["ExileDatabaseID", _constructionID];
_constructionObject setVariable ["ExileTerritoryID", _territoryID];
_constructionObject enableDynamicSimulation true;
_constructionID

View File

@ -1,47 +0,0 @@
/**
* ExileServer_object_construction_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["_constructionID","_data","_position","_vectorDirection","_vectorUp","_constructionObject","_damageLevel","_public","_pinCode"];
_constructionID = _this;
_data = format ["loadConstruction:%1", _constructionID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 4, _data select 5, _data select 6];
_vectorDirection = [_data select 7, _data select 8, _data select 9];
_vectorUp = [_data select 10, _data select 11, _data select 12];
_constructionObject = createVehicle [(_data select 1), _position, [], 0, "CAN_COLLIDE"];
_constructionObject setPosATL _position;
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVariable ["ExileDatabaseID", (_data select 0)];
_constructionObject setVariable ["ExileOwnerUID", (_data select 2)];
_constructionObject setVariable ["ExileIsPersistent", true];
_constructionObject setVariable ["ExileTerritoryID", (_data select 15)];
_damageLevel = (_data select 17);
_public = _damageLevel > 0;
_constructionObject setVariable ["ExileConstructionDamage",_damageLevel,_public];
if(_public)then
{
_constructionObject call ExileServer_util_setDamageTexture;
};
_pinCode = _data select 14;
if !(_pinCode isEqualTo "000000") then
{
_constructionObject setVariable ["ExileAccessCode", _pinCode];
_constructionObject setVariable ["ExileIsLocked", (_data select 13), true];
};
if (typeOf _constructionObject in ["Exile_Construction_ConcreteDoor_Static", "Exile_Construction_ConcreteGate_Static", "Exile_Construction_WoodGate_Static", "Exile_Construction_WoodDoor_Static", "Exile_Construction_ConcreteWindowHatch_Static", "Exile_Construction_WoodGate_Reinforced_Static", "Exile_Construction_WoodDoor_Reinforced_Static", "Exile_Construction_ConcreteFloorHatch_Static"]) then
{
_constructionObject enableDynamicSimulation true;
};
_constructionObject setVelocity [0, 0, 0];
_constructionObject setPosATL _position;
_constructionObject setVelocity [0, 0, 0];
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVelocity [0, 0, 0];
_constructionObject

View File

@ -1,30 +0,0 @@
/**
* ExileServer_object_container_createContainer
*
* 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["_className","_position","_direction","_containerObject"];
_className = _this select 0;
_position = _this select 1;
_direction = _this select 2;
_containerObject = createVehicle [_className, _position, [], 0, "CAN_COLLIDE"];
clearBackpackCargoGlobal _containerObject;
clearItemCargoGlobal _containerObject;
clearMagazineCargoGlobal _containerObject;
clearWeaponCargoGlobal _containerObject;
_containerObject setDir _direction;
_containerObject setPosATL _position;
_containerObject setVariable ["ExileIsPersistent", true];
_containerObject setVariable ["ExileIsContainer", true];
if(getNumber(configFile >> "CfgVehicles" >> typeOf _containerObject >> "exileIsLockable") isEqualTo 1)then
{
_containerObject setVariable ["ExileIsLocked", -1,true];
};
_containerObject enableDynamicSimulation true;
_containerObject

View File

@ -1,91 +0,0 @@
/**
* ExileServer_object_container_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["_containerObject","_position","_vectorDirection","_vectorUp","_territoryFlag","_territoryID","_data","_extDB2Message","_containerID","_cargoContainers"];
_containerObject = _this;
_position = getPosATL _containerObject;
_vectorDirection = vectorDir _containerObject;
_vectorUp = vectorUp _containerObject;
_territoryFlag = _containerObject call ExileClient_util_world_getTerritoryAtPosition;
_territoryID = if (isNull _territoryFlag) then { '' } else { _territoryFlag getVariable ["ExileDatabaseID", '']};
if !(ExileContainerCargo isEqualTo []) then
{
_data =
[
typeOf _containerObject,
_containerObject getVariable ["ExileOwnerUID", ""],
_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,
ExileContainerCargo select 0,
ExileContainerCargo select 1,
ExileContainerCargo select 2,
ExileContainerCargo select 3,
ExileContainerCargo select 4,
"0000",
_territoryID
];
} else
{
_data =
[
typeOf _containerObject,
_containerObject getVariable ["ExileOwnerUID", ""],
_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,
[],
[],
[],
[],
0,
"0000",
_territoryID
];
};
_extDB2Message = ["insertContainer", _data] call ExileServer_util_extDB2_createMessage;
_containerID = _extDB2Message call ExileServer_system_database_query_insertSingle;
if !(ExileContainerCargo isEqualTo []) then
{
[_containerObject, (_data select 11)] call ExileServer_util_fill_fillItems;
[_containerObject, (_data select 12)] call ExileServer_util_fill_fillMagazines;
[_containerObject, (_data select 13)] call ExileServer_util_fill_fillWeapons;
_cargoContainers = format ["loadContainerCargo:%1", _containerID] call ExileServer_system_database_query_selectSingle;
if !(_cargoContainers isEqualTo []) then
{
[_containerObject, (_cargoContainers select 0)] call ExileServer_util_fill_fillContainers;
};
ExileContainerCargo = [];
};
_containerObject setVariable ["ExileDatabaseID", _containerID];
_containerObject setVariable ["ExileIsPersistent", true];
_containerObject setVariable ["ExileIsContainer", true];
_containerObject setVariable ["ExileAccessCode","0000"];
_containerObject setVariable ["ExileTerritoryID", _territoryID];
_containerObject setVariable ["ExileMoney", parseNumber (_data select 15), true];
_containerObject addMPEventHandler ["MPKilled", { if !(isServer) exitWith {}; (_this select 0) call ExileServer_object_container_event_onMpKilled; }];
if(getNumber(configFile >> "CfgVehicles" >> typeOf _containerObject >> "exileIsLockable") isEqualTo 1)then
{
_containerObject setVariable ["ExileIsLocked",-1,true];
};
_containerID

View File

@ -1,68 +0,0 @@
/**
* ExileServer_object_container_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["_containerID","_data","_position","_vectorDirection","_vectorUp","_abandoned","_containerObject","_cargoContainers"];
_containerID = _this;
_data = format ["loadContainer:%1", _containerID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 4, _data select 5, _data select 6];
_vectorDirection = [_data select 7, _data select 8, _data select 9];
_vectorUp = [_data select 10, _data select 11, _data select 12];
_abandoned = _data select 18;
try
{
if !((vectorMagnitude _vectorUp) isEqualTo 1) then
{
throw true;
};
if ((_vectorUp select 0) > 0.95) then
{
throw true;
};
if ((_vectorUp select 1) > 0.95) then
{
throw true;
};
if ((_vectorUp select 2) isEqualTo 0) then
{
throw true;
};
}
catch
{
_vectorUp = [0, 0, 1];
};
_containerObject = [(_data select 1), _position, 0] call ExileServer_object_container_createContainer;
_containerObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_containerObject setVariable ["ExileDatabaseID", _containerID];
_containerObject setVariable ["ExileOwnerUID", (_data select 2),true];
_containerObject setVariable ["ExileAccessCode",(_data select 16)];
_containerObject setVariable ["ExileTerritoryID", (_data select 17)];
_containerObject setVariable ["ExileMoney", (_data select 20), true];
if(getNumber(configFile >> "CfgVehicles" >> typeOf _containerObject >> "exileIsLockable") isEqualTo 1)then
{
_containerObject setVariable ["ExileIsLocked",(_data select 3),true];
};
[_containerObject, (_data select 13)] call ExileServer_util_fill_fillItems;
[_containerObject, (_data select 14)] call ExileServer_util_fill_fillMagazines;
[_containerObject, (_data select 15)] call ExileServer_util_fill_fillWeapons;
_cargoContainers = format ["loadContainerCargo:%1", _containerID] call ExileServer_system_database_query_selectSingle;
if !(_cargoContainers isEqualTo []) then
{
[_containerObject, (_cargoContainers select 0)] call ExileServer_util_fill_fillContainers;
};
if !(_abandoned isEqualTo "") then
{
format ["ExileServer - Adding Container %1 to Abandonded Safes", _containerID] call ExileClient_util_log;
ExileAbandondedSafes pushBack _containerObject;
};
_containerObject enableDynamicSimulation true;
_containerObject addMPEventHandler ["MPKilled", { if !(isServer) exitWith {}; (_this select 0) call ExileServer_object_container_event_onMpKilled; }];
_containerObject

View File

@ -1,46 +0,0 @@
/**
* ExileServer_object_container_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["_containerObject","_containerID","_position","_vectorDirection","_vectorUp","_territoryFlag","_territoryID","_data","_extDB2Message"];
_containerObject= _this;
_containerID = _containerObject getVariable ["ExileDatabaseID", -1];
if (_containerID > -1) then
{
_position = getPosATL _containerObject;
_vectorDirection = vectorDir _containerObject;
_vectorUp = vectorUp _containerObject;
_territoryFlag = _containerObject call ExileClient_util_world_getTerritoryAtPosition;
_territoryID = if (isNull _territoryFlag) then { '' } else { _territoryFlag getVariable ["ExileDatabaseID", '']};
_containerObject setVariable ["ExileTerritoryID", _territoryID];
_data =
[
_containerObject getVariable ["ExileIsLocked",-1],
_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,
_containerObject call ExileServer_util_getItemCargo,
magazinesAmmoCargo _containerObject,
weaponsItemsCargo _containerObject,
_containerObject call ExileServer_util_getObjectContainerCargo,
_territoryID,
_containerObject getVariable ["ExileMoney", 0],
_containerID
];
_extDB2Message = ["updateContainer", _data] call ExileServer_util_extDB2_createMessage;
_extDB2Message call ExileServer_system_database_query_fireAndForget;
};
true

View File

@ -1,153 +0,0 @@
/**
* ExileServer_object_player_createBambi
*
* 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["_sessionID","_requestingPlayer","_spawnLocationMarkerName","_bambiPlayer","_accountData","_direction","_position","_spawnAreaPosition","_spawnAreaRadius","_clanID","_clanData","_clanGroup","_player","_devFriendlyMode","_devs","_parachuteNetID","_spawnType","_parachuteObject"];
_sessionID = _this select 0;
_requestingPlayer = _this select 1;
_spawnLocationMarkerName = _this select 2;
_bambiPlayer = _this select 3;
_accountData = _this select 4;
_direction = random 360;
if ((count ExileSpawnZoneMarkerPositions) isEqualTo 0) then
{
_position = call ExileClient_util_world_findCoastPosition;
if ((toLower worldName) isEqualTo "namalsk") then
{
while {(_position distance2D [76.4239, 107.141, 0]) < 100} do
{
_position = call ExileClient_util_world_findCoastPosition;
};
};
}
else
{
_spawnAreaPosition = getMarkerPos _spawnLocationMarkerName;
_spawnAreaRadius = getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "spawnZoneRadius");
_position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
while {surfaceIsWater _position} do
{
_position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
};
};
_name = name _requestingPlayer;
_clanID = (_accountData select 3);
if !((typeName _clanID) isEqualTo "SCALAR") then
{
_clanID = -1;
_clanData = [];
}
else
{
_clanData = missionNamespace getVariable [format ["ExileServer_clan_%1",_clanID],[]];
if(isNull (_clanData select 5))then
{
_clanGroup = createGroup independent;
_clanData set [5,_clanGroup];
_clanGroup setGroupIdGlobal [_clanData select 0];
missionNameSpace setVariable [format ["ExileServer_clan_%1",_clanID],_clanData];
}
else
{
_clanGroup = (_clanData select 5);
};
[_player] joinSilent _clanGroup;
};
_bambiPlayer setPosATL [_position select 0,_position select 1,0];
_bambiPlayer disableAI "FSM";
_bambiPlayer disableAI "MOVE";
_bambiPlayer disableAI "AUTOTARGET";
_bambiPlayer disableAI "TARGET";
_bambiPlayer disableAI "CHECKVISIBLE";
_bambiPlayer setDir _direction;
_bambiPlayer setName _name;
_bambiPlayer setVariable ["ExileMoney", 0, true];
_bambiPlayer setVariable ["ExileScore", (_accountData select 0)];
_bambiPlayer setVariable ["ExileKills", (_accountData select 1)];
_bambiPlayer setVariable ["ExileDeaths", (_accountData select 2)];
_bambiPlayer setVariable ["ExileClanID", _clanID];
_bambiPlayer setVariable ["ExileClanData", _clanData];
_bambiPlayer setVariable ["ExileHunger", 100];
_bambiPlayer setVariable ["ExileThirst", 100];
_bambiPlayer setVariable ["ExileTemperature", 37];
_bambiPlayer setVariable ["ExileWetness", 0];
_bambiPlayer setVariable ["ExileAlcohol", 0];
_bambiPlayer setVariable ["ExileName", _name];
_bambiPlayer setVariable ["ExileOwnerUID", getPlayerUID _requestingPlayer];
_bambiPlayer setVariable ["ExileIsBambi", true];
_bambiPlayer setVariable ["ExileXM8IsOnline", false, true];
_bambiPlayer setVariable ["ExileLocker", (_accountData select 4), true];
_devFriendlyMode = getNumber (configFile >> "CfgSettings" >> "ServerSettings" >> "devFriendyMode");
if (_devFriendlyMode isEqualTo 1) then
{
_devs = getArray (configFile >> "CfgSettings" >> "ServerSettings" >> "devs");
{
if ((getPlayerUID _requestingPlayer) isEqualTo (_x select 0))exitWith
{
if ((name _requestingPlayer) isEqualTo (_x select 1))then
{
_bambiPlayer setVariable ["ExileMoney", 500000, true];
_bambiPlayer setVariable ["ExileScore", 100000];
};
};
}
forEach _devs;
};
_parachuteNetID = "";
if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteSpawning")) isEqualTo 1) then
{
_position set [2, getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteDropHeight")];
if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "haloJump")) isEqualTo 1) then
{
_bambiPlayer addBackpackGlobal "B_Parachute";
_bambiPlayer setPosATL _position;
_spawnType = 2;
}
else
{
_parachuteObject = createVehicle ["Steerable_Parachute_F", _position, [], 0, "CAN_COLLIDE"];
_parachuteObject setDir _direction;
_parachuteObject setPosATL _position;
_parachuteObject enableSimulationGlobal true;
_parachuteNetID = netId _parachuteObject;
_spawnType = 1;
};
}
else
{
_spawnType = 0;
};
if((canTriggerDynamicSimulation _bambiPlayer) isEqualTo false) then
{
_bambiPlayer triggerDynamicSimulation true;
};
_bambiPlayer addMPEventHandler ["MPKilled", {_this call ExileServer_object_player_event_onMpKilled}];
_bambiPlayer call ExileServer_object_player_database_insert;
_bambiPlayer call ExileServer_object_player_database_update;
[
_sessionID,
"createPlayerResponse",
[
_bambiPlayer,
_parachuteNetID,
str (_accountData select 0),
(_accountData select 1),
(_accountData select 2),
100,
100,
0,
(getNumber (configFile >> "CfgSettings" >> "BambiSettings" >> "protectionDuration")) * 60,
_clanData,
_spawnType
]
]
call ExileServer_system_network_send_to;
[_sessionID, _bambiPlayer] call ExileServer_system_session_update;
true

View File

@ -1,250 +0,0 @@
/**
* ExileServer_object_player_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["_data","_oldPlayerObject","_playerUID","_sessionID","_position","_direction","_player","_clanID","_clanName","_clanData","_clanGroup","_devFriendlyMode","_devs","_requestingPlayer","_bambiPlayer","_headgear","_goggles","_binocular","_primaryWeapon","_handgunWeapon","_secondaryWeapon","_currentWeapon","_uniform","_vest","_backpack","_uniformContainer","_vestContainer","_backpackContainer","_assignedItems"];
_data = _this select 0;
_oldPlayerObject = _this select 1;
_playerUID = _this select 2;
_sessionID = _this select 3;
_name = name _oldPlayerObject;
_position = [_data select 11, _data select 12, _data select 13];
_direction = _data select 10;
_player = (createGroup independent) createUnit ["Exile_Unit_Player", _position, [], 0, "CAN_COLLIDE"];
_player setDir _direction;
_player setPosATL _position;
_player disableAI "FSM";
_player disableAI "MOVE";
_player disableAI "AUTOTARGET";
_player disableAI "TARGET";
_player disableAI "CHECKVISIBLE";
_clanID = (_data select 42);
_clanName = (_data select 43);
if !((typeName _clanID) isEqualTo "SCALAR") then
{
_clanID = -1;
_clanData = [];
}
else
{
_clanData = missionnamespace getVariable [format ["ExileServer_clan_%1",_clanID],[]];
if(isNull (_clanData select 5))then
{
_clanGroup = createGroup independent;
_clanData set [5,_clanGroup];
_clanGroup setGroupIdGlobal [_clanData select 0];
missionNameSpace setVariable [format ["ExileServer_clan_%1",_clanID],_clanData];
}
else
{
_clanGroup = (_clanData select 5);
};
[_player] joinSilent _clanGroup;
};
_player setDamage (_data select 3);
_player setName _name;
_player setVariable ["ExileMoney", (_data select 38), true];
_player setVariable ["ExileScore", (_data select 39)];
_player setVariable ["ExileKills", (_data select 40)];
_player setVariable ["ExileDeaths", (_data select 41)];
_player setVariable ["ExileClanID", _clanID];
_player setVariable ["ExileClanData", _clanData];
_player setVariable ["ExileName", _name];
_player setVariable ["ExileOwnerUID", _playerUID];
_player setVariable ["ExileDatabaseID", _data select 0];
_player setVariable ["ExileHunger", _data select 4];
_player setVariable ["ExileThirst", _data select 5];
_player setVariable ["ExileAlcohol", _data select 6];
_player setVariable ["ExileTemperature", _data select 44];
_player setVariable ["ExileWetness", _data select 45];
_player setVariable ["ExileIsBambi", false];
_player setVariable ["ExileXM8IsOnline", false, true];
_player setOxygenRemaining (_data select 7);
_player setBleedingRemaining (_data select 8);
_player setVariable ["ExileLocker", (_data select 46), true];
[_player, _data select 9] call ExileClient_util_player_applyHitPointMap;
_devFriendlyMode = getNumber (configFile >> "CfgSettings" >> "ServerSettings" >> "devFriendyMode");
if (_devFriendlyMode isEqualTo 1) then
{
_devs = getArray (configFile >> "CfgSettings" >> "ServerSettings" >> "devs");
{
if (_playerUID isEqualTo (_x select 0)) exitWith
{
if (_name isEqualTo (_x select 1)) then
{
_player setVariable ["ExileMoney", 500000, true];
_player setVariable ["ExileScore", 100000];
};
};
}
forEach _devs;
};
_player call ExileClient_util_playerCargo_clear;
_headgear = _data select 23;
if (_headgear != "") then
{
_player addHeadgear _headgear;
};
_goggles = _data select 20;
if (_goggles != "") then
{
_player addGoggles _goggles;
};
_binocular = _data select 24;
if (_binocular != "") then
{
_player addWeaponGlobal _binocular;
};
_primaryWeapon = _data select 26;
if (_primaryWeapon != "") then
{
_player addWeaponGlobal _primaryWeapon;
removeAllPrimaryWeaponItems _player;
{
if (_x != "") then
{
_player addPrimaryWeaponItem _x;
};
}
forEach (_data select 27);
};
_handgunWeapon = _data select 22;
if (_handgunWeapon != "") then
{
_player addWeaponGlobal _handgunWeapon;
removeAllHandgunItems _player;
{
if (_x != "") then
{
_player addHandgunItem _x;
};
}
forEach (_data select 21);
};
_secondaryWeapon = _data select 28;
if (_secondaryWeapon != "") then
{
_player addWeaponGlobal _secondaryWeapon;
{
if (_x != "") then
{
_player addSecondaryWeaponItem _x;
};
}
forEach (_data select 29);
};
_currentWeapon = _data select 19;
if (_currentWeapon != "") then
{
_player selectWeapon _currentWeapon;
};
{
_player addWeaponItem [_x select 0, [_x select 1, _x select 2, _x select 3]];
}
forEach (_data select 25);
_uniform = _data select 30;
_vest = _data select 34;
_backpack = _data select 15;
if (_uniform != "") then
{
_player forceAddUniform _uniform;
};
if (_vest != "") then
{
_player addVest _vest;
};
if (_backpack != "") then
{
_player addBackpackGlobal _backpack;
};
_uniformContainer = uniformContainer _player;
if !(isNil "_uniformContainer") then
{
{
_uniformContainer addWeaponCargoGlobal _x;
}
forEach (_data select 33);
{
_uniformContainer addMagazineAmmoCargo [_x select 0, 1, _x select 1];
}
forEach (_data select 32);
{
_uniformContainer addItemCargoGlobal _x;
}
forEach (_data select 31);
};
_vestContainer = vestContainer _player;
if !(isNil "_vestContainer") then
{
{
_vestContainer addWeaponCargoGlobal _x;
}
forEach (_data select 37);
{
_vestContainer addMagazineAmmoCargo [_x select 0, 1, _x select 1];
}
forEach (_data select 36);
{
_vestContainer addItemCargoGlobal _x;
}
forEach (_data select 35);
};
_backpackContainer = backpackContainer _player;
if !(isNil "_backpackContainer") then
{
{
_backpackContainer addWeaponCargoGlobal _x;
}
forEach (_data select 18);
{
_backpackContainer addMagazineAmmoCargo [_x select 0, 1, _x select 1];
}
forEach (_data select 17);
{
_backpackContainer addItemCargoGlobal _x;
}
forEach (_data select 16);
};
_assignedItems = _data select 14;
if !(_assignedItems isEqualTo []) then
{
{
_player linkItem _x;
}
forEach _assignedItems;
};
_player addMPEventHandler ["MPKilled", {_this call ExileServer_object_player_event_onMpKilled}];
if((canTriggerDynamicSimulation _player) isEqualTo false) then
{
_player triggerDynamicSimulation true;
};
if (getNumber (configFile >> "CfgSettings" >> "VehicleSpawn" >> "thermalVision") isEqualTo 0) then
{
_player addEventHandler ["WeaponAssembled", {(_this select 1) disableTIEquipment true;}];
};
[
_sessionID,
"loadPlayerResponse",
[
(netId _player),
str (_player getVariable ["ExileScore", 0]),
(_player getVariable ["ExileKills", 0]),
(_player getVariable ["ExileDeaths", 0]),
(_player getVariable ["ExileHunger", 100]),
(_player getVariable ["ExileThirst", 100]),
(_player getVariable ["ExileAlcohol", 0]),
(_player getVariable ["ExileClanData", []]),
(_player getVariable ["ExileTemperature", 0]),
(_player getVariable ["ExileWetness", 0])
]
]
call ExileServer_system_network_send_to;
[_sessionID, _player] call ExileServer_system_session_update;
true

View File

@ -1,207 +0,0 @@
/**
* ExileServer_object_player_event_onMpKilled
*
* 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["_victim", "_killer", "_instigator", "_countDeath", "_countKill", "_killSummary", "_killingPlayer", "_killType", "_oldVictimRespect", "_newVictimRespect", "_oldKillerRespect", "_newKillerRespect", "_unknownReasons", "_systemChat", "_modifyVictimRespect", "_respectLoss", "_perks", "_minRespectTransfer", "_respectTransfer", "_perkNames", "_killerStatsNeedUpdate", "_newKillerFrags", "_victimStatsNeedUpdate", "_newVictimDeaths", "_victimPosition"];
_victim = _this select 0;
_killer = _this select 1;
_instigator = _this select 2;
if (!isServer || hasInterface || isNull _victim) exitWith {};
_victim setVariable ["ExileDiedAt", time];
if !(isPlayer _victim) exitWith {};
_victim setVariable ["ExileIsDead", true];
_victim setVariable ["ExileName", name _victim, true];
_countDeath = false;
_countKill = false;
_killSummary = [];
_killingPlayer = _killer call ExileServer_util_getFragKiller;
_killType = [_victim, _killer, _killingPlayer, _instigator] call ExileServer_util_getFragType;
_oldVictimRespect = _victim getVariable ["ExileScore", 0];
_newVictimRespect = _oldVictimRespect;
_oldKillerRespect = 0;
if !(isNull _killingPlayer) then
{
_oldKillerRespect = _killingPlayer getVariable ["ExileScore", 0];
};
_newKillerRespect = _oldKillerRespect;
switch (_killType) do
{
default
{
_unknownReasons =
[
"%1 died because... Arma.",
"%1 died because the universe hates him.",
"%1 died a mysterious death.",
"%1 died and nobody knows why.",
"%1 died because that's why.",
"%1 died because %1 was very unlucky.",
"%1 died due to Arma bugs and is probably very salty right now.",
"%1 died an awkward death.",
"%1 died. Yes, %1 is dead. Like really dead-dead."
];
_countDeath = true;
_systemChat = format [selectRandom _unknownReasons, name _victim];
_newVictimRespect = _oldVictimRespect - round ((abs _oldVictimRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "unlucky")));
};
case 1:
{
_countDeath = true;
_modifyVictimRespect = true;
_systemChat = format ["%1 commited suicide!", name _victim];
_newVictimRespect = _oldVictimRespect - round ((abs _oldVictimRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "suicide")));
};
case 2:
{
_countDeath = true;
_countKill = false;
_systemChat = format ["%1 died while playing Russian Roulette!", name _victim];
_newVictimRespect = _oldVictimRespect;
_victim call ExileServer_system_russianRoulette_event_onPlayerDied;
};
case 3:
{
_countDeath = true;
_countKill = false;
_systemChat = format ["%1 crashed to death!", name _victim];
_newVictimRespect = _oldVictimRespect - round ((abs _oldVictimRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "crash")));
};
case 4:
{
_countDeath = true;
_countKill = false;
_systemChat = format ["%1 was killed by an NPC!", name _victim];
_newVictimRespect = _oldVictimRespect - round ((abs _oldVictimRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "npc")));
};
case 5:
{
_countDeath = false;
_countKill = false;
_systemChat = format ["%1 was team-killed by %2!", name _victim, name _killingPlayer];
_respectLoss = round ((abs _oldKillerRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "friendyFire")));
_newKillerRespect = _oldKillerRespect - _respectLoss;
_killSummary pushBack ["FRIENDLY FIRE", -1 * _respectLoss];
};
case 6:
{
_countDeath = false;
_countKill = false;
_systemChat = format ["%1 was killed by %2! (BAMBI SLAYER)", name _victim, name _killingPlayer];
_respectLoss = round ((abs _oldKillerRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "bambiKill")));
_newKillerRespect = _oldKillerRespect - _respectLoss;
_killSummary pushBack ["BAMBI SLAYER", -1 * _respectLoss];
};
case 7:
{
_countDeath = true;
_countKill = true;
_perks = [_victim, _killer, _killingPlayer] call ExileServer_util_getFragPerks;
_minRespectTransfer = getNumber (configFile >> "CfgSettings" >> "Respect" >> "minRespectTransfer");
_respectTransfer = round ((abs _oldVictimRespect) / 100 * (getNumber (configFile >> "CfgSettings" >> "Respect" >> "Percentages" >> "frag")));
if (_respectTransfer < _minRespectTransfer) then
{
_respectTransfer = _minRespectTransfer;
};
_newVictimRespect = _oldVictimRespect - _respectTransfer;
_newKillerRespect = _oldKillerRespect + _respectTransfer;
_killSummary pushBack ["ENEMY FRAGGED", _respectTransfer];
if (_perks isEqualTo []) then
{
_systemChat = format ["%1 was killed by %2!", name _victim, name _killingPlayer];
}
else
{
_perkNames = [];
{
_perkNames pushBack (_x select 0);
_killSummary pushBack _x;
_newKillerRespect = _newKillerRespect + (_x select 1);
}
forEach _perks;
_systemChat = format ["%1 was killed by %2! (%3)", name _victim, name _killingPlayer, _perkNames joinString ", "];
};
};
};
if !(isNull _killingPlayer) then
{
if !(_killSummary isEqualTo []) then
{
[_killingPlayer, "showFragRequest", [_killSummary]] call ExileServer_system_network_send_to;
};
};
if !(isNull _killingPlayer) then
{
_killerStatsNeedUpdate = false;
if (_countKill) then
{
_newKillerFrags = _killingPlayer getVariable ["ExileKills", 0];
_newKillerFrags = _newKillerFrags + 1;
_killerStatsNeedUpdate = true;
_killingPlayer setVariable ["ExileKills", _newKillerFrags];
format["addAccountKill:%1", getPlayerUID _killingPlayer] call ExileServer_system_database_query_fireAndForget;
};
if !(_newKillerRespect isEqualTo _oldKillerRespect) then
{
_killingPlayer setVariable ["ExileScore", _newKillerRespect];
_killerStatsNeedUpdate = true;
format["setAccountScore:%1:%2", _newKillerRespect, getPlayerUID _killingPlayer] call ExileServer_system_database_query_fireAndForget;
};
if (_killerStatsNeedUpdate) then
{
_killingPlayer call ExileServer_object_player_sendStatsUpdate;
};
};
_victimStatsNeedUpdate = false;
if (_countDeath) then
{
_newVictimDeaths = _victim getVariable ["ExileDeaths", 0];
_newVictimDeaths = _newVictimDeaths + 1;
_victim setVariable ["ExileDeaths", _newVictimDeaths];
_victimStatsNeedUpdate = true;
format["addAccountDeath:%1", getPlayerUID _victim] call ExileServer_system_database_query_fireAndForget;
};
if !(_newVictimRespect isEqualTo _oldVictimRespect) then
{
_victim setVariable ["ExileScore", _newVictimRespect];
_victimStatsNeedUpdate = true;
format["setAccountScore:%1:%2", _newVictimRespect, getPlayerUID _victim] call ExileServer_system_database_query_fireAndForget;
};
if (_victimStatsNeedUpdate) then
{
_victim call ExileServer_object_player_sendStatsUpdate;
};
if ((vehicle _victim) isEqualTo _victim) then
{
if !(underwater _victim) then
{
if !(_victim call ExileClient_util_world_isInTraderZone) then
{
_victim call ExileServer_object_flies_spawn;
};
};
};
if !(_systemChat isEqualTo "") then
{
if ((getNumber (configFile >> "CfgSettings" >> "KillFeed" >> "showKillFeed")) isEqualTo 1) then
{
["systemChatRequest", [_systemChat]] call ExileServer_system_network_send_broadcast;
};
};
if !(_systemChat isEqualTo "") then
{
if ((getNumber (configFile >> "CfgSettings" >> "Logging" >> "deathLogging")) isEqualTo 1) then
{
"extDB3" callExtension format["1:DEATH:%1", _systemChat];
};
};
_victimPosition = getPos _victim;
format["insertPlayerHistory:%1:%2:%3:%4:%5", getPlayerUID _victim, name _victim, _victimPosition select 0, _victimPosition select 1, _victimPosition select 2] call ExileServer_system_database_query_fireAndForget;
format["deletePlayer:%1", _victim getVariable ["ExileDatabaseId", -1]] call ExileServer_system_database_query_fireAndForget;
true

View File

@ -1,22 +0,0 @@
/**
* ExileServer_object_vehicle_createNonPersistentVehicle
*
* 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["_className", "_position", "_direction", "_usePositionATL", "_vehicleObject"];
_className = _this select 0;
_position = _this select 1;
_direction = _this select 2;
_usePositionATL = _this select 3;
_vehicleObject = [_className, _position, _direction, _usePositionATL] call ExileServer_object_vehicle_carefulCreateVehicle;
_vehicleObject setVariable ["ExileIsPersistent", false];
_vehicleObject addEventHandler ["GetIn", {_this call ExileServer_object_vehicle_event_onGetIn}];
_vehicleObject addMPEventHandler ["MPKilled", { if !(isServer) exitWith {}; _this call ExileServer_object_vehicle_event_onMPKilled;}];
_vehicleObject enableDynamicSimulation true;
_vehicleObject

View File

@ -1,25 +0,0 @@
/**
* ExileServer_object_vehicle_createPersistentVehicle
*
* 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["_className", "_position", "_direction", "_usePositionATL", "_pinCode", "_vehicleObject"];
_className = _this select 0;
_position = _this select 1;
_direction = _this select 2;
_usePositionATL = _this select 3;
_pinCode = _this select 4;
_vehicleObject = [_className, _position, _direction, _usePositionATL] call ExileServer_object_vehicle_carefulCreateVehicle;
_vehicleObject setVariable ["ExileIsPersistent", true];
_vehicleObject setVariable ["ExileAccessCode", _pinCode];
_vehicleObject addEventHandler ["GetOut", {_this call ExileServer_object_vehicle_event_onGetOut}];
_vehicleObject addEventHandler ["GetIn", {_this call ExileServer_object_vehicle_event_onGetIn}];
_vehicleObject addMPEventHandler ["MPKilled", { if !(isServer) exitWith {}; _this call ExileServer_object_vehicle_event_onMPKilled;}];
_vehicleObject enableDynamicSimulation true;
_vehicleObject

View File

@ -1,105 +0,0 @@
/**
* 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];
_pinCode = _data select 20;
_texture = _data select 21;
try
{
if !((vectorMagnitude _vectorUp) isEqualTo 1) then
{
throw true;
};
if ((_vectorUp select 0) > 0.95) then
{
throw true;
};
if ((_vectorUp select 1) > 0.95) then
{
throw true;
};
if ((_vectorUp select 2) isEqualTo 0) then
{
throw true;
};
}
catch
{
_vectorUp = [0, 0, 1];
};
_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);
_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 enableDynamicSimulation true;
if (_vehicleObject call ExileClient_util_world_isInTraderZone) then
{
_vehicleObject allowDamage false;
};
_vehicleObject

View File

@ -1,62 +0,0 @@
/**
* ExileServer_system_database_connect
*
* 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["_isConnected","_error","_result"];
_isConnected = false;
_error_locked = false;
ExileServerDatabaseSessionId = "";
ExileServerRconSessionID = "";
try
{
_result = "extDB3" callExtension "9:VERSION";
format ["Installed extDB3 version: %1", _result] call ExileServer_util_log;
if ((parseNumber _result) < 1.027) then
{
throw format ["Error Required extDB3 Version 1.027 or higher: %1", _result];
};
_result = parseSimpleArray ("extDB3" callExtension "9:ADD_DATABASE:exile");
if (_result select 0 isEqualTo 0) then
{
throw format ["Could not add database: %1", _result];
};
"Connected to database!" call ExileServer_util_log;
ExileServerDatabaseSessionId = "SQL"; //str(round(random(999999)));
_result = parseSimpleArray ("extDB3" callExtension "9:ADD_DATABASE_PROTOCOL:exile:SQL_CUSTOM:SQL:exile.ini");
if ((_result select 0) isEqualTo 0) then
{
throw format ["Failed to initialize database protocol: %1", _result];
};
ExileServerStartTime = (parseSimpleArray ("extDB3" callExtension "9:LOCAL_TIME")) select 1;
"Database protocol initialized!" call ExileServer_util_log;
"extDB3" callExtension "9:ADD_PROTOCOL:LOG:TRADING:Exile_TradingLog";
"extDB3" callExtension "9:ADD_PROTOCOL:LOG:DEATH:Exile_DeathLog";
"extDB3" callExtension "9:ADD_PROTOCOL:LOG:TERRITORY:Exile_TerritoryLog";
"extDB3" callExtension "9:LOCK";
_isConnected = true;
}
catch
{
if (!_error_locked) then
{
"MySQL connection error!" call ExileServer_util_log;
"Make sure [Database] in the extdb3-conf.ini is set to [exile] unless you have a different database setup!!!!!" call ExileServer_util_log;
"Please have a look at @extDB3/logs/ to find out what went wrong." call ExileServer_util_log;
format ["MySQL Error: %1", _exception] call ExileServer_util_log;
"Server will shutdown now :(" call ExileServer_util_log;
//"extDB3" callExtension "9:SHUTDOWN"; Not implemented in extDB3
}
else
{
format ["extDB3: %1", _exception] call ExileServer_util_log;
"Check your server rpt for errors, your mission might be stuck a loop restarting" call ExileServer_util_log;
};
};
_isConnected

View File

@ -1,21 +0,0 @@
/**
* ExileServer_system_database_handleBig
*
* 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["_key", "_result", "_pipe"];
_key = _this;
_result = "";
while{true} do
{
_pipe = "extDB3" callExtension format["5:%1", _key];
if(_pipe isEqualTo "") exitWith {};
_result = _result + _pipe;
};
call (compile _result)

View File

@ -1,16 +0,0 @@
/**
* ExileServer_system_database_query_fireAndForget
*
* 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["_parameters","_query"];
_parameters = _this;
_query = [1, "SQL",_parameters] joinString ":";
"extDB3" callExtension _query;
true

View File

@ -1,16 +0,0 @@
/**
* ExileServer_system_database_query_insertSingle
*
* 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["_parameters","_query","_result"];
_parameters = _this;
_query = [0, "SQL",_parameters] joinString ":";
_result = parseSimpleArray ("extDB3" callExtension _query);
(_result select 1) select 0

View File

@ -1,27 +0,0 @@
/**
* ExileServer_system_database_query_selectFull
*
* 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["_parameters","_query","_result"];
_parameters = _this;
_query = [0, "SQL",_parameters] joinString ":";
_result = parseSimpleArray ("extDB3" callExtension _query);
switch (_result select 0) do
{
case 0:
{
(format["Database Error: %1", (_result select 1)]) call ExileServer_util_log;
};
case 2:
{
_result = (_result select 1) call ExileServer_system_database_handleBig;
};
};
_result select 1

View File

@ -1,27 +0,0 @@
/**
* ExileServer_system_database_query_selectSingle
*
* 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["_parameters","_query","_result"];
_parameters = _this;
_query = [0, "SQL",_parameters] joinString ":";
_result = parseSimpleArray ("extDB3" callExtension _query);
switch (_result select 0) do
{
case 0:
{
(format["Database Error: %1", (_result select 1)]) call ExileServer_util_log;
};
case 2:
{
_result = (_result select 1) call ExileServer_system_database_handleBig;
};
};
(_result select 1) select 0

View File

@ -1,27 +0,0 @@
/**
* ExileServer_system_database_query_selectSingleField
*
* 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["_parameters","_query","_result"];
_parameters = _this;
_query = [0,"SQL",_parameters] joinString ":";
_result = parseSimpleArray ("extDB3" callExtension _query);
switch (_result select 0) do
{
case 0:
{
(format["Database Error: %1", (_result select 1)]) call ExileServer_util_log;
};
case 2:
{
_result = (_result select 1) call ExileServer_system_database_handleBig;
};
};
((_result select 1) select 0) select 0

View File

@ -1,40 +0,0 @@
/**
* ExileServer_system_territory_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["_flagObject","_territoryName","_flagTexture","_territorySize","_owner","_position","_build","_moderators","_data","_extDB2Message","_territoryID"];
_flagObject = _this select 0;
_territoryName = _this select 1;
_flagTexture = _this select 2;
_territorySize = ((getArray(missionConfigFile >> "CfgTerritories" >> "prices")) select 0)select 1;
_owner = _flagObject getVariable ["ExileOwnerUID",""];
_position = getPosATL _flagObject;
_build_rights = _flagObject getVariable ["ExileTerritoryBuildRights",[]];
_moderators = _flagObject getVariable ["ExileTerritoryModerators",[]];
_data =
[
_owner,
_territoryName,
_position select 0,
_position select 1,
_position select 2,
_territorySize,
1,
_flagTexture,
0,
_build_rights,
_moderators,
""
];
_extDB2Message = ["createTerritory", _data] call ExileServer_util_extDB2_createMessage;
_territoryID = _extDB2Message call ExileServer_system_database_query_insertSingle;
_flagObject setVariable ["ExileDatabaseID",_territoryID];
_flagObject setVariable ["ExileFlagTexture",_flagTexture];
true

View File

@ -1,19 +0,0 @@
/**
* ExileServer_system_territory_maintenance_recalculateDueDate
*
* 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["_flag", "_currentTimestamp", "_flagBuild", "_maintenancePeriod", "_maintenancePeriodDueDate"];
_flag = _this;
_currentTimestamp = call ExileServer_util_time_currentTime;
_flagBuild = _flag getVariable ["ExileTerritoryLastPayed", _currentTimestamp];
_maintenancePeriod = getNumber(configFile >> "CfgSettings" >> "GarbageCollector" >> "Database" >> "territoryLifeTime");
_maintenancePeriodDueDate = parseSimpleArray ("extDB3" callExtension format["9:DATEADD:%1:[%2,0,0,0]",_flagBuild,_maintenancePeriod]);
_flag setVariable ["ExileTerritoryMaintenanceDue", _maintenancePeriodDueDate select 1, true];
true

View File

@ -1,54 +0,0 @@
/**
* ExileServer_system_territory_network_flagStolenRequest
*
* 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["_sessionID","_parameters","_flag","_playerObject","_databaseID","_level","_flagPosition","_spawnRadius","_weaponHolderPosition","_weaponHolder","_logging","_territoryLog"];
_sessionID = _this select 0;
_parameters = _this select 1;
_flag = _parameters select 0;
try
{
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw "Player Object NULL";
};
if ((_flag getVariable ["ExileFlagStolen", 0]) isEqualTo 1) then
{
throw "Flag already stolen!";
};
if ((_playerObject distance2D _flag) > 5) then
{
throw "You are too far away!";
};
_databaseID = _flag getVariable ["ExileDatabaseID",0];
_level = _flag getVariable ["ExileTerritoryLevel",_level];
_flagPosition = getPosATL _flag;
_flagPosition set[2, 0];
_spawnRadius = 3;
_weaponHolderPosition = getPosATL _playerObject;
_weaponHolder = createVehicle ["GroundWeaponHolder", _weaponHolderPosition, [], 0, "CAN_COLLIDE"];
_weaponHolder setPosATL _weaponHolderPosition;
_weaponHolder addMagazineCargoGlobal [format["Exile_Item_FlagStolen%1", _level], 1];
_flag setVariable ["ExileFlagStolen", 1, true];
format["flagStolen:%1:%2",getPlayerUID _playerObject,_databaseID] call ExileServer_system_database_query_fireAndForget;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging");
if (_logging isEqualTo 1) then
{
_territoryLog = format ["PLAYER ( %1 ) %2 STOLE A LEVEL %3 FLAG FROM TERRITORY #%4",getPlayerUID _playerObject,_playerObject,_level,_databaseID];
"extDB3" callExtension format["1:TERRITORY:%1",_territoryLog];
};
_flag call ExileServer_system_xm8_sendFlagStolen;
}
catch
{
[_sessionID, "toastRequest", ["ErrorTitleAndText", ["Failed to steal!", _exception]]] call ExileServer_system_network_send_to;
};
true

View File

@ -1,79 +0,0 @@
/**
* ExileServer_system_territory_network_payFlagRansomRequest
*
* 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["_sessionID","_parameters","_flagNetID","_flag","_playerObject","_buildRights","_playerUID","_level","_itemClassName","_flagFee","_playerMoney","_logging","_databaseID","_territoryLog"];
_sessionID = _this select 0;
_parameters = _this select 1;
_flagNetID = _parameters select 0;
try
{
_flag = objectFromNetid _flagNetID;
if (isNull _flag) then
{
throw "Territory not found!";
};
if ((_flag getVariable ["ExileFlagStolen", 1]) isEqualTo 0) then
{
throw "Flag not stolen!";
};
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw "You do not exist!";
};
if !(alive _playerObject) then
{
throw "You are dead!";
};
_buildRights = _flag getVariable ["ExileTerritoryBuildRights", []];
_playerUID = getPlayerUID _playerObject;
if !(_playerUID in _buildRights) then
{
throw "Missing build rights!";
};
_level = _flag getVariable ["ExileTerritoryLevel", 0];
_itemClassName = format["Exile_Item_FlagStolen%1", _level];
if !(isClass (missionConfigFile >> "CfgExileArsenal" >> _itemClassName) ) then
{
throw "Flag price not found!";
};
_flagFee = getNumber (missionConfigFile >> "CfgExileArsenal" >> _itemClassName >> "price");
if (_flagFee <= 0) then
{
throw "Invalid flag price!";
};
_playerMoney = _playerObject getVariable ["ExileMoney", 0];
if (_playerMoney < _flagFee) then
{
throw "You are too poor!";
};
if !(_playerObject canAdd _itemClassName) then
{
throw "Inventory is full!";
};
_playerMoney = _playerMoney - _flagFee;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format ["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
_playerObject addItem _itemClassName;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging");
if (_logging isEqualTo 1) then
{
_databaseID = _flag getVariable ["ExileDatabaseID",0];
_territoryLog = format ["PLAYER ( %1 ) %2 PAID %3 POP TABS FOR THE RANSOM OF TERRITORY #%4 | PLAYER TOTAL POP TABS: %5", _playerUID, _playerObject, _flagFee, _databaseID, _playerMoney];
"extDB3" callExtension format["1:TERRITORY:%1", _territoryLog];
};
[_sessionID, "toastRequest", ["SuccessTitleOnly", ["Random paid!"]]] call ExileServer_system_network_send_to;
}
catch
{
[_sessionID, "toastRequest", ["ErrorTitleAndText", ["Failed to pay!", _exception]]] call ExileServer_system_network_send_to;
};
true

View File

@ -1,64 +0,0 @@
/**
* ExileServer_system_territory_network_payTerritoryProtectionMoneyRequest
*
* 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["_sessionID","_parameters","_flagNetID","_playerObject","_flagObject","_flagStolen","_territoryDatabaseID","_radius","_level","_objectsInTerritory","_popTabAmountPerObject","_totalPopTabAmount","_playerPopTabs","_currentTimestamp","_logging","_territoryLog"];
_sessionID = _this select 0;
_parameters = _this select 1;
_flagNetID = _parameters select 0;
try
{
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw "Invalid player object";
};
_flagObject = objectFromNetId _flagNetID;
if (isNull _flagObject) then
{
throw "Invalid flag object";
};
_flagStolen = _flagObject getVariable ["ExileFlagStolen", 0];
if (_flagStolen isEqualTo 1) then
{
throw "Flag stolen!";
};
_territoryDatabaseID = _flagObject getVariable ["ExileDatabaseID", 0];
_radius = _flagObject getVariable ["ExileTerritorySize", 15];
_level = _flagObject getVariable ["ExileTerritoryLevel", 1];
_objectsInTerritory = _flagObject getVariable ["ExileTerritoryNumberOfConstructions", 0];
_popTabAmountPerObject = getNumber (missionConfigFile >> "CfgTerritories" >> "popTabAmountPerObject");
_totalPopTabAmount = _level * _popTabAmountPerObject * _objectsInTerritory;
_playerPopTabs = _playerObject getVariable ["ExileMoney", 0];
if (_playerPopTabs < _totalPopTabAmount) then
{
throw "You do not have enough pop tabs!";
};
_playerPopTabs = _playerPopTabs - _totalPopTabAmount;
_playerObject setVariable ["ExileMoney", _playerPopTabs, true];
format["setPlayerMoney:%1:%2", _playerPopTabs, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
_currentTimestamp = call ExileServer_util_time_currentTime;
_flagObject setVariable ["ExileTerritoryLastPayed", _currentTimestamp];
_flagObject call ExileServer_system_territory_maintenance_recalculateDueDate;
format["maintainTerritory:%1", _territoryDatabaseID] call ExileServer_system_database_query_fireAndForget;
[_sessionID, "toastRequest", ["SuccessTitleOnly", ["Protection money paid!"]]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging");
if (_logging isEqualTo 1) then
{
_territoryLog = format ["PLAYER ( %1 ) %2 PAID %3 POP TABS TO PROTECT TERRITORY #%4 | PLAYER TOTAL POP TABS: %5",getPlayerUID _playerObject,_playerObject,_totalPopTabAmount,_territoryDatabaseID,_playerPopTabs];
"extDB3" callExtension format["1:TERRITORY:%1",_territoryLog];
};
_flagObject call ExileServer_system_xm8_sendProtectionMoneyPaid;
}
catch
{
[_sessionID, "toastRequest", ["ErrorTitleAndText", ["Failed to pay!", _exception]]] call ExileServer_system_network_send_to;
_exception call ExileServer_util_log;
};

View File

@ -1,46 +0,0 @@
/**
* ExileServer_system_territory_network_purchaseTerritory
*
* 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["_sessionID","_player","_price","_playerMoney","_logging","_territoryLog"];
_sessionID = _this select 0;
try
{
_player = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _player) then
{
throw 1;
};
if !(alive _player) then
{
throw 2;
};
_price = ((getArray(missionConfigFile >> "CfgTerritories" >> "prices")) select 0) select 0;
_playerMoney = _player getVariable ["ExileMoney", 0];
if (_price > _playerMoney) then
{
throw 3;
};
_playerMoney = _playerMoney - _price;
_player setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _player getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
[_sessionID, "purchaseTerritoryResponse" , [0]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging");
if (_logging isEqualTo 1) then
{
_territoryLog = format ["PLAYER ( %1 ) %2 PAID %3 POP TABS TO PURCHASE A TERRITORY FLAG | PLAYER TOTAL POP TABS: %4",getPlayerUID _player,_player,_price,_playerMoney];
"extDB3" callExtension format["1:TERRITORY:%1",_territoryLog];
};
}
catch
{
[_sessionID, "purchaseTerritoryResponse" , [_exception]] call ExileServer_system_network_send_to;
};
true

View File

@ -1,71 +0,0 @@
/**
* ExileServer_system_territory_network_restoreFlagRequest
*
* 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["_sessionID","_parameters","_flagNetID","_flag","_playerObject","_buildRights","_playerUID","_level","_itemClassName","_territoryDatabaseID","_flagTexture","_logging"];
_sessionID = _this select 0;
_parameters = _this select 1;
_flagNetID = _parameters select 0;
try
{
_flag = objectFromNetid _flagNetID;
if (isNull _flag) then
{
throw "Territory not found!";
};
if ((_flag getVariable ["ExileFlagStolen", 1]) isEqualTo 0) then
{
throw "Flag is not stolen!";
};
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw "You do not exist!";
};
if !(alive _playerObject) then
{
throw "You are dead! Didn't you know that?";
};
if ((_playerObject distance2D _flag) > 4) then
{
throw "You are too far away.";
};
_buildRights = _flag getVariable ["ExileTerritoryBuildRights", []];
_playerUID = getPlayerUID _playerObject;
if !(_playerUID in _buildRights) then
{
throw "Missing build rights.";
};
_level = _flag getVariable ["ExileTerritoryLevel", 0];
_itemClassName = format["Exile_Item_FlagStolen%1", _level];
if !(_itemClassName in (magazines _playerObject)) then
{
throw format ["You need a level %1 flag.", _level];
};
_playerObject removeItem _itemClassName;
_territoryDatabaseID = _flag getVariable ["ExileDatabaseID", 0];
format["flagRestore:%1", _territoryDatabaseID] call ExileServer_system_database_query_fireAndForget;
_flag setVariable ["ExileFlagStolen", 0, true];
_flag setFlagOwner objNull;
_flagTexture = _flag getVariable "ExileFlagTexture";
_flag setFlagTexture _flagTexture;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging");
if (_logging isEqualTo 1) then
{
"extDB3" callExtension format ["1:TERRITORY:PLAYER ( %1 ) %2 RESTORED THE FLAG OF TERRITORY #%3", _playerUID, _playerObject, _territoryDatabaseID];
};
[_sessionID, "toastRequest", ["SuccessTitleAndText", ["Flag has been restored!", "You can now maintain and build on our territory again."]]] call ExileServer_system_network_send_to;
_flag call ExileServer_system_xm8_sendFlagRestored;
}
catch
{
[_sessionID, "toastRequest", ["ErrorTitleAndText", ["Failed to restore!", _exception]]] call ExileServer_system_network_send_to;
};
true

View File

@ -1,72 +0,0 @@
/**
* ExileServer_system_territory_network_territoryUpgradeRequest
*
* 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["_sessionID","_parameters","_flag","_playerObject","_databaseID","_moderators","_level","_territoryConfig","_territoryLevels","_territoryPrice","_territoryRange","_playerMoney","_logging","_territoryLog"];
_sessionID = _this select 0;
_parameters = _this select 1;
_flag = _parameters select 0;
try
{
if (isNull _flag) then
{
throw "Invalid flag object";
};
if ((_flag getVariable ["ExileFlagStolen", 0]) isEqualTo 1) then
{
throw "Flag is stolen!";
};
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw "Player Object NULL";
};
_databaseID = _flag getVariable ["ExileDatabaseID",0];
_moderators = _flag getVariable ["ExileTerritoryModerators",[]];
if !((getPlayerUID _playerObject) in _moderators) then
{
throw "No upgrade Access!";
};
_level = _flag getVariable ["ExileTerritoryLevel",_level];
_territoryConfig = getArray(missionConfigFile >> "CfgTerritories" >> "Prices");
_territoryLevels = count _territoryConfig;
if (_territoryLevels < (_level + 1)) then
{
throw "This territory has already the highest level.";
};
_territoryPrice = (_territoryConfig select _level) select 0;
_territoryRange = (_territoryConfig select _level) select 1;
_playerMoney = _playerObject getVariable ["ExileMoney",0];
if (_playerMoney < _territoryPrice) then
{
throw "Not enough pop tabs!";
};
_playerMoney = _playerMoney - _territoryPrice;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
_flag setVariable ["ExileTerritoryLevel",_level + 1, true];
_flag setVariable ["ExileTerritorySize",_territoryRange, true];
format ["setTerritoryLevel:%1:%2",_level + 1,_databaseID] call ExileServer_system_database_query_fireAndForget;
format ["setTerritorySize:%1:%2",_territoryRange,_databaseID] call ExileServer_system_database_query_fireAndForget;
_flag call ExileServer_system_territory_updateNearContainers;
_flag call ExileServer_system_territory_updateNearConstructions;
[_sessionID, "toastRequest", ["SuccessTitleAndText", ["Territory upgraded!", format ["Your territory has reached level %1 and now has a new radius of %2 meters.", _level + 1, _territoryRange]]]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "territoryLogging");
if (_logging isEqualTo 1) then
{
_territoryLog = format ["PLAYER ( %1 ) %2 PAID %3 POP TABS TO UPGRADE TERRITORY #%4 TO LEVEL %5 | PLAYER TOTAL POP TABS: %6",getPlayerUID _playerObject,_playerObject,_territoryPrice,_databaseID,(_level + 1),_playerMoney];
"extDB3" callExtension format["1:TERRITORY:%1",_territoryLog];
};
}
catch
{
[_sessionID, "toastRequest", ["ErrorTitleAndText", ["Failed to upgrade!", _exception]]] call ExileServer_system_network_send_to;
};
true

View File

@ -1,82 +0,0 @@
/**
* ExileServer_system_trading_network_purchaseItemRequest
*
* 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["_sessionID","_parameters","_itemClassName","_quantity","_containerType","_containerNetID","_playerObject","_vehicleObject","_salesPrice","_playerMoney","_playerRespect","_quality","_requiredRespect","_logging","_traderLog","_responseCode"];
_sessionID = _this select 0;
_parameters = _this select 1;
_itemClassName = _parameters select 0;
_quantity = _parameters select 1;
_containerType = _parameters select 2;
_containerNetID = _parameters select 3;
try
{
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (_playerObject getVariable ["ExileMutex",false]) then
{
throw 12;
};
_playerObject setVariable ["ExileMutex",true];
_vehicleObject = objNull;
if (isNull _playerObject) then
{
throw 1;
};
if !(alive _playerObject) then
{
throw 2;
};
if !(isClass (missionConfigFile >> "CfgExileArsenal" >> _itemClassName) ) then
{
throw 3;
};
_salesPrice = getNumber (missionConfigFile >> "CfgExileArsenal" >> _itemClassName >> "price");
if (_salesPrice <= 0) then
{
throw 4;
};
_playerMoney = _playerObject getVariable ["ExileMoney", 0];
if (_playerMoney < _salesPrice) then
{
throw 5;
};
_playerRespect = _playerObject getVariable ["ExileScore", 0];
_quality = getNumber(missionConfigFile >> "CfgExileArsenal" >> _itemClassName >> "quality");
_requiredRespect = getNumber(missionConfigFile >> "CfgTrading" >> "requiredRespect" >> format["Level%1",_quality]);
if (_playerRespect < _requiredRespect) then
{
throw 14;
};
_playerMoney = _playerMoney - _salesPrice;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
[_sessionID, "purchaseItemResponse", [0, _salesPrice, _itemClassName, 1, _containerType, _containerNetID]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "traderLogging");
if (_logging isEqualTo 1) then
{
_traderLog = format ["PLAYER: ( %1 ) %2 PURCHASED ITEM %3 FOR %4 POPTABS | PLAYER TOTAL MONEY: %5",getPlayerUID _playerObject,_playerObject,_itemClassName,_salesPrice,_playerMoney];
"extDB3" callExtension format["1:TRADING:%1",_traderLog];
};
if !(_vehicleObject isEqualTo objNull) then
{
_vehicleObject call ExileServer_object_vehicle_database_update;
}
else
{
_playerObject call ExileServer_object_player_database_update;
};
}
catch
{
_responseCode = _exception;
[_sessionID, "purchaseItemResponse", [_responseCode, 0, "", 0, 0, ""]] call ExileServer_system_network_send_to;
};
_playerObject setVariable ["ExileMutex",false];
true

View File

@ -1,90 +0,0 @@
/**
* ExileServer_system_trading_network_purchaseVehicleRequest
*
* 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["_sessionID","_parameters","_vehicleClass","_pinCode","_playerObject","_salesPrice","_playerMoney","_position","_vehicleObject","_logging","_traderLog","_responseCode"];
_sessionID = _this select 0;
_parameters = _this select 1;
_vehicleClass = _parameters select 0;
_pinCode = _parameters select 1;
try
{
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw 1;
};
if !(alive _playerObject) then
{
throw 2;
};
if (_playerObject getVariable ["ExileMutex",false]) then
{
throw 12;
};
_playerObject setVariable ["ExileMutex", true];
if !(isClass (missionConfigFile >> "CfgExileArsenal" >> _vehicleClass) ) then
{
throw 3;
};
_salesPrice = getNumber (missionConfigFile >> "CfgExileArsenal" >> _vehicleClass >> "price");
if (_salesPrice <= 0) then
{
throw 4;
};
_playerMoney = _playerObject getVariable ["ExileMoney", 0];
if (_playerMoney < _salesPrice) then
{
throw 5;
};
if !((count _pinCode) isEqualTo 4) then
{
throw 11;
};
if (_vehicleClass isKindOf "Ship") then
{
_position = [(getPosATL _playerObject), 100, 20] call ExileClient_util_world_findWaterPosition;
_vehicleObject = [_vehicleClass, _position, (random 360), false, _pinCode] call ExileServer_object_vehicle_createPersistentVehicle;
}
else
{
_position = (getPos _playerObject) findEmptyPosition [10, 250, _vehicleClass];
if (_position isEqualTo []) then
{
throw 13;
};
_vehicleObject = [_vehicleClass, _position, (random 360), true, _pinCode] call ExileServer_object_vehicle_createPersistentVehicle;
};
_vehicleObject setVariable ["ExileOwnerUID", (getPlayerUID _playerObject)];
_vehicleObject setVariable ["ExileIsLocked",0];
_vehicleObject lock 0;
_vehicleObject call ExileServer_object_vehicle_database_insert;
_vehicleObject call ExileServer_object_vehicle_database_update;
_playerMoney = _playerMoney - _salesPrice;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
[_sessionID, "purchaseVehicleResponse", [0, netId _vehicleObject, _salesPrice]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "traderLogging");
if (_logging isEqualTo 1) then
{
_traderLog = format ["PLAYER: ( %1 ) %2 PURCHASED VEHICLE %3 FOR %4 POPTABS | PLAYER TOTAL MONEY: %5",getPlayerUID _playerObject,_playerObject,_vehicleClass,_salesPrice,_playerMoney];
"extDB3" callExtension format["1:TRADING:%1",_traderLog];
};
}
catch
{
_responseCode = _exception;
[_sessionID, "purchaseVehicleResponse", [_responseCode, "", 0]] call ExileServer_system_network_send_to;
};
if !(isNull _playerObject) then
{
_playerObject setVariable ["ExileMutex", false];
};
true

View File

@ -1,93 +0,0 @@
/**
* ExileServer_system_trading_network_purchaseVehicleSkinRequest
*
* 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["_sessionID","_parameters","_vehicleNetID","_skinTextures","_playerObject","_vehicleObject","_vehicleParentClass","_salesPrice","_skinVariations","_availableSkinTexture","_playerMoney","_skinMaterials","_skinClassName","_vehicleID","_logging","_traderLog","_responseCode"];
_sessionID = _this select 0;
_parameters = _this select 1;
_vehicleNetID = _parameters select 0;
_skinTextures = _parameters select 1;
try
{
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw 1;
};
if !(alive _playerObject) then
{
throw 2;
};
if(_playerObject getVariable ["ExileMutex",false]) then
{
throw 12;
};
_playerObject setVariable ["ExileMutex",true];
_vehicleObject = objectFromNetId _vehicleNetID;
if (isNull _vehicleObject) then
{
throw 6;
};
_vehicleParentClass = configName (inheritsFrom (configFile >> "CfgVehicles" >> (typeOf _vehicleObject)));
if !(isClass (missionConfigFile >> "CfgVehicleCustoms" >> _vehicleParentClass) ) then
{
throw 7;
};
_salesPrice = -1;
_skinVariations = getArray(missionConfigFile >> "CfgVehicleCustoms" >> _vehicleParentClass >> "skins");
{
_availableSkinTexture = _x select 3;
if (_availableSkinTexture isEqualTo _skinTextures) exitWith
{
_salesPrice = _x select 1;
};
}
forEach _skinVariations;
if (_salesPrice <= 0) then
{
throw 4;
};
_playerMoney = _playerObject getVariable ["ExileMoney", 0];
if (_playerMoney < _salesPrice) then
{
throw 5;
};
_skinMaterials = getArray(configFile >> "CfgVehicles" >> _skinClassName >> "hiddenSelectionsMaterials");
{
_vehicleObject setObjectTextureGlobal [_forEachIndex, _skinTextures select _forEachIndex];
}
forEach _skinTextures;
{
_vehicleObject setObjectMaterial [_forEachIndex, _x];
}
forEach _skinMaterials;
_vehicleID = _vehicleObject getVariable ["ExileDatabaseID", -1];
format["updateVehicleSkin:%1:%2", _skinTextures, _vehicleID] call ExileServer_system_database_query_fireAndForget;
_playerMoney = _playerMoney - _salesPrice;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
[_sessionID, "purchaseVehicleSkinResponse", [0, _salesPrice]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "traderLogging");
if (_logging isEqualTo 1) then
{
_traderLog = format ["PLAYER: ( %1 ) %2 PURCHASED VEHICLE SKIN %3 (%4) FOR %5 POPTABS | PLAYER TOTAL MONEY: %6",getPlayerUID _playerObject,_playerObject,_skinTextures,_vehicleParentClass,_salesPrice,_playerMoney];
"extDB3" callExtension format["1:TRADING:%1",_traderLog];
};
}
catch
{
_responseCode = _exception;
[_sessionID, "purchaseVehicleSkinResponse", [_responseCode, 0]] call ExileServer_system_network_send_to;
};
if !(isNull _playerObject) then
{
_playerObject setVariable ["ExileMutex", false];
};
true

View File

@ -1,133 +0,0 @@
/**
* ExileServer_system_trading_network_sellItemRequest
*
* 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["_sessionID","_parameters","_itemClassName","_quantity","_containerType","_containerNetID","_playerObject","_vehicleObject","_sellPrice","_playerMoney","_noRespectItems","_playerRespect","_respectGain","_logging","_playerMoneyString","_traderLog","_responseCode"];
_sessionID = _this select 0;
_parameters = _this select 1;
_itemClassName = _parameters select 0;
_quantity = _parameters select 1;
_containerType = _parameters select 2;
_containerNetID = _parameters select 3;
try
{
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw 1;
};
if !(alive _playerObject) then
{
throw 2;
};
if(_playerObject getVariable ["ExileMutex",false]) then
{
throw 12;
};
_playerObject setVariable ["ExileMutex",true];
_vehicleObject = objNull;
if !(isClass (missionConfigFile >> "CfgExileArsenal" >> _itemClassName) ) then
{
throw 3;
};
_sellPrice = _itemClassName call ExileClient_util_gear_calculateSellPrice;
if (_containerType isEqualTo 1) then
{
if (_itemClassName isEqualTo (primaryWeapon _playerObject)) then
{
{
{
if !(_x isEqualTo "") then
{
_sellPrice = _sellPrice + (_x call ExileClient_util_gear_calculateSellPrice);
};
}
forEach _x;
}
forEach
[
primaryWeaponItems _playerObject,
primaryWeaponMagazine _playerObject
];
};
if (_itemClassName isEqualTo (handgunWeapon _playerObject)) then
{
{
{
if !(_x isEqualTo "") then
{
_sellPrice = _sellPrice + (_x call ExileClient_util_gear_calculateSellPrice);
};
}
forEach _x;
}
forEach
[
handgunItems _playerObject,
handgunMagazine _playerObject
];
};
};
if (_sellPrice <= 0) then
{
throw 4;
};
_playerMoney = _playerObject getVariable ["ExileMoney", 0];
_playerMoney = _playerMoney + _sellPrice;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
_noRespectItems =
[
"Exile_Item_FlagStolen1",
"Exile_Item_FlagStolen2",
"Exile_Item_FlagStolen3",
"Exile_Item_FlagStolen4",
"Exile_Item_FlagStolen5",
"Exile_Item_FlagStolen6",
"Exile_Item_FlagStolen7",
"Exile_Item_FlagStolen8",
"Exile_Item_FlagStolen9",
"Exile_Item_FlagStolen10"
];
_playerRespect = _playerObject getVariable ["ExileScore", 0];
if !(_itemClassName in _noRespectItems) then
{
_respectGain = _sellPrice * getNumber (configFile >> "CfgSettings" >> "Respect" >> "tradingRespectFactor");
_playerRespect = floor (_playerRespect + _respectGain);
_playerObject setVariable ["ExileScore", _playerRespect];
format["setAccountScore:%1:%2", _playerRespect, (getPlayerUID _playerObject)] call ExileServer_system_database_query_fireAndForget;
};
[_sessionID, "sellItemResponse", [0, _sellPrice, _itemClassName, 1, _containerType, _containerNetID, str _playerRespect]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "traderLogging");
if (_logging isEqualTo 1) then
{
_playerMoneyString = _playerMoney call ExileClient_util_string_exponentToString;
_traderLog = format ["PLAYER: ( %1 ) %2 SOLD ITEM %3 FOR %4 POPTABS AND %5 RESPECT | PLAYER TOTAL MONEY: %6",getPlayerUID _playerObject,_playerObject,_itemClassName,_sellPrice,_respectGain,_playerMoneyString];
"extDB3" callExtension format["1:TRADING:%1",_traderLog];
};
if !(_vehicleObject isEqualTo objNull) then
{
_vehicleObject call ExileServer_object_vehicle_database_update;
}
else
{
_playerObject call ExileServer_object_player_database_update;
};
}
catch
{
_responseCode = _exception;
[_sessionID, "sellItemResponse", [_responseCode, 0, "", 0, 0, "", ""]] call ExileServer_system_network_send_to;
};
if !(isNull _playerObject) then
{
_playerObject setVariable ["ExileMutex", false];
};
true

View File

@ -1,85 +0,0 @@
/**
* ExileServer_system_trading_network_wasteDumpRequest
*
* 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["_sessionID","_parameters","_vehicleNetID","_mode","_vehicleObject","_vehicleDBID","_playerObject","_cargo","_revenue","_playerMoney","_respectGain","_playerRespect","_logging","_traderLog","_responseCode"];
_sessionID = _this select 0;
_parameters = _this select 1;
_vehicleNetID = _parameters select 0;
_mode = _parameters select 1;
try
{
_vehicleObject = objectFromNetId _vehicleNetID;
_vehicleDBID = _vehicleObject getVariable "ExileDatabaseID";
if (isNull _vehicleObject) then
{
throw 6;
};
if (_vehicleObject getVariable ["ExileMutex", false]) then
{
throw 12;
};
_vehicleObject setVariable ["ExileMutex", true];
_playerObject = _sessionID call ExileServer_system_session_getPlayerObject;
if (isNull _playerObject) then
{
throw 1;
};
if !(alive _playerObject) then
{
throw 2;
};
if !((owner _vehicleObject) isEqualTo (owner _playerObject)) then
{
throw 6;
};
_cargo = _vehicleObject call ExileClient_util_containerCargo_list;
_revenue = _cargo call ExileClient_util_gear_calculateTotalSellPrice;
clearBackpackCargoGlobal _vehicleObject;
clearItemCargoGlobal _vehicleObject;
clearMagazineCargoGlobal _vehicleObject;
clearWeaponCargoGlobal _vehicleObject;
if (_mode isEqualTo 2) then
{
_revenue = _revenue + ([(typeOf _vehicleObject)] call ExileClient_util_gear_calculateTotalSellPrice);
_vehicleObject call ExileServer_object_vehicle_remove;
deleteVehicle _vehicleObject;
}
else
{
_vehicleObject call ExileServer_object_vehicle_database_update;
};
_playerMoney = _playerObject getVariable ["ExileMoney", 0];
_playerMoney = _playerMoney + _revenue;
_playerObject setVariable ["ExileMoney", _playerMoney, true];
format["setPlayerMoney:%1:%2", _playerMoney, _playerObject getVariable ["ExileDatabaseID", 0]] call ExileServer_system_database_query_fireAndForget;
_respectGain = _revenue * getNumber (configFile >> "CfgSettings" >> "Respect" >> "tradingRespectFactor");
_playerRespect = _playerObject getVariable ["ExileScore", 0];
_playerRespect = floor (_playerRespect + _respectGain);
_playerObject setVariable ["ExileScore", _playerRespect];
format["setAccountScore:%1:%2", _playerRespect, (getPlayerUID _playerObject)] call ExileServer_system_database_query_fireAndForget;
[_sessionID, "wasteDumpResponse", [0, _revenue, str _playerRespect]] call ExileServer_system_network_send_to;
_logging = getNumber(configFile >> "CfgSettings" >> "Logging" >> "traderLogging");
if (_logging isEqualTo 1) then
{
_traderLog = format ["PLAYER: ( %1 ) %2 SOLD ITEM: %3 (ID# %4) with Cargo %5 FOR %6 POPTABS AND %7 RESPECT | PLAYER TOTAL MONEY: %8",getPlayerUID _playerObject,_playerObject,typeOf _vehicleObject,_vehicleDBID,_cargo,_revenue,_respectGain,_playerMoney];
"extDB3" callExtension format["1:TRADING:%1",_traderLog];
};
}
catch
{
_responseCode = _exception;
[_sessionID, "wasteDumpResponse", [_responseCode, 0, ""]] call ExileServer_system_network_send_to;
};
if (!isNull _vehicleObject) then
{
_vehicleObject setVariable ["ExileMutex", false];
};
true

View File

@ -1,15 +0,0 @@
/**
* ExileServer_util_time_addTime
*
* 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["_time1","_time2"];
_time1 = _this select 0;
_time2 = _this select 1;
(parseSimpleArray ("extDB3" callExtension format ["9:TIMEDIFF:MINUTES:%1:%2",_time1,_time2])) select 1

View File

@ -1,12 +0,0 @@
/**
* ExileServer_util_time_currentTime
*
* 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/.
*/
(parseSimpleArray ("extDB3" callExtension "9:LOCAL_TIME")) select 1

View File

@ -1,12 +0,0 @@
/**
* ExileServer_util_time_uptime
*
* 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/.
*/
(parseNumber ("extDB3" callExtension "9:UPTIME:MINUTES"))

View File

@ -1,22 +0,0 @@
/**
* ExileServer_world_initialize
*
* 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/.
*/
enableDynamicSimulationSystem true;
"Initializing game world..." call ExileServer_util_log;
call ExileServer_World_loadAllClans;
call ExileServer_World_loadAllTerritories;
call ExileServer_world_loadAllDatabaseConstructions;
call ExileServer_world_loadAllDatabaseVehicles;
call ExileServer_world_loadAllDatabaseContainers;
call ExileServer_system_xm8_sendProtectionMoneyDue;
call ExileServer_world_spawnSpawnZoneVehicles;
call ExileServer_world_spawnVehicles;
"Game world initialized! Let the fun begin!" call ExileServer_util_log;
true

File diff suppressed because it is too large Load Diff

View File

@ -1,87 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Server Settings - Modify at will
///////////////////////////////////////////////////////////////////////////////
author = "Exile Mod Team";
onLoadName = "Exile Mod";
onLoadMission= "www.exilemod.com";
loadScreen = "exile_assets\texture\mod\logo.paa";
disableChannels[] = {0, 2};
OnLoadIntro = "";
OnLoadIntroTime = false;
OnLoadMissionTime = false;
class Header
{
gameType = Survive; // Do NOT change this
minPlayers = 1;
maxPlayers = 100;
};
///////////////////////////////////////////////////////////////////////////////
// Exile Settings - Do not change these!
///////////////////////////////////////////////////////////////////////////////
forceRotorLibSimulation = 2;
skipLobby = 1;
joinUnassigned = 1;
respawn = "BASE";
respawnDelay = 120;
respawnDialog = 0;
respawnOnStart = 0;
respawnButton = 1;
respawnTemplates[] = {"Exile"};
corpseManagerMode = 0;
corpseLimit = 20;
corpseRemovalMinTime = 1800;
corpseRemovalMaxTime = 3600;
wreckManagerMode = 0;
wreckLimit = 2;
wreckRemovalMinTime = 60;
wreckRemovalMaxTime = 360;
scriptedPlayer = 1;
disabledAI = 1;
enableItemsDropping = 0;
briefing = 0;
debriefing = 0;
allowFunctionsLog = 1;
enableDebugConsole = 0;
allowFunctionsRecompile = 0;
showSquadRadar = 0;
showUAVFeed = 0;
reviveDelay = 6;
reviveForceRespawnDelay = 3;
reviveBleedOutDelay = 120;
showHUD[] =
{
true, // Scripted HUD (same as showHUD command)
true, // Vehicle + soldier info
true, // Vehicle radar
true, // Vehicle compass
true, // Tank direction indicator
false, // Commanding menu
false, // Group Bar
true, // HUD Weapon Cursors
false // Squad Radar
};
#include "config.cpp"
class CfgRemoteExec
{
class Functions
{
mode = 1;
jip = 0;
class ExileServer_system_network_dispatchIncomingMessage
{
allowedTargets = 2;
};
};
class Commands
{
mode = 0;
jip = 0;
};
};

View File

@ -1,508 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Static Objects
///////////////////////////////////////////////////////////////////////////////
// Taken away for now
//#include "initServer.sqf"
if (!hasInterface || isServer) exitWith {};
///////////////////////////////////////////////////////////////////////////
// Hardware Trader
///////////////////////////////////////////////////////////////////////////
_workBench = "Land_Workbench_01_F" createVehicleLocal [0,0,0];
_workBench setDir 45.4546;
_workBench setPosATL [14587.8, 16758.7, 0.0938587];
_trader =
[
"Exile_Trader_Hardware",
"Exile_Trader_Hardware",
"WhiteHead_17",
["InBaseMoves_sitHighUp1"],
[0, 0, -0.5],
170,
_workBench
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Fast Food Trader
///////////////////////////////////////////////////////////////////////////
_cashDesk = "Land_CashDesk_F" createVehicleLocal [0,0,0];
_cashDesk setDir 131.818;
_cashDesk setPosATL [14589.8, 16778.2, -0.0701294];
_microwave = "Land_Microwave_01_F" createVehicleLocal [0,0,0];
_cashDesk disableCollisionWith _microwave;
_microwave disableCollisionWith _cashDesk;
_microwave attachTo [_cashDesk, [-0.6, 0.2, 1.1]];
_ketchup = "Land_Ketchup_01_F" createVehicleLocal [0,0,0];
_cashDesk disableCollisionWith _ketchup;
_ketchup disableCollisionWith _cashDesk;
_ketchup attachTo [_cashDesk, [-0.6, 0, 1.1]];
_mustard = "Land_Mustard_01_F" createVehicleLocal [0,0,0];
_cashDesk disableCollisionWith _mustard;
_mustard disableCollisionWith _cashDesk;
_mustard attachTo [_cashDesk, [-0.5, -0.05, 1.1]];
_trader =
[
"Exile_Trader_Food",
"Exile_Trader_Food",
"GreekHead_A3_01",
["InBaseMoves_table1"],
[0.1, 0.5, 0.2],
170,
_cashDesk
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Armory Trader
///////////////////////////////////////////////////////////////////////////
_chair = "Land_CampingChair_V2_F" createVehicleLocal [0,0,0];
_chair setDir 208.182;
_chair setPosATL [14568.1, 16764.3, 0.084837];
_trader =
[
"Exile_Trader_Armory",
"Exile_Trader_Armory",
"PersianHead_A3_02",
["InBaseMoves_SittingRifle1"],
[0, -0.15, -0.45],
180,
_chair
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Equipment Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Equipment",
"Exile_Trader_Equipment",
"WhiteHead_19",
["InBaseMoves_Lean1"],
[14571.5, 16759.1, 0.126438],
0
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Specops Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_SpecialOperations",
"Exile_Trader_SpecialOperations",
"AfricanHead_02",
["HubStanding_idle1", "HubStanding_idle2", "HubStanding_idle3"],
[14566.3, 16773.2, 0.126438],
140
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Office Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Office",
"Exile_Trader_Office",
"GreekHead_A3_04",
["HubBriefing_scratch", "HubBriefing_stretch", "HubBriefing_think", "HubBriefing_lookAround1", "HubBriefing_lookAround2"],
[14599.6, 16774.6, 5.12644],
220
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Waste Dump Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_WasteDump",
"Exile_Trader_WasteDump",
"GreekHead_A3_01",
["HubStandingUA_move1", "HubStandingUA_move2", "HubStandingUA_idle1", "HubStandingUA_idle2", "HubStandingUA_idle3"],
[14608.4, 16901.3, 0],
270
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Aircraft Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Aircraft",
"Exile_Trader_Aircraft",
"WhiteHead_17",
["LHD_krajPaluby"],
[14596.5, 16752.9, 0.12644],
133
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Aircraft Customs Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_AircraftCustoms",
"Exile_Trader_AircraftCustoms",
"GreekHead_A3_07",
["HubStandingUC_idle1", "HubStandingUC_idle2", "HubStandingUC_idle3", "HubStandingUC_move1", "HubStandingUC_move2"],
[14635, 16790.3, 0],
156.294
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Vehicle Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Vehicle",
"Exile_Trader_Vehicle",
"WhiteHead_11",
["InBaseMoves_repairVehicleKnl", "InBaseMoves_repairVehiclePne"],
[14603.7, 16877.3, 0.00143433],
90
]
call ExileClient_object_trader_create;
_carWreck = "Land_Wreck_CarDismantled_F" createVehicleLocal [0,0,0];
_carWreck setDir 355.455;
_carWreck setPosATL [14605.6, 16877.3, 0.0208359];
///////////////////////////////////////////////////////////////////////////
// Vehicle Customs Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_VehicleCustoms",
"Exile_Trader_VehicleCustoms",
"WhiteHead_11",
["AidlPercMstpSnonWnonDnon_G01", "AidlPercMstpSnonWnonDnon_G02", "AidlPercMstpSnonWnonDnon_G03", "AidlPercMstpSnonWnonDnon_G04", "AidlPercMstpSnonWnonDnon_G05", "AidlPercMstpSnonWnonDnon_G06"],
[14617.2, 16888.4, 0],
269.96
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Guard 01
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Guard_01",
"",
"WhiteHead_17",
["InBaseMoves_patrolling1"],
[14564.9,16923.4,0.00146294],
323.53
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Guard 02
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Guard_02",
"",
"WhiteHead_03",
["InBaseMoves_patrolling2"],
[14626.3,16834.6,4.72644],
326.455
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Guard 03
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Guard_03",
"",
"AfricanHead_03",
["InBaseMoves_patrolling1"],
[14577.1,16793.1,3.75118],
313.349
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Guard 01
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Guard_02",
"",
"WhiteHead_03",
["InBaseMoves_patrolling2"],
[2950.52,18195.3,4.93399],
179.092
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Boat Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Boat",
"Exile_Trader_Boat",
"WhiteHead_17",
["AidlPercMstpSnonWnonDnon_G01", "AidlPercMstpSnonWnonDnon_G02", "AidlPercMstpSnonWnonDnon_G03", "AidlPercMstpSnonWnonDnon_G04", "AidlPercMstpSnonWnonDnon_G05", "AidlPercMstpSnonWnonDnon_G06"],
[2914.35,18192.9,8.51858],
88.3346
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Vehicle Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Vehicle",
"Exile_Trader_Vehicle",
"WhiteHead_11",
["InBaseMoves_repairVehicleKnl", "InBaseMoves_repairVehiclePne"],
[2980.19,18146.2,1.06391],
222.352
]
call ExileClient_object_trader_create;
_carWreck = "Land_Wreck_CarDismantled_F" createVehicleLocal [0,0,0];
_carWreck setDir 130.966;
_carWreck setPosATL [2978.76,18144.5,1.13293];
///////////////////////////////////////////////////////////////////////////
// Western Waste Dump Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_WasteDump",
"Exile_Trader_WasteDump",
"GreekHead_A3_01",
["HubStandingUA_move1", "HubStandingUA_move2", "HubStandingUA_idle1", "HubStandingUA_idle2", "HubStandingUA_idle3"],
[2984.05,18133.4,0.00107765],
29.3856
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Fast Food Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Food",
"Exile_Trader_Food",
"GreekHead_A3_01",
["AidlPercMstpSnonWnonDnon_G01", "AidlPercMstpSnonWnonDnon_G02", "AidlPercMstpSnonWnonDnon_G03", "AidlPercMstpSnonWnonDnon_G04", "AidlPercMstpSnonWnonDnon_G05", "AidlPercMstpSnonWnonDnon_G06"],
[2979.87,18184.9,2.55185],
89.2952
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Equipment Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Equipment",
"Exile_Trader_Equipment",
"WhiteHead_19",
["HubStanding_idle1", "HubStanding_idle2", "HubStanding_idle3"],
[2980.7,18192.9,2.49853],
130.535
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Armory Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Armory",
"Exile_Trader_Armory",
"PersianHead_A3_02",
["HubStanding_idle1", "HubStanding_idle2", "HubStanding_idle3"],
[2986.43,18178.5,1.66267],
296.855
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Western Guard 02
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Guard_03",
"",
"AfricanHead_03",
["InBaseMoves_patrolling1"],
[2993.2,18167,0.353821],
109.888
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Eastern Fast Food Trader
///////////////////////////////////////////////////////////////////////////
_cashDesk = "Land_CashDesk_F" createVehicleLocal [0,0,0];
_cashDesk setDir 222.727;
_cashDesk setPosATL [23353.1, 24168, 0.16585];
_microwave = "Land_Microwave_01_F" createVehicleLocal [0,0,0];
_cashDesk disableCollisionWith _microwave;
_microwave disableCollisionWith _cashDesk;
_microwave attachTo [_cashDesk, [-0.6, 0.2, 1.1]];
_ketchup = "Land_Ketchup_01_F" createVehicleLocal [0,0,0];
_cashDesk disableCollisionWith _ketchup;
_ketchup disableCollisionWith _cashDesk;
_ketchup attachTo [_cashDesk, [-0.6, 0, 1.1]];
_mustard = "Land_Mustard_01_F" createVehicleLocal [0,0,0];
_cashDesk disableCollisionWith _mustard;
_mustard disableCollisionWith _cashDesk;
_mustard attachTo [_cashDesk, [-0.5, -0.05, 1.1]];
_trader =
[
"Exile_Trader_Food",
"Exile_Trader_Food",
"GreekHead_A3_01",
["InBaseMoves_table1"],
[0.1, 0.5, 0.2],
170,
_cashDesk
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Eastern Boat Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Boat",
"Exile_Trader_Boat",
"WhiteHead_17",
["AidlPercMstpSnonWnonDnon_G01", "AidlPercMstpSnonWnonDnon_G02", "AidlPercMstpSnonWnonDnon_G03", "AidlPercMstpSnonWnonDnon_G04", "AidlPercMstpSnonWnonDnon_G05", "AidlPercMstpSnonWnonDnon_G06"],
[23296.6,24189.8,5.61213],
96
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Eastern Vehicle Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Vehicle",
"Exile_Trader_Vehicle",
"WhiteHead_11",
["InBaseMoves_repairVehicleKnl", "InBaseMoves_repairVehiclePne"],
[23385.6,24191.6,0.00136566],
123
]
call ExileClient_object_trader_create;
_carWreck = "Land_Wreck_CarDismantled_F" createVehicleLocal [0,0,0];
_carWreck setDir 47.2728;
_carWreck setPosATL [23387.3, 24190.3, 0.05];
///////////////////////////////////////////////////////////////////////////
// Eastern Hardware Trader
///////////////////////////////////////////////////////////////////////////
_workBench = "Land_Workbench_01_F" createVehicleLocal [0,0,0];
_workBench setDir 279.545;
_workBench setPosATL [23371.6, 24188, 0.89873];
_trader =
[
"Exile_Trader_Hardware",
"Exile_Trader_Hardware",
"WhiteHead_17",
["InBaseMoves_sitHighUp1"],
[0, 0, -0.5],
170,
_workBench
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Eastern Equipment Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_Equipment",
"Exile_Trader_Equipment",
"WhiteHead_19",
["HubStanding_idle1", "HubStanding_idle2", "HubStanding_idle3"],
[23379.9, 24169.3, 0.199955],
206
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Eastern Armory Trader
///////////////////////////////////////////////////////////////////////////
_chair = "Land_CampingChair_V2_F" createVehicleLocal [0,0,0];
_chair setDir 12.7272;
_chair setPosATL [23379.6, 24169.3, 4.56662];
_trader =
[
"Exile_Trader_Armory",
"Exile_Trader_Armory",
"PersianHead_A3_02",
["InBaseMoves_SittingRifle1"],
[0, -0.15, -0.45],
180,
_chair
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Eastern Waste Dump Trader
///////////////////////////////////////////////////////////////////////////
_trader =
[
"Exile_Trader_WasteDump",
"Exile_Trader_WasteDump",
"GreekHead_A3_01",
["HubStandingUA_move1", "HubStandingUA_move2", "HubStandingUA_idle1", "HubStandingUA_idle2", "HubStandingUA_idle3"],
[23336.6,24214.4,0.00115061],
346
]
call ExileClient_object_trader_create;
///////////////////////////////////////////////////////////////////////////
// Russian Roulette
///////////////////////////////////////////////////////////////////////////
[
"Exile_Trader_RussianRoulette",
"",
"GreekHead_A3_01",
["HubStandingUA_move1", "HubStandingUA_move2", "HubStandingUA_idle1", "HubStandingUA_idle2", "HubStandingUA_idle3"],
[14622.6, 16820.1, 0.126],
187.428
]
call ExileClient_object_trader_create;

View File

@ -1,442 +0,0 @@
private _objects =
[
["Land_CarService_F", [14618.7,16877.4,18.7724], [[0.750538,-0.660827,0],[0,0,1]], [false, false]],
["Land_cargo_addon02_V2_F", [14563.7,16776.6,19.4699], [[0.723738,-0.690074,0],[0,0,1]], [false, false]],
["Land_cargo_addon02_V1_F", [14619.2,16831.5,19.1926], [[-0.707107,0.707107,0],[0,0,1]], [false, false]],
["Land_ScrapHeap_1_F", [14630.3,16882.7,17.7946], [[-8.74228e-008,-1,0],[0,0,1]], [false, false]],
["Land_ScrapHeap_2_F", [14616,16869,18.1088], [[0.978803,-0.204804,0],[0,0,1]], [false, false]],
["Land_PaperBox_open_full_F", [14569.5,16763.1,17.91], [[0.29692,0.954902,0],[0,0,1]], [false, false]],
["Land_PaperBox_open_empty_F", [14563.8,16770.5,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_PaperBox_closed_F", [14563.1,16768.8,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_Basket_F", [14583.6,16778.2,17.9318], [[0,1,0],[0,0,1]], [false, false]],
["Land_Cages_F", [14573.2,16797.4,17.9346], [[-0.73996,-0.672651,0],[0,0,1]], [false, false]],
["Land_CratesPlastic_F", [14588.4,16777.7,17.9915], [[0.0713395,0.997452,0],[0,0,1]], [false, false]],
["Land_CratesShabby_F", [14587.2,16789,17.9782], [[-0.701482,-0.712687,0],[0,0,1]], [false, false]],
["Land_CratesWooden_F", [14575.3,16773.2,17.9774], [[0.67851,0.734591,0],[0,0,1]], [false, false]],
["Land_Sack_F", [14583.1,16777.7,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_Sacks_goods_F", [14592.5,16779.1,17.91], [[-0.458231,0.888833,0],[0,0,1]], [false, false]],
["Land_Sacks_heap_F", [14590.7,16784.9,17.9559], [[0,1,0],[0,0,1]], [false, false]],
["Land_StallWater_F", [14640.4,16843,17.91], [[0,1,0],[0,0,1]], [false, false]],
["CargoNet_01_barrels_F", [14589.9,16759.6,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_Pallet_F", [14594.3,16763.7,18.004], [[-0.96384,0.266481,0],[0,0,1]], [false, false]],
["Land_Pallet_vertical_F", [14581.9,16765.9,17.91], [[0.712694,0.701475,0],[0,0,1]], [false, false]],
["Land_Pallets_F", [14580.6,16768.9,17.9838], [[0,1,0],[0,0,1]], [false, false]],
["Land_Pallets_stack_F", [14581.7,16767.2,17.91], [[0.228042,0.973651,0],[0,0,1]], [false, false]],
["Land_ToolTrolley_02_F", [14586.3,16760.1,17.9957], [[-0.5865,0.80995,0],[0,0,1]], [false, false]],
["Land_WeldingTrolley_01_F", [14587.8,16755.4,17.9847], [[-0.5,0.866025,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14581.9,16798.9,16.348], [[-0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14608,16825.5,16.3968], [[-0.506846,-0.862036,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14615.5,16772.5,17.91], [[0.7127,-0.701469,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14584.1,16880.5,17.8064], [[0.745264,0.666769,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14583.7,16745.7,17.8094], [[0.712694,0.701475,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14625.5,16880.5,17.8933], [[0.666768,0.745265,0],[0,0,1]], [false, false]],
["Land_HBarrier_3_F", [14574.1,16796.2,17.7873], [[-0.624384,0.781117,0],[0,0,1]], [false, false]],
["Land_HBarrier_3_F", [14601.2,16825.7,17.3493], [[-0.684318,0.729184,0],[0,0,1]], [false, false]],
["Land_HBarrier_5_F", [14647.4,16807.7,17.9078], [[-0.936953,-0.349455,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14570.6,16788,16.327], [[0.899488,0.436945,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14601.1,16818.8,16.4033], [[0.931287,0.364287,0],[0,0,1]], [false, false]],
["Exile_Sign_Aircraft", [14593.7,16753.7,17.8762], [[-0.690074,-0.723738,0],[0,0,1]], [false, false]],
["Exile_Sign_Armory", [14567,16763.8,17.91], [[-0.690074,-0.723738,0],[0,0,1]], [false, false]],
["Exile_Sign_Equipment", [14573.4,16758.3,17.8331], [[-0.0475771,-0.998868,0],[0,0,1]], [false, false]],
["Exile_Sign_Food", [14591.4,16777.4,17.91], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Exile_Sign_SpecialOperations", [14565.6,16774,17.6937], [[-0.750526,0.660841,0],[0,0,1]], [false, false]],
["Exile_Sign_Hardware", [14588.9,16756.8,17.8212], [[0.984808,-0.173646,0],[0,0,1]], [false, false]],
["Exile_Sign_Vehicles", [14610.1,16872.5,18.1622], [[0.745267,-0.666767,0],[0,0,1]], [false, false]],
["Land_CampingTable_F", [14567.6,16766.2,17.91], [[0.0554972,0.998459,0],[0,0,1]], [false, false]],
["Land_Icebox_F", [14589.6,16776.7,17.91], [[0.660837,0.75053,0],[0,0,1]], [false, false]],
["Land_Metal_rack_Tall_F", [14575.7,16759.5,17.9909], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_Metal_rack_F", [14564.1,16772.7,17.9716], [[-0.766044,0.642788,0],[0,0,1]], [false, false]],
["Fridge_01_closed_F", [14588.9,16775,17.9246], [[0.718236,-0.6958,0],[0,0,1]], [false, false]],
["Land_WaterCooler_01_new_F", [14584,16777.7,17.91], [[-0.66084,-0.750526,0],[0,0,1]], [false, false]],
["MapBoard_altis_F", [14569.3,16776.3,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_WoodenTable_large_F", [14567.5,16775.3,17.9819], [[-0.750538,-0.660827,0],[0,0,1]], [false, false]],
["Land_ShelvesMetal_F", [14593.7,16780.7,17.91], [[0.701469,-0.7127,0],[0,0,1]], [false, false]],
["Land_ShelvesMetal_F", [14592.3,16782.2,17.91], [[0.701469,-0.7127,0],[0,0,1]], [false, false]],
["Land_Pallet_MilBoxes_F", [14565.7,16767.3,17.91], [[0.605613,-0.795759,0],[0,0,1]], [false, false]],
["Land_OfficeChair_01_F", [14598.3,16776.1,22.9791], [[0.266473,0.963842,0],[0,0,1]], [false, false]],
["Land_OfficeCabinet_01_F", [14600.3,16776.2,22.9749], [[0.660835,0.750531,0],[0,0,1]], [false, false]],
["OfficeTable_01_new_F", [14597.7,16775.2,22.9468], [[-0.678506,-0.734595,0],[0,0,1]], [false, false]],
["MapBoard_seismic_F", [14602.1,16773.7,23.005], [[0.980397,0.197035,0],[0,0,1]], [false, false]],
["Land_Document_01_F", [14597.9,16775,23.8386], [[-0.755751,-0.654859,0],[0,0,1]], [false, false]],
["Land_FlatTV_01_F", [14594,16774,23.9797], [[-0.678506,0.734595,0],[0,0,1]], [false, false]],
["Land_GamingSet_01_controller_F", [14594.1,16773.7,23.9649], [[-0.857984,0.513676,0],[0,0,1]], [false, false]],
["Land_GamingSet_01_console_F", [14594,16773.9,23.6192], [[-0.745267,0.666767,0],[0,0,1]], [false, false]],
["Land_GamingSet_01_camera_F", [14594.2,16774,23.9755], [[-0.701469,0.7127,0],[0,0,1]], [false, false]],
["Land_Laptop_device_F", [14597.4,16775.3,23.8317], [[0.828149,0.560507,0],[0,0,1]], [false, false]],
["Land_ShelvesWooden_F", [14594.1,16773.9,22.9312], [[0.750531,0.660835,0],[0,0,1]], [false, false]],
["Target_PopUp3_Moving_90deg_Acc2_NoPop_F", [14575,16771.4,17.8809], [[0.274112,0.961698,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_04_F", [14573.5,16758.3,17.91], [[-0.65486,-0.755751,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_02_F", [14570.4,16760.9,17.91], [[-0.527223,0.849727,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_03_F", [14576,16760.6,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_01_F", [14570.7,16762.6,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_05_F", [14623.8,16912.5,18.1785], [[0,1,0],[0,0,1]], [false, false]],
["Land_DieselGroundPowerUnit_01_F", [14619.6,16885.6,17.8383], [[-0.243463,-0.96991,0],[0,0,1]], [false, false]],
["Land_JetEngineStarter_01_F", [14591.7,16755.2,17.834], [[-0.701469,-0.7127,0],[0,0,1]], [false, false]],
["CargoNet_01_barrels_F", [14612,16875.3,17.8549], [[0,1,0],[0,0,1]], [false, false]],
["Land_Shed_Small_F", [14601.9,16918.3,18.0289], [[0.7127,-0.701469,0],[0,0,1]], [false, false]],
["Land_Factory_Conv1_Main_F", [14615.2,16905.2,18.3696], [[-0.690074,-0.723738,0],[0,0,1]], [false, false]],
["Land_FishingGear_01_F", [14621.9,16912.1,17.9848], [[0,1,0],[0,0,1]], [false, false]],
["Land_FishingGear_02_F", [14622.3,16915.5,18.0652], [[-0.836936,-0.547301,0],[0,0,1]], [false, false]],
["Land_Garbage_square3_F", [14627.8,16914.7,18.1934], [[0,1,0],[0,0,1]], [false, false]],
["Land_GarbageBags_F", [14622.5,16909.9,17.979], [[0,1,0],[0,0,1]], [false, false]],
["Land_GarbagePallet_F", [14625.1,16910.1,18.1012], [[0,1,0],[0,0,1]], [false, false]],
["Land_GarbageWashingMachine_F", [14626.6,16912.8,18.2042], [[0,1,0],[0,0,1]], [false, false]],
["Land_JunkPile_F", [14619.5,16914.1,17.9703], [[-0.243463,-0.96991,0],[0,0,1]], [false, false]],
["Land_Tyres_F", [14625,16914.9,18.1344], [[-0.989821,0.142318,0],[0,0,1]], [false, false]],
["Land_GarbageContainer_open_F", [14611.5,16911.7,17.8476], [[-0.786051,0.618162,0],[0,0,1]], [false, false]],
["Land_GarbageContainer_closed_F", [14607.6,16908.4,17.8081], [[0,1,0],[0,0,1]], [false, false]],
["Land_Wreck_Car3_F", [14626.6,16904.6,18.0411], [[0,1,0],[0,0,1]], [false, false]],
["Land_Wreck_Offroad_F", [14632.2,16918.2,18.0913], [[-0.866025,0.5,0],[0,0,1]], [false, false]],
["Land_Wreck_Hunter_F", [14625,16923.2,18.2756], [[0,1,0],[0,0,1]], [false, false]],
["Land_Cargo_HQ_V2_F", [14531.5,16758.9,18.5278], [[0.6958,-0.718235,0],[0,0,1]], [false, false]],
["Land_Cargo_Patrol_V2_F", [14602.6,16702.8,18.07], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Exile_Sign_WasteDump", [14609.2,16898.9,18.0966], [[0.690079,0.723734,0],[0,0,1]], [false, false]],
["Exile_Sign_Office_Small", [14588.1,16772.5,17.3235], [[0.707107,0.707107,0],[0,0,1]], [false, false]],
["Exile_Sign_Office", [14596.3,16776.3,22.9992], [[-0.672664,0.739948,0],[0,0,1]], [false, false]],
["Exile_Sign_Office_Small", [14592.6,16773.2,21.9835], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Exile_Sign_Aircraft_Small", [14595.9,16765.1,17.303], [[0.745267,-0.666767,0],[0,0,1]], [false, false]],
["Exile_Cosmetic_MG", [14568,16774.8,18.0358], [[-0.999717,0.0238043,0],[0,0,1]], [false, false]],
["Exile_Cosmetic_UAV", [14567.2,16775,18.8145], [[0,1,0],[0,0,1]], [false, false]],
["Land_CampingChair_V2_F", [14567.2,16766.9,17.9948], [[-0.755751,0.654859,0],[0,0,1]], [false, false]],
["CargoNet_01_barrels_F", [14572.6,16773.2,17.91], [[-0.540637,0.841256,0],[0,0,1]], [false, false]],
["Land_PaperBox_closed_F", [14573.8,16772,17.91], [[-0.6958,0.718235,0],[0,0,1]], [false, false]],
["Land_PaperBox_open_full_F", [14579.8,16765.3,17.91], [[-0.776145,0.630554,0],[0,0,1]], [false, false]],
["Land_PaperBox_open_empty_F", [14578.4,16766.9,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_CanisterPlastic_F", [14578.4,16765.7,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_Suitcase_F", [14570.1,16763.9,18.0041], [[0.228042,0.973651,0],[0,0,1]], [false, false]],
["Land_Bricks_V1_F", [14583.1,16751.1,17.91], [[-0.739948,0.672664,0],[0,0,1]], [false, false]],
["Land_Bricks_V2_F", [14582.1,16752.1,17.91], [[0.666769,0.745264,0],[0,0,1]], [false, false]],
["Land_Bricks_V3_F", [14581.1,16753.2,17.91], [[-0.849727,0.527223,0],[0,0,1]], [false, false]],
["Land_Bricks_V4_F", [14580.1,16754.1,17.91], [[-0.776145,0.630554,0],[0,0,1]], [false, false]],
["Land_Pallets_stack_F", [14583.7,16753,17.91], [[0.436945,0.899488,0],[0,0,1]], [false, false]],
["Land_ToolTrolley_01_F", [14577.9,16756.1,18.0186], [[0.718236,-0.6958,0],[0,0,1]], [false, false]],
["Land_GasTank_02_F", [14579.1,16754.6,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_WheelCart_F", [14583.9,16761.7,18.0116], [[0.776145,-0.630554,0],[0,0,1]], [false, false]],
["Land_WoodenBox_F", [14581.8,16754.2,17.91], [[0.624376,0.781124,0],[0,0,1]], [false, false]],
["Land_MobileLandingPlatform_01_F", [14597.3,16744.1,17.91], [[0,1,0],[0,0,1]], [false, false]],
["Land_Tyre_F", [14604.2,16879.2,17.8345], [[0,1,0],[0,0,1]], [false, false]],
["Land_Tyre_F", [14604.3,16875.8,17.8348], [[0,1,0],[0,0,1]], [false, false]],
["Land_Tyre_F", [14607.1,16879,17.8408], [[0.408185,0.912899,0],[0,0,1]], [false, false]],
["Land_Tyre_F", [14607.2,16876.2,17.8425], [[0,1,0],[0,0,1]], [false, false]],
["Land_Tyres_F", [14610.8,16871.7,17.7035], [[0,1,0],[0,0,1]], [false, false]],
["Land_CanisterOil_F", [14604.4,16878.3,17.8351], [[-0.973651,0.228045,0],[0,0,1]], [false, false]],
["Land_CarBattery_02_F", [14603.8,16878.7,17.8335], [[-0.493107,0.869969,0],[0,0,1]], [false, false]],
["Exile_Sign_VehicleCustoms", [14619.4,16888.2,17.7657], [[0.999497,-0.0317282,0],[0,0,1]], [false, false]],
["Oil_Spill_F", [14616.5,16887.6,17.8505], [[0,1,0],[0,0,1]], [false, false]],
["Land_KartTrolly_01_F", [14620.2,16889.6,17.8613], [[0.599278,0.800541,0],[0,0,1]], [false, false]],
["Land_BucketNavy_F", [14619.1,16888.6,18.6619], [[-0.96991,0.243463,0],[0,0,1]], [false, false]],
["Land_Bucket_painted_F", [14619.1,16889.1,18.6544], [[0,1,0],[0,0,1]], [false, false]],
["Land_ButaneCanister_F", [14618.9,16889,18.6736], [[0.971813,-0.235753,0],[0,0,1]], [false, false]],
["Land_CanisterFuel_F", [14616.8,16887.3,17.8632], [[-0.853878,0.520473,0],[0,0,1]], [false, false]],
["Land_CanisterPlastic_F", [14619,16889.5,17.8661], [[0.0950563,0.995472,0],[0,0,1]], [false, false]],
["Land_CarBattery_02_F", [14618.8,16887.6,18.6544], [[-0.513676,0.857984,0],[0,0,1]], [false, false]],
["Land_CarBattery_01_F", [14619.1,16887.7,18.6718], [[0.975431,-0.220306,0],[0,0,1]], [false, false]],
["Land_CampingTable_F", [14618.9,16888.3,17.8579], [[0.997452,-0.071339,0],[0,0,1]], [false, false]],
["Land_CampingChair_V1_folded_F", [14618.8,16886.3,17.8601], [[0.76092,0.648845,0],[0,0,1]], [false, false]],
["Land_CampingChair_V1_F", [14617.8,16886.5,17.8559], [[0.281739,-0.959491,0],[0,0,1]], [false, false]],
["Land_GasTank_01_yellow_F", [14620.2,16889.6,17.9821], [[0,1,0],[0,0,1]], [false, false]],
["Land_Garbage_square5_F", [14607.2,16899.9,17.8199], [[0,1,0],[0,0,1]], [false, false]],
["Land_GarbageBarrel_01_F", [14610,16902.2,17.83], [[0,1,0],[0,0,1]], [false, false]],
["Land_WheelieBin_01_F", [14608.6,16899.1,17.8244], [[0.766044,0.642788,0],[0,0,1]], [false, false]],
["Land_cargo_house_slum_ruins_F", [14629.2,16910.5,18.1699], [[-0.866025,0.5,0],[0,0,1]], [false, false]],
["Exile_Sign_TraderCity", [14554.8,16906.4,17.6393], [[0.739948,-0.672664,0],[0,0,1]], [false, false]],
["Land_FuelStation_Build_F", [14624.3,16894.8,17.8827], [[0.952516,0.304487,0],[0,0,1]], [false, false]],
["Land_FuelStation_Sign_F", [14621.4,16898.1,17.8708], [[0,1,0],[0,0,1]], [false, false]],
["Land_FuelStation_Feed_F", [14619.2,16895.9,17.8569], [[-0.96991,-0.243463,0],[0,0,1]], [false, false]],
["Exile_Sign_SpecialOperations_Small", [14573,16774.7,17.3007], [[-0.729183,-0.684318,0],[0,0,1]], [false, false]],
["Exile_Sign_Equipment_Small", [14579.5,16768.1,17.3113], [[-0.701469,-0.7127,0],[0,0,1]], [false, false]],
["Exile_Sign_Armory_Small", [14576.5,16771.2,17.3145], [[-0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Exile_Sign_Hardware_Small", [14584.4,16763.2,17.3163], [[-0.684318,-0.729184,0],[0,0,1]], [false, false]],
["Land_HBarrier_3_F", [14564.3,16928.2,16.9611], [[-0.0792423,0.996855,0],[0,0,1]], [false, false]],
["Land_HBarrier_5_F", [14569.5,16924.4,17.0527], [[-0.881452,-0.472274,0],[0,0,1]], [false, false]],
["Land_HBarrier_Big_F", [14561.6,16922.1,16.1608], [[0.695799,0.718237,0],[0,0,1]], [false, false]],
["Land_HBarrier_1_F", [14560.4,16927.6,16.7264], [[0.684316,0.729186,0],[0,0,1]], [false, false]],
["Land_BagFence_Round_F", [14567.3,16928,17.4047], [[-0.422618,-0.906308,0],[0,0,1]], [false, false]],
["Land_BagFence_Short_F", [14561.8,16928.2,17.1708], [[0.258819,-0.965926,0],[0,0,1]], [false, false]],
["Land_BagFence_Long_F", [14568.6,16921.7,17.3641], [[0.5473,-0.836936,0],[0,0,1]], [false, false]],
["Land_CampingTable_small_F", [14567.9,16923.5,17.4895], [[0,1,0],[0,0,1]], [false, false]],
["Land_CampingChair_V1_F", [14567.8,16925,17.458], [[0,1,0],[0,0,1]], [false, false]],
["Land_CampingChair_V1_folded_F", [14567.4,16922.3,17.5057], [[0,1,0],[0,0,1]], [false, false]],
["Land_TentDome_F", [14562.4,16925.7,17.279], [[0,1,0],[0,0,1]], [false, false]],
["Land_Sleeping_bag_F", [14566.6,16925.9,17.4279], [[0.444066,0.895994,0],[0,0,1]], [false, false]],
["Land_WoodPile_F", [14562.7,16923.1,17.3408], [[-0.712699,0.701469,0],[0,0,1]], [false, false]],
["Land_Sleeping_bag_folded_F", [14567.1,16926.9,17.414], [[0,1,0],[0,0,1]], [false, false]],
["Exile_Sign_AircraftCustoms", [14634.8,16792.4,17.7303], [[-0.712699,0.701469,0],[0,0,1]], [false, false]],
["Exile_Sign_AircraftCustoms_Small", [14633.2,16800.4,17.2345], [[0.599275,-0.800543,0],[0,0,1]], [false, false]],
["Exile_Sign_AircraftCustoms_Small", [14614.6,16799.5,17.3016], [[0.718238,0.695798,0],[0,0,1]], [false, false]],
["Land_DischargeStick_01_F", [14636,16792.6,18.786], [[0.809949,0.586501,0],[0,0,1]], [false, false]],
["Land_RotorCoversBag_01_F", [14635.5,16792.5,17.9643], [[-0.37902,0.925388,0],[0,0,1]], [false, false]],
["Land_Bucket_clean_F", [14635.3,16792.2,18.8025], [[0.047582,0.998867,0],[0,0,1]], [false, false]],
["Land_Bucket_painted_F", [14635.5,16792.6,18.7872], [[0,1,0],[0,0,1]], [false, false]],
["Land_FireExtinguisher_F", [14634.8,16792,18.0244], [[0,1,0],[0,0,1]], [false, false]],
["Land_FoodContainer_01_F", [14636.3,16793.2,18.0186], [[0,1,0],[0,0,1]], [false, false]],
["Land_SatellitePhone_F", [14636.3,16793.1,18.7921], [[0,1,0],[0,0,1]], [false, false]],
["Land_CampingChair_V1_F", [14634.3,16791.2,18.0009], [[-0.472274,0.881452,0],[0,0,1]], [false, false]],
["Land_CampingTable_F", [14635.8,16792.6,17.9868], [[0.65486,-0.755751,0],[0,0,1]], [false, false]],
["Land_AirIntakePlug_01_F", [14633.9,16790.4,18.015], [[-0.592913,0.805266,0],[0,0,1]], [false, false]],
["Land_CncBarrier_stripes_F", [14576.7,16799.3,17.8796], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_CncBarrier_stripes_F", [14570.7,16794.1,17.8947], [[0.750526,-0.66084,0],[0,0,1]], [false, false]],
["Land_HBarrier_5_F", [14643.4,16803.9,17.4603], [[-0.00792382,0.999969,0],[0,0,1]], [false, false]],
["Land_CncBarrier_stripes_F", [14629.2,16793,17.8947], [[0.7127,-0.701469,0],[0,0,1]], [false, false]],
["Land_CncBarrier_stripes_F", [14602.7,16766.3,17.8947], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_CncBarrier_stripes_F", [14588.2,16750.6,17.8947], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_Pier_Box_F", [14673.6,16798.4,22.6626], [[0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_Pier_Box_F", [14577.1,16723.9,22.6626], [[-0.707107,-0.707107,0],[0,0,1]], [false, false]],
["Land_Bunker_F", [14665.2,16788.9,18.5132], [[0.707107,0.707107,0],[0,0,1]], [false, false]],
["Land_Cargo40_military_green_F", [14584.4,16715.4,17.8215], [[-0.701469,0.7127,0],[0,0,1]], [false, false]],
["Land_Cargo20_grey_F", [14582.7,16707.1,17.8627], [[0,1,0],[0,0,1]], [false, false]],
["Land_Cargo10_grey_F", [14576,16704.8,17.8678], [[-0.952518,0.304482,0],[0,0,1]], [false, false]],
["Land_CampingTable_F", [2987.45,18180.5,1.21957], [[0.909632,0.415416,0],[0,0,1]], [false, false]],
["Land_ToolTrolley_01_F", [2980.77,18144.4,1.13856], [[-0.781129,0.62437,0],[0,0,1]], [false, false]],
["CargoNet_01_barrels_F", [2987.87,18182.6,1.26298], [[0,1,0],[0,0,1]], [false, false]],
["Land_ShelvesMetal_F", [2979.66,18187.6,1.2162], [[-0.997987,-0.0634173,0],[0,0,1]], [false, false]],
["Land_FishingGear_02_F", [2980.34,18124.5,1.2076], [[0,1,0],[0,0,1]], [false, false]],
["Land_Basket_F", [2979.97,18184,1.26116], [[0,1,0],[0,0,1]], [false, false]],
["Land_CratesWooden_F", [2992.38,18156.2,1.11772], [[-0.371659,0.928369,0],[0,0,1]], [false, false]],
["Land_Sacks_goods_F", [2979.18,18186,1.15971], [[0.999213,-0.0396557,0],[0,0,1]], [false, false]],
["Land_Sacks_heap_F", [2985.09,18169.8,1.16568], [[-0.055508,0.998458,0],[0,0,1]], [false, false]],
["Land_Cages_F", [2989.92,18190.5,1.14397], [[-0.0634176,0.997987,0],[0,0,1]], [false, false]],
["Land_GarbageContainer_closed_F", [2997.02,18195.1,1.12749], [[-0.999477,0.0323354,0],[0,0,1]], [false, false]],
["Land_CratesPlastic_F", [2979.2,18176.3,1.27247], [[0.690079,0.723734,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_04_F", [2980.07,18194.2,1.24447], [[-0.65486,-0.755751,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_02_F", [2979.48,18192.2,1.35571], [[-0.527223,0.849727,0],[0,0,1]], [false, false]],
["Land_GarbagePallet_F", [2978.46,18135.3,1.14171], [[0.356886,0.934148,0],[0,0,1]], [false, false]],
["Land_Cargo10_orange_F", [2997.76,18202,1.13367], [[0.356886,0.934148,0],[0,0,1]], [false, false]],
["Land_LampHarbour_F", [2972.09,18193.3,1.14308], [[0.997987,-0.0634245,0],[0,0,1]], [false, false]],
["MapBoard_altis_F", [2988.21,18186.6,1.23654], [[0.869969,-0.493107,0],[0,0,1]], [false, false]],
["Land_GarbageContainer_closed_F", [2980.93,18135.9,1.13155], [[0.996195,0.0871558,0],[0,0,1]], [false, false]],
["Land_Tyres_F", [2982.2,18127.5,1.54287], [[0.805271,0.592907,0],[0,0,1]], [false, false]],
["Land_JunkPile_F", [2994.1,18132.6,2.20519], [[-0.0317247,-0.999497,0],[0,0,1]], [false, false]],
["Land_GarbageWashingMachine_F", [2988.89,18127,2.03828], [[0,1,0],[0,0,1]], [false, false]],
["Land_Wreck_Car_F", [2987.36,18132.2,1.48652], [[0.998458,-0.0555043,0],[0,0,1]], [false, false]],
["Land_Pier_F", [2993.46,18185.8,-1.13638], [[0.999641,-0.0267981,0],[0,0,1]], [false, false]],
["Land_Pier_F", [2994.03,18144.2,-1.15465], [[0.999641,-0.0267981,0],[0,0,1]], [false, false]],
["Land_Pier_wall_F", [2952.43,18207.7,-1.17864], [[0.00793015,0.999969,0],[0,0,1]], [false, false]],
["Land_i_Shed_Ind_F", [2987.11,18179.7,1.23635], [[-0.999968,-0.00794115,0],[0,0,1]], [false, false]],
["Land_Pier_F", [2980.88,18182.9,-1.1319], [[0.999641,-0.0267981,0],[0,0,1]], [false, false]],
["Land_Pier_F", [2979.73,18141.3,-1.14254], [[0.999641,-0.0267981,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [2981.36,18148.3,1.14752], [[0.047593,0.998867,0],[0,0,1]], [false, false]],
["Land_ToolTrolley_02_F", [2983.3,18147.4,1.12305], [[-0.936947,0.349472,0],[0,0,1]], [false, false]],
["Land_Box_AmmoOld_F", [2988.01,18178.4,1.22718], [[0.479248,0.87768,0],[0,0,1]], [false, false]],
["Land_Cargo20_red_F", [2985.06,18150.5,1.04326], [[-0.916104,0.400941,0],[0,0,1]], [false, false]],
["Land_ShelvesMetal_F", [2979.71,18182.9,1.24149], [[-0.999968,0.0079407,0],[0,0,1]], [false, false]],
["Land_WaterCooler_01_new_F", [2979.31,18177.4,1.27611], [[-0.999497,0.0317244,0],[0,0,1]], [false, false]],
["Land_CrabCages_F", [2981.58,18197.4,1.18942], [[0.023804,-0.999717,0],[0,0,1]], [false, false]],
["Land_FishingGear_01_F", [2973.53,18184.7,1.18309], [[0,1,0],[0,0,1]], [false, false]],
["Land_FishingGear_02_F", [2981.87,18133,1.12165], [[-0.965926,0.258819,0],[0,0,1]], [false, false]],
["Land_CratesShabby_F", [2986.12,18166.7,1.16942], [[0.479243,-0.877682,0],[0,0,1]], [false, false]],
["Land_PaperBox_open_full_F", [2988.17,18176.8,1.2596], [[0,1,0],[0,0,1]], [false, false]],
["Land_Pallet_MilBoxes_F", [2986.39,18176.6,1.24124], [[0,1,0],[0,0,1]], [false, false]],
["Land_CratesWooden_F", [2990,18166.8,1.09873], [[-0.922356,-0.386341,0],[0,0,1]], [false, false]],
["Land_FishingGear_01_F", [2959.63,18196.6,1.11124], [[0.928369,-0.371659,0],[0,0,1]], [false, false]],
["Land_Sack_F", [2980.24,18186.9,1.13722], [[0,1,0],[0,0,1]], [false, false]],
["Land_CratesShabby_F", [2979.79,18181.2,1.07005], [[0.624375,0.781125,0],[0,0,1]], [false, false]],
["Land_Sacks_heap_F", [2979.31,18178.9,1.26949], [[-0.6958,0.718235,0],[0,0,1]], [false, false]],
["Land_GarbageBarrel_01_F", [2983.95,18128.1,1.58736], [[0.729186,0.684316,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_03_F", [2982.09,18194.6,1.21513], [[0.922356,-0.386341,0],[0,0,1]], [false, false]],
["Land_LampHarbour_F", [2989.9,18173.4,1.20945], [[0.999213,0.0396556,0],[0,0,1]], [false, false]],
["Land_LampHarbour_F", [2971.13,18156.8,1.29263], [[0.999969,-0.00793239,0],[0,0,1]], [false, false]],
["Land_LampHarbour_F", [2994.19,18129,2.5332], [[-0.0396613,0.999213,0],[0,0,1]], [false, false]],
["Land_LampHalogen_F", [2984.64,18196.4,1.03341], [[0.999213,-0.0396574,0],[0,0,1]], [false, false]],
["Land_Metal_wooden_rack_F", [2987.86,18188.8,1.19516], [[-0.999874,0.0158642,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [2986.77,18185.7,1.21864], [[-0.899489,0.436943,0],[0,0,1]], [false, false]],
["Land_Wreck_Car_F", [23338.3,24207.2,3.82129], [[-0.888833,-0.458231,0],[0,0,1]], [false, false]],
["Land_GarbageContainer_closed_F", [23340.2,24212.2,4.38752], [[-0.989821,0.142318,0],[0,0,1]], [false, false]],
["Land_Tyres_F", [23335.2,24203.3,4.14816], [[0.999717,-0.0237988,0],[0,0,1]], [false, false]],
["Land_JunkPile_F", [23338.1,24210.1,4.12724], [[-0.995471,0.0950635,0],[0,0,1]], [false, false]],
["Land_PortableLight_single_F", [23374.3,24181.1,4.86591], [[0.928369,-0.371659,0],[0,0,1]], [false, false]],
["Land_WeldingTrolley_01_F", [23380.5,24185.4,4.86897], [[-0.988662,0.150156,0],[0,0,1]], [false, false]],
["Land_Workbench_01_F", [23375.1,24185.9,4.84018], [[0.983398,-0.181463,0],[0,0,1]], [false, false]],
["Land_i_Shop_01_V1_F", [23377.8,24167.7,3.79129], [[0.885175,-0.465259,0],[0,0,1]], [false, false]],
["Land_City_4m_F", [23362.5,24196,4.09203], [[-0.479243,-0.877682,0],[0,0,1]], [false, false]],
["Land_City_4m_F", [23369.7,24192.3,3.98921], [[0.465264,0.885172,0],[0,0,1]], [false, false]],
["Land_City_Gate_F", [23366.1,24194.1,4.07551], [[0.453482,0.891266,0],[0,0,1]], [false, false]],
["Land_City_8m_F", [23378.9,24175.8,3.83947], [[0.936953,-0.349455,0],[0,0,1]], [false, false]],
["Land_Kiosk_redburger_F", [23353.2,24168.5,4.4989], [[0.666767,0.745267,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23345.2,24166.1,4.31775], [[-0.134453,0.99092,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23358.7,24163.5,4.26188], [[0.654861,0.755749,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23345.9,24160.5,4.37509], [[0.654861,0.755749,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23350.9,24161.3,4.46815], [[0.444066,0.895994,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23353.3,24157.2,4.54655], [[0.197035,0.980397,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23343.4,24158.5,4.24294], [[0,1,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23360.9,24162.5,4.01765], [[0,1,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23357.6,24163.8,4.33318], [[0.415416,0.909632,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23345.1,24161.3,4.33882], [[0.371663,0.928368,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23346.4,24166.2,4.35115], [[0.181463,-0.983398,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23346.7,24159.8,4.4097], [[-0.553915,-0.832573,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23354.3,24158.9,4.57206], [[0.729184,-0.684318,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23349.9,24161.8,4.44282], [[0.319561,0.947566,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23350.5,24158.9,4.39606], [[-0.922356,0.386341,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23353,24156.2,4.46134], [[-0.999968,0.0079407,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23344.2,24166.5,4.30126], [[0.349463,0.93695,0],[0,0,1]], [false, false]],
["Land_Sunshade_04_F", [23345.3,24165.6,4.30477], [[0,1,0],[0,0,1]], [false, false]],
["Land_Sunshade_04_F", [23354.2,24157.4,4.57845], [[-0,1,0],[0,0,1]], [false, false]],
["Land_Sunshade_04_F", [23345.2,24160.1,4.36116], [[0,1,0],[0,0,1]], [false, false]],
["Land_CarService_F", [23376.2,24188.7,4.36585], [[-0.165822,-0.986156,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23366.3,24170.3,4.11357], [[0.654861,0.755749,0],[0,0,1]], [false, false]],
["Land_RattanTable_01_F", [23362,24173.5,4.2566], [[0.654861,0.755749,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23364.9,24168.6,3.98596], [[0.415416,0.909632,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23362.8,24173.7,4.08876], [[0.415416,0.909632,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23361,24173.6,4.28424], [[0.415416,0.909632,0],[0,0,1]], [false, false]],
["Land_ChairPlastic_F", [23367.3,24169.5,4.07351], [[-0.895991,-0.444072,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23368,24174.1,4.19138], [[-0.952359,0.30498,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23342.6,24215.3,4.57967], [[0.800849,0.598866,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23382.2,24190.8,4.00731], [[0.259315,0.965793,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23341.3,24184.7,4.59291], [[0.000515055,1,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23361.5,24197.5,4.18664], [[0.750871,0.660449,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23306.9,24188.8,2.65756], [[0.0718536,0.997415,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23396.1,24199.9,5.02106], [[-0.50641,0.862293,0],[0,0,1]], [false, false]],
["Land_LampStreet_small_F", [23320.3,24187,2.64213], [[0.0243121,0.999704,0],[0,0,1]], [false, false]],
["Land_Wreck_Offroad2_F", [23368.4,24185.1,3.95543], [[-0.220306,-0.975431,0],[0,0,1]], [false, false]],
["Land_WoodenCart_F", [23342.5,24200.2,4.45953], [[0.0475834,0.998867,0],[0,0,1]], [false, false]],
["Land_FieldToilet_F", [23341.8,24174.2,4.34077], [[-0.64885,0.760916,0],[0,0,1]], [false, false]],
["Land_ToolTrolley_02_F", [23379.4,24180.5,4.85657], [[0.892443,0.451161,0],[0,0,1]], [false, false]],
["Land_Pallet_MilBoxes_F", [23378.9,24166.1,7.93425], [[0.605609,0.795762,0],[0,0,1]], [false, false]],
["Land_PaperBox_open_full_F", [23376.9,24167.2,7.94106], [[0.547297,0.836938,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [23369.5,24192,3.95235], [[0.458228,0.888835,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [23365.1,24192.5,4.03231], [[0.479248,0.87768,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [23362.8,24195.4,4.0013], [[0.486197,0.873849,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [23378.9,24177.3,3.77195], [[0.939693,-0.34202,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [23377.8,24174.1,3.79705], [[0.934148,-0.356885,0],[0,0,1]], [false, false]],
["Land_WaterCooler_01_new_F", [23356,24169.5,4.60965], [[-0.642788,-0.766044,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_03_F", [23378.9,24165.8,4.03437], [[-0.486198,0.873849,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_04_F", [23380.8,24165.3,4.05406], [[-0.65486,-0.755751,0],[0,0,1]], [false, false]],
["Land_LuggageHeap_02_F", [23378,24171.1,4.04114], [[-0.472274,0.881452,0],[0,0,1]], [false, false]],
["Land_Cargo20_military_green_F", [23347.6,24199.7,4.29847], [[0.0158654,0.999874,0],[0,0,1]], [false, false]],
["Exile_Sign_TraderCity", [2989.89,18177.6,2.61365], [[-0.999874,-0.0158642,0],[0,0,1]], [false, false]],
["Land_Factory_Conv1_Main_F", [2986.77,18130.1,2.21669], [[0.999874,0.0158662,0],[0,0,1]], [false, false]],
["Land_cmp_Shed_F", [2974.8,18129.5,1.13956], [[0.998867,-0.0475825,0],[0,0,1]], [false, false]],
["Land_cmp_Hopper_F", [2963.39,18129.7,0.0900025], [[0.0237981,0.999717,0],[0,0,1]], [false, false]],
["Land_Tank_rust_F", [2976.74,18173.8,1.16096], [[-0.999717,0.0238043,0],[0,0,1]], [false, false]],
["Land_Wreck_Traw_F", [2888.95,18107.6,-6.03909], [[-0.723738,-0.690074,0],[0,0,1]], [false, false]],
["Land_Wreck_Traw2_F", [2912.17,18124,-4.86378], [[-0.981929,-0.189249,0],[0,0,1]], [false, false]],
["Land_Cargo40_grey_F", [2999.03,18191.5,1.14093], [[0.999969,0.00793242,0],[0,0,1]], [false, false]],
["Land_Cargo40_military_green_F", [2999.4,18179.2,1.1606], [[0.997987,-0.0634245,0],[0,0,1]], [false, false]],
["Land_Cargo40_white_F", [2989.6,18163,1.04851], [[0.909632,0.415416,0],[0,0,1]], [false, false]],
["Land_Cargo20_grey_F", [2994.85,18186.4,1.14158], [[-0.952518,0.304482,0],[0,0,1]], [false, false]],
["Land_Cargo20_military_green_F", [2990.53,18177.6,1.07952], [[-0.999968,-0.00794115,0],[0,0,1]], [false, false]],
["Land_Cargo20_red_F", [2986.75,18155.3,1.11224], [[-0.00794125,-0.999968,0],[0,0,1]], [false, false]],
["Land_Cargo10_grey_F", [2997.12,18187.6,3.70366], [[0.173648,0.984808,0],[0,0,1]], [false, false]],
["Land_Pier_Box_F", [2921.94,18197.2,1.15006], [[0.0158659,0.999874,0],[0,0,1]], [false, false]],
["Land_Sea_Wall_F", [2989.66,18207.7,-1.04307], [[0.0158643,-0.999874,0],[0,0,1]], [false, false]],
["Land_PierLadder_F", [2969.61,18152.9,-1.73874], [[0.998867,0.0475807,0],[0,0,1]], [false, false]],
["Exile_Sign_WasteDump", [2983.77,18132.1,1.31246], [[-0.197041,-0.980395,0],[0,0,1]], [false, false]],
["Exile_Sign_Vehicles", [2981.34,18148.4,1.77985], [[0.0475819,0.998867,0],[0,0,1]], [false, false]],
["Land_Lighthouse_small_F", [2916.05,18200.4,1.12379], [[-0.999874,0.0158642,0],[0,0,1]], [false, false]],
["Exile_Sign_Boat", [2912.81,18194.8,0.945447], [[-0.999717,0.0238043,0],[0,0,1]], [false, false]],
["Exile_Sign_Boat_Small", [2971.94,18194.1,0.204013], [[-0.936953,-0.349455,0],[0,0,1]], [false, false]],
["Exile_Sign_Armory", [2988.82,18179.1,1.02696], [[0.999717,-0.0237971,0],[0,0,1]], [false, false]],
["Exile_Sign_Equipment", [2980.48,18195.6,0.997162], [[0,1,0],[0,0,1]], [false, false]],
["Exile_Sign_Food", [2978.52,18178.6,1.16662], [[-1,1.19249e-008,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [2977.99,18148.5,1.14459], [[0.047593,0.998867,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [2974.63,18148.7,1.14333], [[0.047593,0.998867,0],[0,0,1]], [false, false]],
["Land_CncBarrier_F", [2971.26,18148.8,1.14587], [[0.047593,0.998867,0],[0,0,1]], [false, false]],
["Land_BagFence_Round_F", [2994.5,18166,1.1572], [[-0.877682,0.479243,0],[0,0,1]], [false, false]],
["Land_HBarrier_1_F", [2992.75,18164.9,1.06276], [[0.980397,0.197035,0],[0,0,1]], [false, false]],
["Land_HBarrier_1_F", [2995.03,18167.9,1.06746], [[0,1,0],[0,0,1]], [false, false]],
["Land_HBarrier_3_F", [2998.5,18169.9,1.13225], [[-0.931285,0.364292,0],[0,0,1]], [false, false]],
["Land_LifeguardTower_01_F", [23338.1,24153.7,4.49763], [[-0.165822,0.986156,0],[0,0,1]], [false, false]],
["Land_i_Addon_04_V1_F", [23376.6,24160.4,2.46928], [[0.436945,0.899488,0],[0,0,1]], [false, false]],
["Land_Pier_small_F", [23389,24147.6,-0.137567], [[-0.251141,0.967951,0],[0,0,1]], [false, false]],
["Land_GH_House_2_F", [23333.5,24196.3,3.91706], [[0.998867,-0.0475825,0],[0,0,1]], [false, false]],
["Exile_Sign_TraderCity", [23329.3,24201.1,3.09842], [[-0.0475771,-0.998868,0],[0,0,1]], [false, false]],
["Exile_Sign_Equipment", [23381.4,24170,3.95674], [[0.47925,0.877679,0],[0,0,1]], [false, false]],
["Exile_Sign_Armory", [23378.2,24165.2,8.24169], [[-0.458231,-0.888833,0],[0,0,1]], [false, false]],
["Exile_Sign_Armory_Small", [23373.2,24165,3.11934], [[0.895991,-0.444072,0],[0,0,1]], [false, false]],
["Exile_Sign_Equipment_Small", [23376.4,24172.4,3.04409], [[0.997452,-0.071339,0],[0,0,1]], [false, false]],
["Exile_Sign_Hardware_Small", [23370.2,24180.7,3.57548], [[0.158002,0.987439,0],[0,0,1]], [false, false]],
["Exile_Sign_Hardware", [23370.9,24187.1,4.57432], [[-0.987439,0.158003,0],[0,0,1]], [false, false]],
["Exile_Sign_Vehicles", [23389.4,24185.3,4.46844], [[-0.312037,-0.95007,0],[0,0,1]], [false, false]],
["Exile_Sign_WasteDump", [23340.4,24209.8,4.49615], [[0.997987,-0.0634245,0],[0,0,1]], [false, false]],
["Exile_Sign_WasteDump_Small", [23341.3,24194.2,4.44642], [[-0.5,0.866025,0],[0,0,1]], [false, false]],
["Exile_Sign_Food_Small", [23353.6,24171.1,3.37786], [[-0.678506,-0.734595,0],[0,0,1]], [false, false]],
["Exile_Sign_Boat_Small", [23333.4,24189.1,3.19471], [[-0.916111,0.400924,0],[0,0,1]], [false, false]],
["Exile_Locker", [14618.4,16804.2,17.9974], [[0.69225,-0.721658,0],[0,0,1]], [false, false]],
["Exile_Sign_Locker", [14620,16805.8,17.91], [[0.711919,-0.702261,0],[0,0,1]], [false, false]],
["Exile_Locker", [23328.7,24200.8,4.52368], [[0,1,0],[0,0,1]], [false, false]],
["Exile_Sign_Locker", [23336.1,24199.7,4.37551], [[-1,1.19249e-008,0],[0,0,1]], [false, false]],
["Exile_Locker",[2988.82,18173.9,1.35244],[[0.999929,0.011945,0],[0,0,1]],[false,false]],
["Exile_Sign_Locker",[2984.21,18173.6,1.35244],[[0.999929,0.0118953,0],[0,0,1]],[false,false]]
];
{
private _object = (_x select 0) createVehicle [0,0,0];
_object setPosASL (_x select 1);
_object setVectorDirAndUp (_x select 2);
_object enableSimulationGlobal ((_x select 3) select 0);
_object allowDamage ((_x select 3) select 1);
} forEach _objects;
///////////////////////////////////////////////////////////////////////////////////////////////////
// Russian Roulette
///////////////////////////////////////////////////////////////////////////////////////////////////
_objects =
[
["Land_WoodenTable_large_F", [14628.171,16826.014,18.467293], 0, false],
["Exile_Sign_RussianRoulette", [14623.898,16820.336, 18.950966], 0.77240193, false],
["Land_HumanSkull_F", [14621.056, 16821.572, 18.476805], 2.0025947, false],
["Land_WheelCart_F", [14621.334,16821.477, 18.355867], 4.9935374, false],
["Land_Camping_Light_F", [14628.075,16825.77, 19.00408], 0, true]
//["Land_SportGround_fence_F", [14625.692, 16818.945, 18.791378], 0.79693103, false],
//["Land_SportGround_fence_F", [14633.911, 16816.904, 17.9177], 5.4953084, false],
//["Land_CargoBox_V1_F", [14619.726, 16823.613, 18.75972], 5.4931207, false],
];
{
private ["_object"];
_object = (_x select 0) createVehicle [0,0,0];
_object setDir (deg (_x select 2));
_object setPosWorld (_x select 1);
_object allowDamage false;
_object enableSimulation (_x select 3);
_object enableSimulationGlobal (_x select 3);; // :)
}
forEach _objects;
ExileRouletteChairs = [];
ExileRouletteChairPositions =
[
[[14627.052, 16826.611, 18.004343], 4.9010592],
[[14629.161, 16826.707, 18.004343], 1.3332222],
[[14628.180, 16824.557, 18.004343], 3.1448042],
[[14628.123, 16827.488, 18.004343], 0],
[[14629.184, 16825.537, 18.034342], 1.7944603],
[[14627.175, 16825.453, 18.004343], 4.4050193]
];
{
private ["_chair"];
_chair = "Exile_RussianRouletteChair" createVehicle [0, 0, 0];
_chair setDir (deg (_x select 1));
_chair setPosWorld (_x select 0);
_chair allowDamage false;
_chair enableSimulationGlobal true;
ExileRouletteChairs pushBack _chair;
}
forEach ExileRouletteChairPositions;
///////////////////////////////////////////////////////////////////////////////////////////////////
// Concrete Mixers
///////////////////////////////////////////////////////////////////////////////////////////////////
_concreteMixers =
[
[[14354.0, 18960.1, 36.9597], 35], // athira
[[18309.4, 15575.0, 48.8194], 90], // charkia
[[11391.2, 14259.5, 21.2141], -40] // alikampos
];
{
_concreteMixer = "Exile_ConcreteMixer" createVehicle (_x select 0);
_concreteMixer setDir (_x select 1);
_concreteMixer setPosASL (_x select 0);
_concreteMixer allowDamage false;
_concreteMixer enableSimulationGlobal true;
}
forEach _concreteMixers;

View File

@ -1,245 +0,0 @@
/**
* 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 ["_objectStorage", "_staticObjectTemplates"];
/*
// Preload camery settings
waitUntil { preloadCamera [29549.7,1508.77,189.029] };
// Remember what we have instanciated, so we can clean up a bit
_objectStorage = [];
// Static objects for the scene
_staticObjectTemplates =
[
["Land_Pier_F",[29566.7,1512.72,186.76],182.273,0,0,false],
["Land_Pier_wall_F",[29566.6,1560.03,186.705],1.36361,0,0,false],
["Land_Pier_Box_F",[29539.6,1550.11,192.115],0,0,0,false],
["Land_Pier_F",[29596.6,1533.61,186.95],91.8181,0,0,false],
["Land_Bunker_F",[29580.4,1509.79,189.09],95.4545,0,0,false],
["Land_MilOffices_V1_F",[29600.1,1534.35,189.543],90.909,0,0,false],
["Land_Pier_Box_F",[29591.6,1507.34,200.259],95.0001,0,0,false],
["Land_Pier_F",[29562.8,1502.29,186.759],2.27276,0,0,false],
["Land_Airport_Tower_F",[29540.2,1549.9,192.079],0,0,0,false],
["Land_JetEngineStarter_01_F",[29579.3,1496.5,189.031],18.6364,0,0,false],
["Land_Radar_F",[29598.7,1561.89,191.255],8.18185,0,0,false],
["Exile_Sign_TraderCity",[29546.8,1517.4,189.039],272,0,0,false],
["Land_TTowerBig_1_F",[29592,1507.42,201.014],3.18181,0,0,false],
["Submarine_01_F",[29524.1,1476.42,176.398],147.273,0,0,false],
["C_Boat_Civil_04_F",[29562.7,1535.25,179.236],271.364,0,0,false]
];
{
private ["_staticObject"];
_staticObject = (_x select 0) createVehicleLocal [0,0,0];
_staticObject setDir (_x select 2);
_staticObject setPosATL (_x select 1);
_staticObject enableSimulation false;
_objectStorage pushBack _staticObject;
}
forEach _staticObjectTemplates;
// Create the chopper and close all doors
_chopper = "O_Heli_Transport_04_covered_F" createVehicleLocal [0,0,0];
_chopper setDir 326.364;
_chopper setPosATL [29549.7,1508.77,189.029];
_chopper enableSimulation true;
_chopper animateDoor ['Door_1_source', 0, true];
_chopper animateDoor ['Door_2_source', 0, true];
_chopper animateDoor ['Door_3_source', 0, true];
_chopper animateDoor ['Door_4_source', 0, true];
_chopper animateDoor ['Door_5_source', 0, true];
_chopper animateDoor ['Door_6_source', 0, true];
_objectStorage pushBack _chopper;
// Prisoner 1
_prisoner01 =
[
"Exile_Cutscene_Prisoner01",
"AfricanHead_01",
["Acts_AidlPsitMstpSsurWnonDnon01"],
[29552.5,1510.03,189.027],
341.323
]
call ExileClient_object_trader_create;
_objectStorage pushBack _prisoner01;
// Prisoner 2
_prisoner02 =
[
"Exile_Cutscene_Prisoner02",
"WhiteHead_03",
["InBaseMoves_HandsBehindBack1"],
[29550.4,1509.77,189.026],
45.1028
]
call ExileClient_object_trader_create;
_objectStorage pushBack _prisoner02;
// Pilot, just statnding there
_pilot =
[
"Exile_Cutscene_Pilot",
"PersianHead_A3_02",
["passendger_flatground_1_Idle_Unarmed"],
[29549.5,1512.48,189.031],
82.2734
]
call ExileClient_object_trader_create;
_objectStorage pushBack _pilot;
// Boss, treating us
_boss =
[
"Exile_Cutscene_Police01",
"GreekHead_A3_08",
["Acts_Abuse_abusing"],
[29556.3,1513.86,189.033],
88.0126
]
call ExileClient_object_trader_create;
_objectStorage pushBack _boss;
// Guard 1
_police01 =
[
"Exile_Cutscene_Police02",
"GreekHead_A3_08",
["HubStanding_idle1", "HubStanding_idle2", "HubStanding_idle3"],
[29549.4,1518,189.04],
139.341
]
call ExileClient_object_trader_create;
_objectStorage pushBack _police01;
// Guard 2
_police02 =
[
"Exile_Cutscene_Police01",
"GreekHead_A3_08",
["InBaseMoves_patrolling1"],
[29555.1,1516.7,189.038],
205.865
]
call ExileClient_object_trader_create;
_objectStorage pushBack _police02;
// And our small player fale
_player =
[
"Exile_Cutscene_Player",
"WhiteHead_01",
["Acts_Abuse_abuser"],
[29556.3,1513.86,189.033],
88.0126
]
call ExileClient_object_trader_create;
_objectStorage pushBack _player;
_player allowDamage false; // It can bleed thou
*/
// End the loading screen
endLoadingScreen;
/*
// Fade in sound
3 fadeSound 1;
cutText ["", "BLACK IN", 3];
// GOGO ! :)
_camera = "camera" camCreate (_player modelToWorld [0, 0, 10]);
_camera camSetTarget _player;
_camera cameraEffect ["EXTERNAL", "BACK TOP"];
_camera camSetRelPos [0, 0.7, 1.5];
_camera camCommand "inertia on";
_camera camCommit 1;
uiSleep 1;
_boss say ["ExileIntro01", 5];
uiSleep 3;
_boss say ["ExileIntro02", 5];
uiSleep 5;
[300] call BIS_fnc_bloodEffect;
_player setdamage 0.5;
_player setBleedingRemaining 3;
_player say ["ExileIntro10", 5];
uiSleep 1;
_boss say ["ExileIntro03", 5];
uiSleep 3;
_boss say ["ExileIntro04", 5];
uisleep 6;
_boss say ["ExileIntro05", 5];
uisleep 5;
_boss say ["ExileIntro07", 5];
_chopper engineOn true;
uisleep 3;
_boss say ["ExileIntro08", 5];
_chopper animateDoor ['Door_1_source', 1, false];
_chopper animateDoor ['Door_2_source', 1, false];
uiSleep 10;
_boss say ["ExileIntro09", 5];
// Open chopper doors
_chopper animateDoor ['Door_3_source', 1, false];
_chopper animateDoor ['Door_4_source', 1, false];
_chopper animateDoor ['Door_5_source', 1, false];
_chopper animateDoor ['Door_6_source', 1, false];
uisleep 15;
// Fade out sound and screen to black/silent
5 fadeSound 0;
titleText ["", "BLACK OUT", 5];
// Cleanup after 5 seconds
uiSleep 5;
_camera cameraEffect ["terminate","back"];
camDestroy _camera;
{
deleteVehicle _x;
}
forEach _objectStorage;
*/
ExileClientIntroIsPlaying = false;
true

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +0,0 @@
<html>
<head>
<title>Server</title>
</head>
<body>
<h1>Dem Server Rulz</h1>
<p>Do not talk about Exile.</p>
<p>Do not talk about Exile.</p>
<p>Do not kill dem bambies.</p>
<p>Do not be a dickhead.</p>
<p>Teamspeak blah</p>
</body>
</html>