mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Compare commits
119 Commits
RC2-1.0.5.
...
Animal-AI-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
740f4144f1 | ||
|
|
1c4be9a043 | ||
|
|
34a2d03163 | ||
|
|
2542d94c21 | ||
|
|
a8a0e0ca5c | ||
|
|
fe5af9425a | ||
|
|
ac07359c80 | ||
|
|
1bdd96cd88 | ||
|
|
5bb15f0c66 | ||
|
|
a6f55498b7 | ||
|
|
c66b229a96 | ||
|
|
49fe5f4846 | ||
|
|
5ae7f920dd | ||
|
|
59124e6eef | ||
|
|
8192dd7b50 | ||
|
|
8bd438f4c6 | ||
|
|
ba6a5c7dc1 | ||
|
|
c7b400f36a | ||
|
|
d8841474c6 | ||
|
|
ef0a157eb2 | ||
|
|
a0372bc88d | ||
|
|
3e42af0bb4 | ||
|
|
688c1f15b6 | ||
|
|
ca37210345 | ||
|
|
29adecc2e9 | ||
|
|
db15170622 | ||
|
|
95676f0db7 | ||
|
|
04ee8578ff | ||
|
|
06b7eca2c8 | ||
|
|
a79a86889d | ||
|
|
18d283428b | ||
|
|
14ebc32bd4 | ||
|
|
64d9be9169 | ||
|
|
f2145b6b8d | ||
|
|
29c9f979df | ||
|
|
7dd6aac669 | ||
|
|
589bf3eaa1 | ||
|
|
2573bd184c | ||
|
|
b1764bff8e | ||
|
|
504503a46e | ||
|
|
2bd68a04f6 | ||
|
|
176c0372b4 | ||
|
|
ff706fde43 | ||
|
|
73470f1e90 | ||
|
|
361ab3a3e5 | ||
|
|
676bb91122 | ||
|
|
d4f978e461 | ||
|
|
dd582d28ec | ||
|
|
12400b1a2b | ||
|
|
e52790d8fb | ||
|
|
a5e0f665e9 | ||
|
|
1fb0e07ebd | ||
|
|
b8e07f3cc2 | ||
|
|
29c2b09175 | ||
|
|
923b2833c9 | ||
|
|
743ddf5b6b | ||
|
|
5603413f6e | ||
|
|
1548ee19a6 | ||
|
|
15f12c4861 | ||
|
|
13bd5c554a | ||
|
|
ee0a6b8bca | ||
|
|
c0c8e0ecc0 | ||
|
|
6ca0550a2a | ||
|
|
9628b8845f | ||
|
|
c63a7d5cb4 | ||
|
|
25e461df99 | ||
|
|
6eff337579 | ||
|
|
6b4935669d | ||
|
|
8250dcbec2 | ||
|
|
ee179e1fc4 | ||
|
|
a6d51c7e63 | ||
|
|
0b2436fbb5 | ||
|
|
1ab7f14a87 | ||
|
|
1592885121 | ||
|
|
6d1d4c998a | ||
|
|
ceae17af98 | ||
|
|
d19001d87b | ||
|
|
445556ff12 | ||
|
|
81729c26f4 | ||
|
|
573bacdfc3 | ||
|
|
0111a8f580 | ||
|
|
d4028a8b88 | ||
|
|
18d76b13c6 | ||
|
|
e302195c43 | ||
|
|
b77d959572 | ||
|
|
5ca6aab0c8 | ||
|
|
a624c81653 | ||
|
|
b6d8a8b686 | ||
|
|
f0d041a8b3 | ||
|
|
47ec14e9fa | ||
|
|
329147da65 | ||
|
|
c8ec9f545b | ||
|
|
a340b10084 | ||
|
|
427b9efd0f | ||
|
|
ed42233c92 | ||
|
|
383ec9a70d | ||
|
|
640a496316 | ||
|
|
05bfcd9299 | ||
|
|
de538db0a4 | ||
|
|
0ff822200a | ||
|
|
c464d17c76 | ||
|
|
3bc4909c6f | ||
|
|
94aaf929f2 | ||
|
|
f63ad88dbd | ||
|
|
0d5d0b9b8e | ||
|
|
ec1308afd6 | ||
|
|
3ec0b2be60 | ||
|
|
a8389ba2bc | ||
|
|
a4ade23086 | ||
|
|
1f2bc80070 | ||
|
|
cb633715fa | ||
|
|
abc4c2f6ce | ||
|
|
fc1ce8421e | ||
|
|
29fe8ced1a | ||
|
|
f284fc1b92 | ||
|
|
411055260f | ||
|
|
c479fe45f3 | ||
|
|
327e7677e7 | ||
|
|
e330fe17aa |
@@ -1,13 +1,14 @@
|
||||
[NEW] RedRyder BB Gun by @arma2WillRobinson
|
||||
[NEW] DB Backup script. @raziel23x
|
||||
[NEW] DB Backup script. @RimBlock
|
||||
[NEW] Use DayZ_UseSteamID = false; in your init.sqf to use the old PlayerUID, instead of SteamID @icomrade
|
||||
[NEW] UI Update - Graphical and code changes, enable using Dayz_Dark_UI = true; in init.sqf. @hogscraper http://epochmod.com/forum/index.php?/topic/13654-proposed-ui-change/
|
||||
[NOTE] It's recommend to convert to the new SteamID system if possible, new servers should not use DayZ_UseSteamID = false;
|
||||
[NEW] Snap building (disabled by default), use DZE_snapBuilding = true; in your init.sqf to enable. @raymix
|
||||
[NEW] Snap building (disabled by default), use DZE_modularBuild = true; in your init.sqf to enable. @raymix
|
||||
[NEW] Modular/Function based player_build for addon makers and modders. @raymix (more info and concepts - http://epochmod.com/forum/index.php?/topic/14628-modular-function-based-player-buildsqf/ )
|
||||
|
||||
[CHANGED] An infection chance of -1 disables self-transfusion infection. 0 is always infected. (DZE_selfTransfuse_Values) @icomrade
|
||||
[CHANGED] Removed weapons from Traders hands and made them stand with arms by their side. @SilvDev
|
||||
[CHANGED] Tweaked fuel capacity variables for vehicles. @raziel23x
|
||||
[CHANGED] Tweaked fuel capacity variables for vehicles. @RimBlock
|
||||
|
||||
[FIXED] Backpack wipes when changing clothes. #1361 @icomrade
|
||||
[FIXED] CH53 gear when locked #1364 @icomrade
|
||||
@@ -19,9 +20,14 @@
|
||||
[FIXED] Fire cleanup diag_log error in server_functions.sqf #1421 @ebaydayz
|
||||
[FIXED] NearestObjects position error in server_playerSync.sqf #1425 @ebaydayz
|
||||
[FIXED] Corrected ClassName type for CH53_DZE and BAF_Merlin_DZE. @Cinjun
|
||||
[FIXED] Some counts reverted to forEach - count loops can not be nested inside other count loops #1491-#1495 @ebaydayz
|
||||
[FIXED] Safes empty when opening after restart #1467 @ebaydayz
|
||||
[FIXED] Dynamic_vehicle spawning non-upgradable classes of hilux1 & datsun1. @Uro1
|
||||
|
||||
[UPDATED] .hpp files updated in dayz_epoch_b CfgLootPos > CfgBuildingPos. @Uro1
|
||||
[UPDATED] .bat files updated in Config-Examples @Raziel23x
|
||||
[UPDATED] Updated all config.cfg in Config-Examples, Added Default Steam Ports and Updated Layout. @Namindu
|
||||
[UPDATED] Epoch.sql & 1.0.5_Updates.sql with correct classnames for upgradable hilux1 & datsun1 versions. @Uro1
|
||||
|
||||
[INFO] (EXTREMELY IMPORTANT) Server owners MUST update their required build and beta to 125548
|
||||
[INFO] Server admins should add requiredSecureId = 2; to their server.cfg to prevent uid spoofing.
|
||||
|
||||
@@ -123,7 +123,7 @@ class SnapBuilding {
|
||||
"CinderWallDoorSmall_DZ",
|
||||
"MetalFloor_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
radius = 7;
|
||||
};
|
||||
|
||||
class WoodFloorQuarter_Preview_DZ: FloorsWallsStairs { //fix for broken offsets in ghost
|
||||
@@ -246,7 +246,7 @@ class SnapBuilding {
|
||||
{2.752, 0, 1.5,"Right"},
|
||||
{0, 0, 3.37042,"Top"}
|
||||
};
|
||||
radius = 5;
|
||||
radius = 10;
|
||||
};
|
||||
class CinderWall_Preview_DZ: Cinder_DZE {};
|
||||
class CinderWallDoorway_Preview_DZ: Cinder_DZE {};
|
||||
@@ -283,7 +283,7 @@ class SnapBuilding {
|
||||
{-2.64, 0, 0.009,"Left"},
|
||||
{2.64, 0, 0.009,"Right"}
|
||||
};
|
||||
radius = 10;
|
||||
radius = 12;
|
||||
};
|
||||
class MetalFloor_DZ: FloorsWallsStairs{
|
||||
points[] = {
|
||||
@@ -293,7 +293,7 @@ class SnapBuilding {
|
||||
{-2.64, 0, 0.15,"Left"},
|
||||
{2.64, 0, 0.15,"Right"}
|
||||
};
|
||||
radius = 10;
|
||||
radius = 12;
|
||||
};
|
||||
|
||||
|
||||
@@ -340,7 +340,7 @@ class SnapBuilding {
|
||||
snapTo[] = {
|
||||
"StickFence_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
radius = 10;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.95,0,0.3,"Left"},
|
||||
@@ -352,7 +352,7 @@ class SnapBuilding {
|
||||
snapTo[] = {
|
||||
"Fence_corrugated_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
radius = 10;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-1.95,0,0.88,"Left"},
|
||||
@@ -364,7 +364,7 @@ class SnapBuilding {
|
||||
snapTo[] = {
|
||||
"WoodRamp_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
radius = 7;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0.65,-1.7,1.2,"Back"},
|
||||
|
||||
@@ -1666,6 +1666,8 @@ class CfgMagazines {
|
||||
|
||||
#include "CfgMagazines\MeleeSwing.hpp"
|
||||
|
||||
#include "CfgMagazines\Planting.hpp"
|
||||
|
||||
class HandGrenade_Stone;
|
||||
class ItemTrashToiletpaper : HandGrenade_Stone {
|
||||
scope = public;
|
||||
@@ -1707,6 +1709,15 @@ class CfgMagazines {
|
||||
output[] = {{"ItemCanvas",1}};
|
||||
input[] = {{"ItemKiloHemp",1}};
|
||||
};
|
||||
class Crafting1
|
||||
{
|
||||
text = "Craft Hemp Seeds";
|
||||
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
|
||||
neednearby[] = {""};
|
||||
requiretools[] = {"ItemKnife"};
|
||||
output[] = {{"ItemHempSeed",5}};
|
||||
input[] = {{"ItemKiloHemp",1}};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -64,6 +64,18 @@ class FoodPumpkin : FoodEdible {
|
||||
weight = 1;
|
||||
model = "z\addons\dayz_communityassets\models\pistachio.p3d"; // TODO: model + icon
|
||||
picture = "\z\addons\dayz_communityassets\pictures\equip_pistachios_CA.paa";
|
||||
class ItemActions
|
||||
{
|
||||
class Crafting
|
||||
{
|
||||
text = "Craft Pumpkin Seeds";
|
||||
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
|
||||
neednearby[] = {""};
|
||||
requiretools[] = {"ItemKnife"};
|
||||
output[] = {{"ItemPumpkinSeed",5}};
|
||||
input[] = {{"FoodPumpkin",1}};
|
||||
};
|
||||
};
|
||||
};
|
||||
class FoodSunFlowerSeed : FoodEdible {
|
||||
scope = public;
|
||||
|
||||
93
SQF/dayz_code/Configs/CfgMagazines/Planting.hpp
Normal file
93
SQF/dayz_code/Configs/CfgMagazines/Planting.hpp
Normal file
@@ -0,0 +1,93 @@
|
||||
class ItemFertilizer: CA_Magazine {
|
||||
scope = public;
|
||||
count = 1;
|
||||
displayName = "Fertilizer";
|
||||
descriptionShort = "Fertilizer";
|
||||
weight = 0.1;
|
||||
model = "z\addons\dayz_communityassets\models\mre.p3d"; // TODO: model + icon
|
||||
picture = "\z\addons\dayz_communityassets\pictures\equip_mre_CA.paa";
|
||||
type = 256;
|
||||
};
|
||||
|
||||
class ItemPumpkinSeed: CA_Magazine {
|
||||
scope = public;
|
||||
count = 1;
|
||||
displayName = "A Pumpkin Seed";
|
||||
descriptionShort = "A Pumpkin Seed";
|
||||
weight = 0.1;
|
||||
model = "\z\addons\dayz_epoch\models\doc_child1.p3d"; // TODO: model + icon
|
||||
picture = "\z\addons\dayz_epoch\pictures\equip_child1_ca.paa";
|
||||
type = 256;
|
||||
class ItemActions {
|
||||
class Crafting
|
||||
{
|
||||
text = "Craft Pumpkin Plant";
|
||||
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
|
||||
neednearby[] = {""};
|
||||
requiretools[] = {"ItemKnife"};
|
||||
output[] = {{"ItemPumpkinPlant",1},{"ItemWaterbottleUnfilled",1}};
|
||||
input[] = {{"ItemPumpkinSeed",1},{"ItemFertilizer",1},{"ItemWaterbottle",1}};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class ItemPumpkinPlant: CA_Magazine {
|
||||
scope = public;
|
||||
count = 1;
|
||||
displayName = "A Pumpkin Plant";
|
||||
descriptionShort = "A Pumpkin Plant";
|
||||
weight = 0.1;
|
||||
model = "\z\addons\dayz_epoch\models\doc_child1.p3d"; // TODO: model + icon
|
||||
picture = "\z\addons\dayz_epoch\pictures\equip_child1_ca.paa";
|
||||
type = 256;
|
||||
class ItemActions {
|
||||
class Build {
|
||||
text = "Plant Pumpkin";
|
||||
script = "spawn player_build;";
|
||||
require[] = {"ItemEtool"};
|
||||
create = "Grave"; // TODO: model for Pumpkin Stage 1
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class ItemHempSeed: CA_Magazine {
|
||||
scope = public;
|
||||
count = 1;
|
||||
displayName = "A Hemp Seed";
|
||||
descriptionShort = "A Hemp Seed";
|
||||
weight = 0.1;
|
||||
model = "\z\addons\dayz_epoch\models\doc_child2.p3d"; // TODO: model + icon
|
||||
picture = "\z\addons\dayz_epoch\pictures\equip_child2_ca.paa";
|
||||
type = 256;
|
||||
class ItemActions {
|
||||
class Crafting
|
||||
{
|
||||
text = "Craft Hemp Plant";
|
||||
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
|
||||
neednearby[] = {""};
|
||||
requiretools[] = {"ItemKnife"};
|
||||
output[] = {{"ItemHempPlant",1},{"ItemWaterbottleUnfilled",1}};
|
||||
input[] = {{"ItemHempSeed",1},{"ItemFertilizer",1},{"ItemWaterbottle",1}};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class ItemHempPlant: CA_Magazine {
|
||||
scope = public;
|
||||
count = 1;
|
||||
type = 256;
|
||||
displayName = "A Hemp Plant";
|
||||
descriptionShort = "A Hemp Plant";
|
||||
weight = 0.1;
|
||||
model = "\z\addons\dayz_epoch\models\doc_child2.p3d"; // TODO: model + icon
|
||||
picture = "\z\addons\dayz_epoch\pictures\equip_child2_ca.paa";
|
||||
type = 256;
|
||||
class ItemActions {
|
||||
class Build {
|
||||
text = "Plant Hemp";
|
||||
script = "spawn player_build;";
|
||||
require[] = {"ItemEtool"};
|
||||
create = "MAP_c_fern"; // TODO: model for Hemp Stage 1
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -42,7 +42,7 @@ class AH6J_EP1_DZE: AH6J_EP1_DZ
|
||||
scope = 2;
|
||||
side = 2;
|
||||
displayName = "AH6J_DZE";
|
||||
magazines[] = {};
|
||||
magazines[] = {"60Rnd_CMFlareMagazine"};
|
||||
};
|
||||
class AH6X_DZ: AH6_Base_EP1 {
|
||||
displayname = "AH6X Little Bird";
|
||||
|
||||
@@ -592,7 +592,7 @@ class Lada2_DZE2: Lada2_DZE1 {
|
||||
};
|
||||
|
||||
class Upgrades {
|
||||
ItemLRK[] = {"Lada1_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
ItemLRK[] = {"Lada2_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
};
|
||||
};
|
||||
class LadaLM_DZE2: LadaLM_DZE1 {
|
||||
@@ -639,7 +639,7 @@ class LadaLM_DZE2: LadaLM_DZE1 {
|
||||
};
|
||||
|
||||
class Upgrades {
|
||||
ItemLRK[] = {"Lada1_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
ItemLRK[] = {"LadaLM_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
};
|
||||
};
|
||||
class Lada1_TK_CIV_EP1_DZE2: Lada1_TK_CIV_EP1_DZE1 {
|
||||
@@ -686,7 +686,7 @@ class Lada1_TK_CIV_EP1_DZE2: Lada1_TK_CIV_EP1_DZE1 {
|
||||
};
|
||||
|
||||
class Upgrades {
|
||||
ItemLRK[] = {"Lada1_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
ItemLRK[] = {"Lada1_TK_CIV_EP1_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
};
|
||||
};
|
||||
class Lada2_TK_CIV_EP1_DZE2: Lada2_TK_CIV_EP1_DZE1 {
|
||||
@@ -733,7 +733,7 @@ class Lada2_TK_CIV_EP1_DZE2: Lada2_TK_CIV_EP1_DZE1 {
|
||||
};
|
||||
|
||||
class Upgrades {
|
||||
ItemLRK[] = {"Lada1_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
ItemLRK[] = {"Lada2_TK_CIV_EP1_DZE3",{},{{"ItemLRK",1},{"PartGeneric",1},{"ItemTent",1}}};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -799,4 +799,4 @@ class Lada1_TK_CIV_EP1_DZE4: Lada1_TK_CIV_EP1_DZE3 {
|
||||
};
|
||||
class Lada2_TK_CIV_EP1_DZE4: Lada2_TK_CIV_EP1_DZE3 {
|
||||
fuelCapacity = 210; // car 100
|
||||
};
|
||||
};
|
||||
|
||||
@@ -333,25 +333,112 @@ class Offroad_DSHKM_Gue_DZE: Offroad_DSHKM_base
|
||||
gunnerCompartments = "Compartment2";
|
||||
};
|
||||
};
|
||||
class Upgrades
|
||||
{
|
||||
ItemORP[] = {"Offroad_DSHKM_Gue_DZE1",
|
||||
{ },
|
||||
{
|
||||
{ "ItemORP",1 },
|
||||
{ "PartEngine",2 } }};
|
||||
};
|
||||
};
|
||||
|
||||
// Performance 1
|
||||
class Offroad_DSHKM_Gue_DZE1: Offroad_DSHKM_Gue_DZE
|
||||
{
|
||||
maxspeed = 170; // Offroad_DSHKM_base 150 | car 100
|
||||
class Upgrades
|
||||
{
|
||||
ItemLRK[] = {"Offroad_DSHKM_Gue_DZE2",
|
||||
{ },
|
||||
{
|
||||
{ "ItemLRK",1 },
|
||||
{ "PartGeneric",2 },
|
||||
{ "ItemTent",1 } }};
|
||||
};
|
||||
};
|
||||
// Armmor 2
|
||||
class Offroad_DSHKM_Gue_DZE2: Offroad_DSHKM_Gue_DZE1
|
||||
{
|
||||
armor = 50; // car 20
|
||||
class HitPoints: HitPoints
|
||||
{
|
||||
class HitLFWheel: HitLFWheel
|
||||
{
|
||||
armor = 0.3;
|
||||
};
|
||||
class HitLBWheel: HitLBWheel
|
||||
{
|
||||
armor = 0.3;
|
||||
};
|
||||
class HitRFWheel: HitRFWheel
|
||||
{
|
||||
armor = 0.3;
|
||||
};
|
||||
class HitRBWheel: HitRBWheel
|
||||
{
|
||||
armor = 0.3;
|
||||
};
|
||||
class HitFuel
|
||||
{
|
||||
armor = 0.28;
|
||||
material = -1;
|
||||
name = "palivo";
|
||||
visual = "";
|
||||
passThrough = 1;
|
||||
};
|
||||
class HitEngine
|
||||
{
|
||||
armor = 1;
|
||||
material = -1;
|
||||
name = "motor";
|
||||
visual = "";
|
||||
passThrough = 1;
|
||||
};
|
||||
class HitGlass1: HitGlass1
|
||||
{
|
||||
armor = 0.1;
|
||||
};
|
||||
class HitGlass2: HitGlass2
|
||||
{
|
||||
armor = 0.1;
|
||||
};
|
||||
class HitGlass3: HitGlass3
|
||||
{
|
||||
armor = 0.1;
|
||||
};
|
||||
class HitGlass4: HitGlass4
|
||||
{
|
||||
armor = 0.1;
|
||||
};
|
||||
};
|
||||
class Upgrades
|
||||
{
|
||||
ItemLRK[] = {"Offroad_DSHKM_Gue_DZE3",
|
||||
{ },
|
||||
{
|
||||
{ "ItemLRK",1 },
|
||||
{ "PartGeneric",2 },
|
||||
{ "ItemTent",1 } }};
|
||||
};
|
||||
|
||||
};
|
||||
// Cargo 3
|
||||
class Offroad_DSHKM_Gue_DZE3: Offroad_DSHKM_Gue_DZE2
|
||||
{
|
||||
transportMaxWeapons = 20; // car 10
|
||||
transportMaxMagazines = 100; // car 50
|
||||
transportmaxbackpacks = 4; // car 2
|
||||
transportmaxbackpacks = 4; // car 2
|
||||
class Upgrades
|
||||
{
|
||||
ItemTNK[] = {"Offroad_DSHKM_Gue_DZE4",
|
||||
{ },
|
||||
{
|
||||
{ "ItemTNK",1 },
|
||||
{ "PartFueltank",2 } }};
|
||||
};
|
||||
};
|
||||
|
||||
// Fuel 4
|
||||
class Offroad_DSHKM_Gue_DZE4: Offroad_DSHKM_Gue_DZE3
|
||||
{
|
||||
|
||||
@@ -219,7 +219,8 @@ class UAZ_Unarmed_TK_CIV_EP1_DZE1: UAZ_Unarmed_TK_CIV_EP1 {
|
||||
|
||||
// Armor 2
|
||||
class UAZ_CDF_DZE2: UAZ_CDF_DZE1 {
|
||||
armor = 50; // car 20
|
||||
armor = 100; // UAZ 40
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -266,7 +267,8 @@ class UAZ_CDF_DZE2: UAZ_CDF_DZE1 {
|
||||
};
|
||||
};
|
||||
class UAZ_INS_DZE2: UAZ_INS_DZE1 {
|
||||
armor = 50; // car 20
|
||||
armor = 100; // UAZ 40
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -313,7 +315,8 @@ class UAZ_INS_DZE2: UAZ_INS_DZE1 {
|
||||
};
|
||||
};
|
||||
class UAZ_RU_DZE2: UAZ_RU_DZE1 {
|
||||
armor = 50; // car 20
|
||||
armor = 100; // UAZ 40
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -360,7 +363,8 @@ class UAZ_RU_DZE2: UAZ_RU_DZE1 {
|
||||
};
|
||||
};
|
||||
class UAZ_Unarmed_TK_EP1_DZE2: UAZ_Unarmed_TK_EP1_DZE1 {
|
||||
armor = 50; // car 20
|
||||
armor = 100; // UAZ 40
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -407,7 +411,8 @@ class UAZ_Unarmed_TK_EP1_DZE2: UAZ_Unarmed_TK_EP1_DZE1 {
|
||||
};
|
||||
};
|
||||
class UAZ_Unarmed_UN_EP1_DZE2: UAZ_Unarmed_UN_EP1_DZE1 {
|
||||
armor = 50; // car 20
|
||||
armor = 100; // UAZ 40
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -454,7 +459,8 @@ class UAZ_Unarmed_UN_EP1_DZE2: UAZ_Unarmed_UN_EP1_DZE1 {
|
||||
};
|
||||
};
|
||||
class UAZ_Unarmed_TK_CIV_EP1_DZE2: UAZ_Unarmed_TK_CIV_EP1_DZE1 {
|
||||
armor = 50; // car 20
|
||||
armor = 100; // UAZ 40
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
|
||||
@@ -281,6 +281,7 @@ class Volha_2_TK_CIV_EP1_DZE1: Volha_2_TK_CIV_EP1 {
|
||||
// Armor 2
|
||||
class VolhaLimo_TK_CIV_EP1_DZE2: VolhaLimo_TK_CIV_EP1_DZE1 {
|
||||
armor = 50; // car 20
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -328,6 +329,7 @@ class VolhaLimo_TK_CIV_EP1_DZE2: VolhaLimo_TK_CIV_EP1_DZE1 {
|
||||
};
|
||||
class Volha_1_TK_CIV_EP1_DZE2: Volha_1_TK_CIV_EP1_DZE1 {
|
||||
armor = 50; // car 20
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -375,6 +377,7 @@ class Volha_1_TK_CIV_EP1_DZE2: Volha_1_TK_CIV_EP1_DZE1 {
|
||||
};
|
||||
class Volha_2_TK_CIV_EP1_DZE2: Volha_2_TK_CIV_EP1_DZE1 {
|
||||
armor = 50; // car 20
|
||||
damageResistance = 0.02099;
|
||||
class HitPoints: HitPoints {
|
||||
class HitLFWheel: HitLFWheel {
|
||||
armor = 0.3;
|
||||
@@ -459,4 +462,4 @@ class Volha_1_TK_CIV_EP1_DZE4: Volha_1_TK_CIV_EP1_DZE3 {
|
||||
};
|
||||
class Volha_2_TK_CIV_EP1_DZE4: Volha_2_TK_CIV_EP1_DZE3 {
|
||||
fuelCapacity = 210; // car 100
|
||||
};
|
||||
};
|
||||
|
||||
@@ -204,6 +204,174 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
};
|
||||
class Tank: landvehicle {
|
||||
class Sounds: Sounds {
|
||||
class Engine;
|
||||
class Movement;
|
||||
};
|
||||
driverOpticsModel = "\ca\Tracked\optika_tank_driver";
|
||||
commanderCanSee = 31;
|
||||
gunnerCanSee = 30;
|
||||
getInAction = "GetInMedium";
|
||||
getOutAction = "GetOutMedium";
|
||||
cargoGetInAction[] = {"GetInLow"};
|
||||
cargoGetOutAction[] = {"GetOutLow"};
|
||||
audible = 18;
|
||||
sensitivityEar = "0.0075 /3";
|
||||
armorStructural = 2;
|
||||
class AnimationSources;
|
||||
class HitPoints {
|
||||
class HitHull {
|
||||
armor = 1;
|
||||
material = -1;
|
||||
name = "NEtelo";
|
||||
visual = "telo";
|
||||
passThrough = 1;
|
||||
};
|
||||
class HitLTrack {
|
||||
armor = 0.15;
|
||||
material = -1;
|
||||
name = "pas_L";
|
||||
visual = "pas_L";
|
||||
passThrough = 0.3;
|
||||
};
|
||||
class HitRTrack {
|
||||
armor = 0.15;
|
||||
material = -1;
|
||||
name = "pas_P";
|
||||
visual = "pas_P";
|
||||
passThrough = 0.3;
|
||||
};
|
||||
class HitEngine {
|
||||
armor = 0.35;
|
||||
material = -1;
|
||||
name = "motor";
|
||||
visual = "motor";
|
||||
passThrough = 0.2;
|
||||
minimalHit = 0.02;
|
||||
};
|
||||
};
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
class Turrets {
|
||||
class MainTurret: NewTurret {
|
||||
gunnerAction = "ManActTestDriverOut";
|
||||
gunnerOpticsModel = "\ca\Tracked\optika_tank_gunner";
|
||||
gunnerOutOpticsModel = "\ca\Weapons\optika_empty";
|
||||
gunBeg = "usti hlavne";
|
||||
gunEnd = "konec hlavne";
|
||||
memoryPointsGetInGunner = "pos gunner";
|
||||
memoryPointsGetInGunnerDir = "pos gunner dir";
|
||||
gunnerGetInAction = "GetInHigh";
|
||||
gunnerGetOutAction = "GetOutHigh";
|
||||
viewGunnerInExternal = 0;
|
||||
primaryGunner = 1;
|
||||
gunnerOpticsEffect[] = {"TankGunnerOptics2","OpticsBlur1","OpticsCHAbera1"};
|
||||
gunnerOutOpticsEffect[] = {};
|
||||
class HitPoints {
|
||||
class HitTurret {
|
||||
armor = 1;
|
||||
material = -1;
|
||||
name = "vez";
|
||||
visual = "vez";
|
||||
passThrough = 1;
|
||||
};
|
||||
class HitGun {
|
||||
armor = 0.3;
|
||||
material = -1;
|
||||
name = "zbran";
|
||||
visual = "zbran";
|
||||
passThrough = 0;
|
||||
};
|
||||
};
|
||||
class Turrets {
|
||||
class CommanderOptics: NewTurret {
|
||||
proxyType = "CPCommander";
|
||||
proxyIndex = 1;
|
||||
gunnerName = "$STR_POSITION_COMMANDER";
|
||||
primaryGunner = 0;
|
||||
primaryObserver = 1;
|
||||
stabilizedInAxes = "StabilizedInAxesNone";
|
||||
body = "obsTurret";
|
||||
gun = "obsGun";
|
||||
animationSourceBody = "obsTurret";
|
||||
animationSourceGun = "obsGun";
|
||||
animationSourceHatch = "hatchCommander";
|
||||
soundServo[] = {"\ca\sounds\vehicles\servos\turret-1",0.01,1,10};
|
||||
gunBeg = "";
|
||||
gunEnd = "";
|
||||
minElev = -4;
|
||||
maxElev = 20;
|
||||
initElev = 0;
|
||||
minTurn = -360;
|
||||
maxTurn = 360;
|
||||
initTurn = 0;
|
||||
commanding = 2;
|
||||
outGunnerMayFire = 1;
|
||||
inGunnerMayFire = 1;
|
||||
viewGunnerInExternal = 0;
|
||||
gunnerOpticsModel = "\ca\Tracked\optika_tank_driver";
|
||||
gunnerOutOpticsModel = "\ca\Weapons\optika_empty";
|
||||
gunnerOutOpticsColor[] = {0,0,0,1};
|
||||
gunnerOutForceOptics = 0;
|
||||
gunnerOutOpticsShowCursor = 0;
|
||||
gunnerOpticsEffect[] = {};
|
||||
gunnerOutOpticsEffect[] = {};
|
||||
memoryPointGunnerOutOptics = "commander_weapon_view";
|
||||
memoryPointGunnerOptics = "commanderview";
|
||||
memoryPointsGetInGunner = "pos commander";
|
||||
memoryPointsGetInGunnerDir = "pos commander dir";
|
||||
gunnerGetInAction = "GetInHigh";
|
||||
gunnerGetOutAction = "GetOutHigh";
|
||||
memoryPointGun = "gun_muzzle";
|
||||
selectionFireAnim = "zasleh_1";
|
||||
class ViewOptics {
|
||||
initAngleX = 0;
|
||||
minAngleX = -30;
|
||||
maxAngleX = 30;
|
||||
initAngleY = 0;
|
||||
minAngleY = -100;
|
||||
maxAngleY = 100;
|
||||
initFov = 0.155;
|
||||
minFov = 0.0625;
|
||||
maxFov = 0.466;
|
||||
};
|
||||
class ViewGunner {
|
||||
initAngleX = 5;
|
||||
minAngleX = -65;
|
||||
maxAngleX = 85;
|
||||
initAngleY = 0;
|
||||
minAngleY = -150;
|
||||
maxAngleY = 150;
|
||||
initFov = 0.7;
|
||||
minFov = 0.25;
|
||||
maxFov = 1.1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
soundDammage[] = {"\ca\Tracked\Data\Sound\alarm_loop1",0.000316228,1};
|
||||
supplyRadius = 1.5;
|
||||
class ViewOptics: ViewOptics {
|
||||
initAngleX = 0;
|
||||
minAngleX = -30;
|
||||
maxAngleX = 30;
|
||||
initAngleY = 0;
|
||||
minAngleY = -100;
|
||||
maxAngleY = 100;
|
||||
initFov = 0.466;
|
||||
minFov = 0.466;
|
||||
maxFov = 0.466;
|
||||
};
|
||||
class DefaultEventhandlers;
|
||||
class Eventhandlers: DefaultEventhandlers{};
|
||||
smokeLauncherGrenadeCount = 6;
|
||||
smokeLauncherVelocity = 15;
|
||||
smokeLauncherOnTurret = 1;
|
||||
smokeLauncherAngle = 120;
|
||||
};
|
||||
|
||||
|
||||
// AIR
|
||||
#include "CfgVehicles\AIR\AN2.hpp"
|
||||
|
||||
@@ -84,6 +84,14 @@ if (_dikCode in actionKeys "MoveLeft") exitWith {r_interrupt = true; if (DZE_Sur
|
||||
if (_dikCode in actionKeys "MoveRight") exitWith {r_interrupt = true; if (DZE_Surrender) then {call dze_surrender_off};};
|
||||
if (_dikCode in actionKeys "MoveBack") exitWith {r_interrupt = true; if (DZE_Surrender) then {call dze_surrender_off};};
|
||||
|
||||
//Prevent exploit of glitching through doors
|
||||
if (_dikCode in actionKeys "Prone") then {
|
||||
_doors = nearestObjects [player, DZE_DoorsLocked, 3];
|
||||
if (count _doors > 0) then {
|
||||
_handled = true;
|
||||
};
|
||||
};
|
||||
|
||||
//Prevent exploit of drag body
|
||||
if ((_dikCode in actionKeys "Prone") && r_drag_sqf) exitWith { force_dropBody = true; };
|
||||
if ((_dikCode in actionKeys "Crouch") && r_drag_sqf) exitWith { force_dropBody = true; };
|
||||
|
||||
@@ -66,7 +66,7 @@ switch _option do {
|
||||
_countIn = _x select 1;
|
||||
_qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player;
|
||||
if (_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; };
|
||||
} count _requirements;
|
||||
} forEach _requirements;
|
||||
|
||||
if (_proceed) then {
|
||||
player playActionNow "Medic";
|
||||
|
||||
88
SQF/dayz_code/actions/modular_build.sqf
Normal file
88
SQF/dayz_code/actions/modular_build.sqf
Normal file
@@ -0,0 +1,88 @@
|
||||
//Check if building already in progress, exit if so.
|
||||
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
|
||||
DZE_ActionInProgress = true;
|
||||
|
||||
private ["_itemConfig","_classname","_classnametmp","_require","_text","_ghost","_lockable","_requireplot","_isAllowedUnderGround","_offset","_isPole","_isLandFireDZ","_hasRequired","_hasrequireditem","_reason","_buildObject","_location1","_object","_objectHelper","_position","_controls","_cancel","_dir"];
|
||||
|
||||
/*Basic Defines*/
|
||||
DZE_Q = false;
|
||||
DZE_Z = false;
|
||||
|
||||
DZE_Q_alt = false;
|
||||
DZE_Z_alt = false;
|
||||
|
||||
DZE_Q_ctrl = false;
|
||||
DZE_Z_ctrl = false;
|
||||
|
||||
DZE_5 = false;
|
||||
DZE_4 = false;
|
||||
DZE_6 = false;
|
||||
|
||||
DZE_F = false;
|
||||
|
||||
DZE_cancelBuilding = false;
|
||||
|
||||
call gear_ui_init;
|
||||
closeDialog 1;
|
||||
|
||||
DZE_buildItem = _this; //This is a magazine! It's global to allow access to it from outside functions
|
||||
|
||||
//count nearby objects. Returns [_cnt] number
|
||||
[] call player_build_countNearby;
|
||||
|
||||
//Check illegal player states. Returns [_isFine] string
|
||||
[] call player_build_states;
|
||||
|
||||
//check for nearby requirements (campfire, workshop, fueltank). Returns [_reason] string
|
||||
[] call player_build_needNearby;
|
||||
|
||||
//check config files and gather info about item (if using custom buildables, make your own similar function instead).
|
||||
_itemConfig = [] call player_build_getConfig;
|
||||
|
||||
//define items collected from function
|
||||
_classname = _itemConfig select 0; //string
|
||||
_classnametmp = _itemConfig select 1; //string
|
||||
_require = _itemConfig select 2; // array
|
||||
_text = _itemConfig select 3; // string
|
||||
_ghost = _itemConfig select 4; //string
|
||||
_lockable = _itemConfig select 5; //int -- 0/1=No 2=lockbox, 3=combolock, 4=safe
|
||||
_requireplot = _itemConfig select 6; //int
|
||||
_isAllowedUnderGround = _itemConfig select 7; //int
|
||||
_offset = _itemConfig select 8; //array
|
||||
_isPole = _itemConfig select 9; //bool
|
||||
_isLandFireDZ = _itemConfig select 10; //bool
|
||||
|
||||
//Check for nearby plotpoles. Returns [_IsNearPlot,_nearestPole,_ownerID,_friendlies] [int,Obj,int,array]
|
||||
[_isPole, _requireplot, _isLandFireDZ] call player_build_plotCheck;
|
||||
|
||||
if (DZE_ActionInProgress) then { //needed otherwise _hasRequired gets RPT error
|
||||
|
||||
//Check for build requirements (missing tools and items). Returns [_hasrequireditem,_reason] [bool,string]
|
||||
_hasRequired = [_require, _text, true, true] call player_build_buildReq;
|
||||
|
||||
//define item collected from function
|
||||
_hasrequireditem = _hasRequired select 0; //bool
|
||||
|
||||
if (_hasrequireditem) then {
|
||||
|
||||
//Create object that is attached to a player (i.e Ghost preview if available)
|
||||
_buildObject = [_classname, _ghost, _offset, true] call player_build_create;
|
||||
|
||||
//define items collected from function
|
||||
_location1 = _buildObject select 0; //array
|
||||
_object = _buildObject select 1; //Obj
|
||||
_position = _buildObject select 2; // array
|
||||
_objectHelper = _buildObject select 3; //Obj
|
||||
|
||||
_controls = [_object, _isAllowedUnderGround, _location1, _position, _objectHelper] call player_build_controls;
|
||||
|
||||
//define items collected from function
|
||||
_cancel = _controls select 0; //bool
|
||||
_reason = _controls select 1; //string
|
||||
_position = _controls select 2; //array
|
||||
_dir = _controls select 3; //int
|
||||
|
||||
//Publish item to a database
|
||||
[_cancel, _position, _classnametmp,_isAllowedUnderGround, _text, _isPole, _lockable,_dir, _reason] call player_build_publish;
|
||||
};
|
||||
};
|
||||
@@ -137,7 +137,7 @@ _findNearestPole = [];
|
||||
_IsNearPlot = count (_findNearestPole);
|
||||
|
||||
// If item is plot pole && another one exists within 45m
|
||||
if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };
|
||||
if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(format [localize "str_epoch_player_44", DZE_PlotPole select 1]) , "PLAIN DOWN"]; };
|
||||
|
||||
if(_IsNearPlot == 0) then {
|
||||
|
||||
@@ -521,7 +521,7 @@ if (_hasrequireditem) then {
|
||||
publicVariableServer "PVDZE_obj_Publish";
|
||||
|
||||
cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
|
||||
|
||||
systemChat format [(localize "str_epoch_player_140"),_combinationDisplay,_text];
|
||||
|
||||
} else {
|
||||
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
|
||||
|
||||
@@ -1,627 +0,0 @@
|
||||
/*
|
||||
DayZ Base Building
|
||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
|
||||
*/
|
||||
private ["_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo",
|
||||
"_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_needNear","_vehicle","_inVehicle","_requireplot","_objHDiff","_isLandFireDZ","_isTankTrap"];
|
||||
|
||||
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
|
||||
DZE_ActionInProgress = true;
|
||||
|
||||
// disallow building if too many objects are found within 30m
|
||||
if((count ((getPosATL player) nearObjects ["All",30])) >= DZE_BuildingLimit) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_41"), "PLAIN DOWN"];};
|
||||
|
||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||
_isWater = dayz_isSwimming;
|
||||
_cancel = false;
|
||||
_reason = "";
|
||||
_canBuildOnPlot = false;
|
||||
|
||||
_vehicle = vehicle player;
|
||||
_inVehicle = (_vehicle != player);
|
||||
//snap
|
||||
helperDetach = false;
|
||||
_canDo = (!r_drag_sqf and !r_player_unconscious);
|
||||
|
||||
DZE_Q = false;
|
||||
DZE_Z = false;
|
||||
|
||||
DZE_Q_alt = false;
|
||||
DZE_Z_alt = false;
|
||||
|
||||
DZE_Q_ctrl = false;
|
||||
DZE_Z_ctrl = false;
|
||||
|
||||
DZE_5 = false;
|
||||
DZE_4 = false;
|
||||
DZE_6 = false;
|
||||
DZE_F = false;
|
||||
|
||||
DZE_cancelBuilding = false;
|
||||
|
||||
call gear_ui_init;
|
||||
closeDialog 1;
|
||||
|
||||
if (_isWater) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"];};
|
||||
if (_inVehicle) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];};
|
||||
if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_21", "PLAIN DOWN"];};
|
||||
if (player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];};
|
||||
|
||||
_item = _this;
|
||||
|
||||
// Need Near Requirements
|
||||
_abort = false;
|
||||
_reason = "";
|
||||
|
||||
_needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "neednearby");
|
||||
|
||||
{
|
||||
switch(_x) do{
|
||||
case "fire":
|
||||
{
|
||||
_distance = 3;
|
||||
_isNear = {inflamed _x} count (getPosATL player nearObjects _distance);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "fire";
|
||||
};
|
||||
};
|
||||
case "workshop":
|
||||
{
|
||||
_distance = 3;
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
};
|
||||
};
|
||||
case "fueltank":
|
||||
{
|
||||
_distance = 30;
|
||||
_isNear = count (nearestObjects [player, dayz_fuelsources, _distance]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "fuel tank";
|
||||
};
|
||||
};
|
||||
};
|
||||
} forEach _needNear;
|
||||
|
||||
|
||||
if(_abort) exitWith {
|
||||
cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
|
||||
DZE_ActionInProgress = false;
|
||||
};
|
||||
|
||||
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
|
||||
_classnametmp = _classname;
|
||||
_require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
|
||||
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
||||
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
|
||||
|
||||
_lockable = 0;
|
||||
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then {
|
||||
_lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable");
|
||||
};
|
||||
|
||||
_requireplot = DZE_requireplot;
|
||||
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
|
||||
_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
|
||||
};
|
||||
|
||||
_isAllowedUnderGround = 1;
|
||||
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
|
||||
_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
|
||||
};
|
||||
|
||||
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
|
||||
if((count _offset) <= 0) then {
|
||||
_offset = [0,1.5,0];
|
||||
};
|
||||
|
||||
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
|
||||
_isLandFireDZ = (_classname == "Land_Fire_DZ");
|
||||
|
||||
_distance = DZE_PlotPole select 0;
|
||||
_needText = localize "str_epoch_player_246";
|
||||
|
||||
if(_isPole) then {
|
||||
_distance = DZE_PlotPole select 1;
|
||||
};
|
||||
|
||||
// check for near plot
|
||||
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
|
||||
_findNearestPole = [];
|
||||
|
||||
{
|
||||
if (alive _x) then {
|
||||
_findNearestPole set [(count _findNearestPole),_x];
|
||||
};
|
||||
} count _findNearestPoles;
|
||||
|
||||
_IsNearPlot = count (_findNearestPole);
|
||||
|
||||
// If item is plot pole && another one exists within 45m
|
||||
if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };
|
||||
|
||||
if(_IsNearPlot == 0) then {
|
||||
|
||||
// Allow building of plot
|
||||
if(_requireplot == 0 || _isLandFireDZ) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
|
||||
} else {
|
||||
// Since there are plots nearby we check for ownership && then for friend status
|
||||
|
||||
// check nearby plots ownership && then for friend status
|
||||
_nearestPole = _findNearestPole select 0;
|
||||
|
||||
// Find owner
|
||||
_ownerID = _nearestPole getVariable ["CharacterID","0"];
|
||||
|
||||
// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
|
||||
|
||||
// check if friendly to owner
|
||||
if(dayz_characterID == _ownerID) then { //Keep ownership
|
||||
// owner can build anything within his plot except other plots
|
||||
if(!_isPole) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
|
||||
} else {
|
||||
// disallow building plot
|
||||
if(!_isPole) then {
|
||||
_friendlies = player getVariable ["friendlyTo",[]];
|
||||
// check if friendly to owner
|
||||
if(_ownerID in _friendlies) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// _message
|
||||
if(!_canBuildOnPlot) exitWith { DZE_ActionInProgress = false; cutText [format[(localize "STR_EPOCH_PLAYER_135"),_needText,_distance] , "PLAIN DOWN"]; };
|
||||
|
||||
_missing = "";
|
||||
_hasrequireditem = true;
|
||||
{
|
||||
_hastoolweapon = _x in weapons player;
|
||||
if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); };
|
||||
} count _require;
|
||||
|
||||
_hasbuilditem = _this in magazines player;
|
||||
if (!_hasbuilditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]; };
|
||||
|
||||
if (!_hasrequireditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_137"),_missing] , "PLAIN DOWN"]; };
|
||||
if (_hasrequireditem) then {
|
||||
|
||||
_location = [0,0,0];
|
||||
_isOk = true;
|
||||
|
||||
// get inital players position
|
||||
_location1 = getPosATL player;
|
||||
_dir = getDir player;
|
||||
|
||||
// if ghost preview available use that instead
|
||||
if (_ghost != "") then {
|
||||
_classname = _ghost;
|
||||
};
|
||||
|
||||
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||
//Build gizmo
|
||||
_objectHelper = "Sign_sphere10cm_EP1" createVehicle _location;
|
||||
_helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)";
|
||||
_objectHelper setobjecttexture [0,_helperColor];
|
||||
_objectHelper attachTo [player,_offset];
|
||||
_object attachTo [_objectHelper,[0,0,0]];
|
||||
_position = getPosATL _objectHelper;
|
||||
|
||||
//cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"];
|
||||
|
||||
_objHDiff = 0;
|
||||
|
||||
if (isClass (configFile >> "SnapBuilding" >> _classname)) then {
|
||||
["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build;
|
||||
};
|
||||
|
||||
while {_isOk} do {
|
||||
|
||||
_zheightchanged = false;
|
||||
_zheightdirection = "";
|
||||
_rotate = false;
|
||||
|
||||
if (DZE_Q) then {
|
||||
DZE_Q = false;
|
||||
_zheightdirection = "up";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Z) then {
|
||||
DZE_Z = false;
|
||||
_zheightdirection = "down";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Q_alt) then {
|
||||
DZE_Q_alt = false;
|
||||
_zheightdirection = "up_alt";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Z_alt) then {
|
||||
DZE_Z_alt = false;
|
||||
_zheightdirection = "down_alt";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Q_ctrl) then {
|
||||
DZE_Q_ctrl = false;
|
||||
_zheightdirection = "up_ctrl";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Z_ctrl) then {
|
||||
DZE_Z_ctrl = false;
|
||||
_zheightdirection = "down_ctrl";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_4) then {
|
||||
_rotate = true;
|
||||
DZE_4 = false;
|
||||
if (helperDetach) then {
|
||||
_dir = -45;
|
||||
} else {
|
||||
_dir = 180;
|
||||
};
|
||||
};
|
||||
if (DZE_6) then {
|
||||
_rotate = true;
|
||||
DZE_6 = false;
|
||||
if (helperDetach) then {
|
||||
_dir = 45;
|
||||
} else {
|
||||
_dir = 0;
|
||||
};
|
||||
};
|
||||
|
||||
if (DZE_F and _canDo) then {
|
||||
if (helperDetach) then {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper attachTo [player];
|
||||
_objectHelper setDir _objectHelperDir-(getDir player);
|
||||
helperDetach = false;
|
||||
} else {
|
||||
_objectHelperPos = getPosATL _objectHelper;
|
||||
detach _objectHelper;
|
||||
_objectHelper setPosATL _objectHelperPos;
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper setVelocity [0,0,0]; //fix sliding glitch
|
||||
helperDetach = true;
|
||||
};
|
||||
DZE_F = false;
|
||||
};
|
||||
|
||||
if(_rotate) then {
|
||||
if (helperDetach) then {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelperPos = getPosATL _objectHelper;
|
||||
_objectHelper setDir _objectHelperDir+_dir;
|
||||
_objectHelper setPosATL _objectHelperPos;
|
||||
} else {
|
||||
_objectHelper setDir _dir;
|
||||
_objectHelper setPosATL _position;
|
||||
//diag_log format["DEBUG Rotate BUILDING POS: %1", _position];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
if(_zheightchanged) then {
|
||||
if (!helperDetach) then {
|
||||
detach _objectHelper;
|
||||
};
|
||||
|
||||
_position = getPosATL _objectHelper;
|
||||
|
||||
if(_zheightdirection == "up") then {
|
||||
_position set [2,((_position select 2)+0.1)];
|
||||
_objHDiff = _objHDiff + 0.1;
|
||||
};
|
||||
if(_zheightdirection == "down") then {
|
||||
_position set [2,((_position select 2)-0.1)];
|
||||
_objHDiff = _objHDiff - 0.1;
|
||||
};
|
||||
|
||||
if(_zheightdirection == "up_alt") then {
|
||||
_position set [2,((_position select 2)+1)];
|
||||
_objHDiff = _objHDiff + 1;
|
||||
};
|
||||
if(_zheightdirection == "down_alt") then {
|
||||
_position set [2,((_position select 2)-1)];
|
||||
_objHDiff = _objHDiff - 1;
|
||||
};
|
||||
|
||||
if(_zheightdirection == "up_ctrl") then {
|
||||
_position set [2,((_position select 2)+0.01)];
|
||||
_objHDiff = _objHDiff + 0.01;
|
||||
};
|
||||
if(_zheightdirection == "down_ctrl") then {
|
||||
_position set [2,((_position select 2)-0.01)];
|
||||
_objHDiff = _objHDiff - 0.01;
|
||||
};
|
||||
|
||||
_objectHelper setDir (getDir _objectHelper);
|
||||
|
||||
if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then {
|
||||
_position set [2,0];
|
||||
};
|
||||
|
||||
_objectHelper setPosATL _position;
|
||||
|
||||
//diag_log format["DEBUG Change BUILDING POS: %1", _position];
|
||||
|
||||
if (!helperDetach) then {
|
||||
_objectHelper attachTo [player];
|
||||
};
|
||||
};
|
||||
|
||||
sleep 0.5;
|
||||
|
||||
_location2 = getPosATL player;
|
||||
|
||||
if(DZE_5) exitWith {
|
||||
_isOk = false;
|
||||
detach _object;
|
||||
_dir = getDir _object;
|
||||
_position = getPosATL _object;
|
||||
//diag_log format["DEBUG BUILDING POS: %1", _position];
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if(_location1 distance _location2 > 10) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "You've moved to far away from where you started building (within 10 meters)";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if(_location1 distance _objectHelperPos > 10) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Object is placed to far away from where you started building (within 10 meters)";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if(abs(_objHDiff) > 10) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Cannot move up or down more than 10 meters";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if (player getVariable["combattimeout", 0] >= time) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = (localize "str_epoch_player_43");
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if (DZE_cancelBuilding) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Cancelled building.";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
};
|
||||
|
||||
//No building on roads unless toggled
|
||||
if (!DZE_BuildOnRoads) then {
|
||||
if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; };
|
||||
};
|
||||
|
||||
// No building in trader zones
|
||||
if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
|
||||
|
||||
if(!_cancel) then {
|
||||
|
||||
_classname = _classnametmp;
|
||||
|
||||
// Start Build
|
||||
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
|
||||
|
||||
_tmpbuilt setdir _dir;
|
||||
|
||||
// Get position based on object
|
||||
_location = _position;
|
||||
|
||||
if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then {
|
||||
_location set [2,0];
|
||||
};
|
||||
|
||||
_tmpbuilt setPosATL _location;
|
||||
|
||||
|
||||
cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];
|
||||
|
||||
_limit = 3;
|
||||
|
||||
if (DZE_StaticConstructionCount > 0) then {
|
||||
_limit = DZE_StaticConstructionCount;
|
||||
}
|
||||
else {
|
||||
if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then {
|
||||
_limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount");
|
||||
};
|
||||
};
|
||||
|
||||
_isOk = true;
|
||||
_proceed = false;
|
||||
_counter = 0;
|
||||
|
||||
while {_isOk} do {
|
||||
|
||||
[10,10] call dayz_HungerThirst;
|
||||
player playActionNow "Medic";
|
||||
|
||||
_dis=20;
|
||||
_sfx = "repair";
|
||||
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
|
||||
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
r_interrupt = false;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
while {r_doLoop} do {
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
};
|
||||
if (_started && !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt || (player getVariable["combattimeout", 0] >= time)) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
if (DZE_cancelBuilding) exitWith {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
r_doLoop = false;
|
||||
|
||||
|
||||
if(!_finished) exitWith {
|
||||
_isOk = false;
|
||||
_proceed = false;
|
||||
};
|
||||
|
||||
if(_finished) then {
|
||||
_counter = _counter + 1;
|
||||
};
|
||||
|
||||
cutText [format[(localize "str_epoch_player_139"),_text, _counter,_limit], "PLAIN DOWN"];
|
||||
|
||||
if(_counter == _limit) exitWith {
|
||||
_isOk = false;
|
||||
_proceed = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
if (_proceed) then {
|
||||
|
||||
_num_removed = ([player,_item] call BIS_fnc_invRemove);
|
||||
if(_num_removed == 1) then {
|
||||
|
||||
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
|
||||
|
||||
if (_isPole) then {
|
||||
[] spawn player_plotPreview;
|
||||
};
|
||||
|
||||
_tmpbuilt setVariable ["OEMPos",_location,true];
|
||||
|
||||
if(_lockable > 1) then {
|
||||
|
||||
_combinationDisplay = "";
|
||||
|
||||
switch (_lockable) do {
|
||||
|
||||
case 2: { // 2 lockbox
|
||||
_combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue
|
||||
_combination_2 = floor(random 10);
|
||||
_combination_3 = floor(random 10);
|
||||
_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
|
||||
dayz_combination = _combination;
|
||||
if (_combination_1 == 100) then {
|
||||
_combination_1_Display = "Red";
|
||||
};
|
||||
if (_combination_1 == 101) then {
|
||||
_combination_1_Display = "Green";
|
||||
};
|
||||
if (_combination_1 == 102) then {
|
||||
_combination_1_Display = "Blue";
|
||||
};
|
||||
_combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3];
|
||||
};
|
||||
|
||||
case 3: { // 3 combolock
|
||||
_combination_1 = floor(random 10);
|
||||
_combination_2 = floor(random 10);
|
||||
_combination_3 = floor(random 10);
|
||||
_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
|
||||
dayz_combination = _combination;
|
||||
_combinationDisplay = _combination;
|
||||
};
|
||||
|
||||
case 4: { // 4 safe
|
||||
_combination_1 = floor(random 10);
|
||||
_combination_2 = floor(random 10);
|
||||
_combination_3 = floor(random 10);
|
||||
_combination_4 = floor(random 10);
|
||||
_combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4];
|
||||
dayz_combination = _combination;
|
||||
_combinationDisplay = _combination;
|
||||
};
|
||||
};
|
||||
|
||||
_tmpbuilt setVariable ["CharacterID",_combination,true];
|
||||
|
||||
|
||||
PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location],_classname];
|
||||
publicVariableServer "PVDZE_obj_Publish";
|
||||
|
||||
cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
|
||||
systemChat format [(localize "str_epoch_player_140"),_combinationDisplay,_text];
|
||||
|
||||
} else {
|
||||
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
|
||||
|
||||
// fire?
|
||||
if(_tmpbuilt isKindOf "Land_Fire_DZ") then {
|
||||
_tmpbuilt spawn player_fireMonitor;
|
||||
} else {
|
||||
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
|
||||
publicVariableServer "PVDZE_obj_Publish";
|
||||
};
|
||||
};
|
||||
} else {
|
||||
deleteVehicle _tmpbuilt;
|
||||
cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
} else {
|
||||
r_interrupt = false;
|
||||
if (vehicle player == player) then {
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
};
|
||||
|
||||
deleteVehicle _tmpbuilt;
|
||||
|
||||
cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
} else {
|
||||
cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
|
||||
};
|
||||
};
|
||||
|
||||
DZE_ActionInProgress = false;
|
||||
44
SQF/dayz_code/actions/player_build_buildReq.sqf
Normal file
44
SQF/dayz_code/actions/player_build_buildReq.sqf
Normal file
@@ -0,0 +1,44 @@
|
||||
if(!DZE_ActionInProgress) exitWith {};
|
||||
//Check for build requirements like tools and if item is in magazines (check args to disable checks)
|
||||
private ["_passArray","_missing","_hasrequireditem","_require","_hastoolweapon","_hasbuilditem","_checkMag","_checkTools","_reason"];
|
||||
|
||||
_require = _this select 0; //grab passed array of required items from item config function
|
||||
_text = _this select 1; //grab text string passed from config
|
||||
_checkMag = _this select 2; //check if item was built from magazine used in config file. Default is true. Set to false if building item from custom script
|
||||
_checkTools = _this select 3; //same as above, default is true, set to false if you do not need item requirements.
|
||||
|
||||
_missing = "";
|
||||
_hasrequireditem = true;
|
||||
_reason = "ok";
|
||||
_passArray = [];
|
||||
|
||||
{
|
||||
_hastoolweapon = _x in weapons player; //check each required item against weapons array on player
|
||||
if(!_hastoolweapon) exitWith { //if tool was not found, get missing tool's name from config
|
||||
_hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName");
|
||||
};
|
||||
} count _require; //count each item in requirements array
|
||||
|
||||
_hasbuilditem = DZE_buildItem in magazines player;
|
||||
|
||||
_passArray = [_hasrequireditem,_reason];
|
||||
|
||||
if (_checkMag) then { //passed argument
|
||||
if (!_hasbuilditem) exitWith { //End script if magazine was not found
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"];
|
||||
_reason = "missing item";
|
||||
_passArray
|
||||
};
|
||||
};
|
||||
|
||||
if (_checkTools) then { //passed argument
|
||||
if (!_hasrequireditem) exitWith { //End script if required item/tool was not found
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [format[(localize "str_epoch_player_137"),_missing] , "PLAIN DOWN"];
|
||||
_reason = "missing tools";
|
||||
_passArray
|
||||
};
|
||||
};
|
||||
_passArray //[bool,string]
|
||||
|
||||
218
SQF/dayz_code/actions/player_build_controls.sqf
Normal file
218
SQF/dayz_code/actions/player_build_controls.sqf
Normal file
@@ -0,0 +1,218 @@
|
||||
private ["_canDo","_passArray","_objHDiff","_isOk","_zheightchanged","_zheightdirection","_rotate","_dir","_object","_position","_isAllowedUnderGround","_location1","_location2","_cancel","_reason","_lastDir","_objectHelper","_objectHelperDir","_objectHelperPos"];
|
||||
|
||||
_object = _this select 0;
|
||||
_isAllowedUnderGround = _this select 1;
|
||||
_location1 = _this select 2;
|
||||
_position = _this select 3;
|
||||
_objectHelper = _this select 4;
|
||||
|
||||
_passArray = [];
|
||||
|
||||
_objHDiff = 0;
|
||||
_isOk = true;
|
||||
_cancel = false;
|
||||
_reason = "";
|
||||
_dir = getDir player; //required to pass direction when building
|
||||
helperDetach = false;
|
||||
_canDo = (!r_drag_sqf and !r_player_unconscious);
|
||||
|
||||
while {_isOk} do {
|
||||
|
||||
_zheightchanged = false;
|
||||
_zheightdirection = "";
|
||||
_rotate = false;
|
||||
|
||||
if (DZE_Q) then {
|
||||
DZE_Q = false;
|
||||
_zheightdirection = "up";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Z) then {
|
||||
DZE_Z = false;
|
||||
_zheightdirection = "down";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Q_alt) then {
|
||||
DZE_Q_alt = false;
|
||||
_zheightdirection = "up_alt";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Z_alt) then {
|
||||
DZE_Z_alt = false;
|
||||
_zheightdirection = "down_alt";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Q_ctrl) then {
|
||||
DZE_Q_ctrl = false;
|
||||
_zheightdirection = "up_ctrl";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_Z_ctrl) then {
|
||||
DZE_Z_ctrl = false;
|
||||
_zheightdirection = "down_ctrl";
|
||||
_zheightchanged = true;
|
||||
};
|
||||
if (DZE_4) then {
|
||||
_rotate = true;
|
||||
DZE_4 = false;
|
||||
if (helperDetach) then {
|
||||
_dir = -45;
|
||||
} else {
|
||||
_dir = 180;
|
||||
};
|
||||
};
|
||||
if (DZE_6) then {
|
||||
_rotate = true;
|
||||
DZE_6 = false;
|
||||
if (helperDetach) then {
|
||||
_dir = 45;
|
||||
} else {
|
||||
_dir = 0;
|
||||
};
|
||||
};
|
||||
|
||||
if (DZE_F and _canDo) then {
|
||||
if (helperDetach) then {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper attachTo [player];
|
||||
_objectHelper setDir _objectHelperDir-(getDir player);
|
||||
helperDetach = false;
|
||||
} else {
|
||||
_objectHelperPos = getPosATL _objectHelper;
|
||||
detach _objectHelper;
|
||||
_objectHelper setPosATL _objectHelperPos;
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper setVelocity [0,0,0]; //fix sliding glitch
|
||||
helperDetach = true;
|
||||
};
|
||||
DZE_F = false;
|
||||
};
|
||||
|
||||
if(_rotate) then {
|
||||
if (helperDetach) then {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelperPos = getPosATL _objectHelper;
|
||||
_objectHelper setDir _objectHelperDir+_dir;
|
||||
_objectHelper setPosATL _objectHelperPos;
|
||||
} else {
|
||||
_objectHelper setDir _dir;
|
||||
_objectHelper setPosATL _position;
|
||||
};
|
||||
};
|
||||
|
||||
if(_zheightchanged) then {
|
||||
if (!helperDetach) then {
|
||||
detach _objectHelper;
|
||||
};
|
||||
|
||||
_position = getPosATL _objectHelper;
|
||||
|
||||
if(_zheightdirection == "up") then {
|
||||
_position set [2,((_position select 2)+0.1)];
|
||||
_objHDiff = _objHDiff + 0.1;
|
||||
};
|
||||
if(_zheightdirection == "down") then {
|
||||
_position set [2,((_position select 2)-0.1)];
|
||||
_objHDiff = _objHDiff - 0.1;
|
||||
};
|
||||
|
||||
if(_zheightdirection == "up_alt") then {
|
||||
_position set [2,((_position select 2)+1)];
|
||||
_objHDiff = _objHDiff + 1;
|
||||
};
|
||||
if(_zheightdirection == "down_alt") then {
|
||||
_position set [2,((_position select 2)-1)];
|
||||
_objHDiff = _objHDiff - 1;
|
||||
};
|
||||
|
||||
if(_zheightdirection == "up_ctrl") then {
|
||||
_position set [2,((_position select 2)+0.01)];
|
||||
_objHDiff = _objHDiff + 0.01;
|
||||
};
|
||||
if(_zheightdirection == "down_ctrl") then {
|
||||
_position set [2,((_position select 2)-0.01)];
|
||||
_objHDiff = _objHDiff - 0.01;
|
||||
};
|
||||
|
||||
_objectHelper setDir (getDir _objectHelper);
|
||||
|
||||
if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then {
|
||||
_position set [2,0];
|
||||
};
|
||||
|
||||
_objectHelper setPosATL _position;
|
||||
|
||||
if (!helperDetach) then {
|
||||
_objectHelper attachTo [player];
|
||||
};
|
||||
};
|
||||
|
||||
sleep 0.5;
|
||||
|
||||
_location2 = getPosATL player;
|
||||
_objectHelperPos = getPosATL _objectHelper;
|
||||
|
||||
if(DZE_5) exitWith {
|
||||
_isOk = false;
|
||||
detach _object;
|
||||
_position = getPosATL _object;
|
||||
_dir = getDir _object;
|
||||
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if(_location1 distance _location2 > 10) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "You've moved to far away from where you started building (within 10 meters)";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if(_location1 distance _objectHelperPos > 10) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Object is placed to far away from where you started building (within 10 meters)";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if(abs(_objHDiff) > 10) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Cannot move up or down more than 10 meters";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if (player getVariable["combattimeout", 0] >= time) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = (localize "str_epoch_player_43");
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
|
||||
if (DZE_cancelBuilding) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Cancelled building.";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
detach _objectHelper;
|
||||
deleteVehicle _objectHelper;
|
||||
};
|
||||
};
|
||||
|
||||
_passArray = [_cancel,_reason,_position,_dir];
|
||||
_passArray //[bool,string,array,int]
|
||||
10
SQF/dayz_code/actions/player_build_countNearby.sqf
Normal file
10
SQF/dayz_code/actions/player_build_countNearby.sqf
Normal file
@@ -0,0 +1,10 @@
|
||||
// disallow building if too many objects are found within 30m (by default)
|
||||
private ["_cnt"];
|
||||
|
||||
_cnt = count ((getPosATL player) nearObjects ["All",DZE_checkNearbyRadius]);
|
||||
if (_cnt >= DZE_BuildingLimit) exitWith { //end script if too many objects nearby
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [(localize "str_epoch_player_41"), "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
_cnt //returns amount of total objects found nearby
|
||||
38
SQF/dayz_code/actions/player_build_create.sqf
Normal file
38
SQF/dayz_code/actions/player_build_create.sqf
Normal file
@@ -0,0 +1,38 @@
|
||||
//create an object for default build system style
|
||||
private ["_passArray","_classname","_enableGhost","_ghost","_location","_location1","_dir","_object","_position","_objectHelper","_helperColor"];
|
||||
|
||||
_classname = _this select 0;
|
||||
_ghost = _this select 1;
|
||||
_offset = _this select 2;
|
||||
_enableGhost = _this select 3; //pass false trough args if not using ghost preview
|
||||
|
||||
_passArray = [];
|
||||
_location = [0,0,0]; //create object in debug zone first
|
||||
_objectHelper = objNull;
|
||||
|
||||
// get inital players position
|
||||
_location1 = getPosATL player;
|
||||
|
||||
// if enabled, use ghost preview where available
|
||||
if (_enableGhost) then {
|
||||
if (_ghost != "") then {
|
||||
_classname = _ghost;
|
||||
};
|
||||
};
|
||||
|
||||
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //object preview, not an actual object that will be built
|
||||
|
||||
_objectHelper = "Sign_sphere10cm_EP1" createVehicle _location;
|
||||
_helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)";
|
||||
_objectHelper setobjecttexture [0,_helperColor];
|
||||
_objectHelper attachTo [player,_offset];
|
||||
_object attachTo [_objectHelper,[0,0,0]];
|
||||
_position = getPosATL _objectHelper;
|
||||
|
||||
if (isClass (configFile >> "SnapBuilding" >> _classname)) then {
|
||||
["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build;
|
||||
};
|
||||
|
||||
_passArray = [_location1,_object,_position,_objectHelper];
|
||||
_passArray //[array,obj,array]
|
||||
|
||||
39
SQF/dayz_code/actions/player_build_getConfig.sqf
Normal file
39
SQF/dayz_code/actions/player_build_getConfig.sqf
Normal file
@@ -0,0 +1,39 @@
|
||||
if(!DZE_ActionInProgress) exitWith {};
|
||||
//Build an array of various variables gathered about build object from config files, only applies to legit buildable objects
|
||||
private ["_passArray","_classname","_classnametmp","_require","_text","_ghost","_lockable","_requireplot","_isAllowedUnderGround","_offset","_isPole","_isLandFireDZ"];
|
||||
|
||||
_passArray = [];
|
||||
|
||||
_classname = getText (configFile >> "CfgMagazines" >> DZE_buildItem >> "ItemActions" >> "Build" >> "create");
|
||||
_classnametmp = _classname;
|
||||
_require = getArray (configFile >> "cfgMagazines" >> DZE_buildItem >> "ItemActions" >> "Build" >> "require");
|
||||
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
|
||||
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
|
||||
|
||||
_lockable = 0; //default define if lockable not found in config file below
|
||||
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { //find out if item is lockable object
|
||||
_lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); // 2=lockbox, 3=combolock, 4=safe
|
||||
};
|
||||
|
||||
_requireplot = DZE_requireplot; //check for plotpole requirements defined in init.sqf
|
||||
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
|
||||
_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
|
||||
};
|
||||
|
||||
_isAllowedUnderGround = 1; //check if allowed to build under terrain
|
||||
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
|
||||
_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
|
||||
};
|
||||
|
||||
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset"); //check default distance offset, define if does not exist
|
||||
if((count _offset) <= 0) then {
|
||||
_offset = [0,1.5,0];
|
||||
};
|
||||
|
||||
_isPole = (_classname == "Plastic_Pole_EP1_DZ"); //check if item is plotpole
|
||||
_isLandFireDZ = (_classname == "Land_Fire_DZ"); //check if item is campfire
|
||||
|
||||
_passArray = [_classname,_classnametmp,_require,_text,_ghost,_lockable,_requireplot,_isAllowedUnderGround,_offset,_isPole,_isLandFireDZ]; //create new array to pass to caller
|
||||
|
||||
_passArray //[string,string,array,string,string,int,int,int,array,bool,bool]
|
||||
|
||||
44
SQF/dayz_code/actions/player_build_needNearby.sqf
Normal file
44
SQF/dayz_code/actions/player_build_needNearby.sqf
Normal file
@@ -0,0 +1,44 @@
|
||||
if(!DZE_ActionInProgress) exitWith {};
|
||||
//disallow building if required items (defined in config) are not found nearby
|
||||
private ["_abort","_reason","_distance","_needNear","_isNear"];
|
||||
|
||||
_abort = false; //do not abort by default
|
||||
_reason = ""; // define to avoid RPT errors
|
||||
_needNear = getArray (configFile >> "CfgMagazines" >> DZE_buildItem >> "ItemActions" >> "Build" >> "neednearby");
|
||||
|
||||
{
|
||||
switch(_x) do{
|
||||
case "fire":
|
||||
{
|
||||
_distance = 3;
|
||||
_isNear = {inflamed _x} count (getPosATL player nearObjects _distance);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "fire";
|
||||
};
|
||||
};
|
||||
case "workshop":
|
||||
{
|
||||
_distance = 3;
|
||||
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
};
|
||||
};
|
||||
case "fueltank":
|
||||
{
|
||||
_distance = 30;
|
||||
_isNear = count (nearestObjects [player, dayz_fuelsources, _distance]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "fuel tank";
|
||||
};
|
||||
};
|
||||
};
|
||||
} forEach _needNear;
|
||||
|
||||
if (_abort) exitWith {
|
||||
cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
|
||||
DZE_ActionInProgress = false;
|
||||
};
|
||||
79
SQF/dayz_code/actions/player_build_plotCheck.sqf
Normal file
79
SQF/dayz_code/actions/player_build_plotCheck.sqf
Normal file
@@ -0,0 +1,79 @@
|
||||
if(!DZE_ActionInProgress) exitWith {};
|
||||
//Check if nearby plotpoles exists
|
||||
private ["_passArray","_isPole","_needText","_distance","_findNearestPoles","_findNearestPole","_IsNearPlot","_requireplot","_isLandFireDZ","_canBuildOnPlot","_nearestPole","_ownerID","_friendlies"];
|
||||
|
||||
//defines
|
||||
_isPole = _this select 0;
|
||||
_requireplot = _this select 1;
|
||||
_isLandFireDZ = _this select 2;
|
||||
|
||||
_needText = localize "str_epoch_player_246"; //text for when requirements not met
|
||||
_canBuildOnPlot = false;
|
||||
_nearestPole = objNull;
|
||||
_ownerID = 0;
|
||||
_friendlies = [];
|
||||
|
||||
if(_isPole) then { //check if object is plotpole and adjust distance accordingly
|
||||
_distance = DZE_PlotPole select 1;
|
||||
} else {
|
||||
_distance = DZE_PlotPole select 0;
|
||||
};
|
||||
|
||||
// check for near plotpoles
|
||||
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance]; //create an array of nearby objects that are plotpoles, nearest will always be first in array
|
||||
_findNearestPole = []; //must define an empty array to avoid problems
|
||||
|
||||
{
|
||||
if (alive _x) then { //only look for non-destroyed plotpoles
|
||||
_findNearestPole set [(count _findNearestPole),_x]; //build an array of live plotpoles found nearby
|
||||
};
|
||||
} count _findNearestPoles; //count each item in previously created array of nearby plotpoles
|
||||
|
||||
_IsNearPlot = count (_findNearestPole); //count our new array of non-destroyed plotpoles. Empty array will return 0
|
||||
|
||||
if(_IsNearPlot == 0) then { //No live plotpoles were found nearby
|
||||
// Allow building of plot
|
||||
if(_requireplot == 0 || _isLandFireDZ) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
} else {
|
||||
// Since there are plots nearby we check for ownership && then for friend status
|
||||
// check nearby plots ownership && then for friend status
|
||||
_nearestPole = _findNearestPole select 0; //nearest is always first in array when using nearestObjects check
|
||||
|
||||
// Find owner
|
||||
_ownerID = _nearestPole getVariable ["CharacterID","0"];
|
||||
|
||||
// check if friendly to owner
|
||||
if(dayz_characterID == _ownerID) then { //Keep ownership
|
||||
// owner can build anything within his plot except other plots
|
||||
if(!_isPole) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
} else {
|
||||
// disallow building plot
|
||||
if(!_isPole) then {
|
||||
_friendlies = player getVariable ["friendlyTo",[]];
|
||||
// check if friendly to owner
|
||||
if(_ownerID in _friendlies) then {
|
||||
_canBuildOnPlot = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
_passArray = [_IsNearPlot,_nearestPole,_ownerID,_friendlies]; //create new array and pass it to caller
|
||||
|
||||
// End script if item is plot pole and another one exists within defined radius
|
||||
if(_isPole && _IsNearPlot > 0) exitWith {
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [(format [localize "str_epoch_player_44", DZE_PlotPole select 1]) , "PLAIN DOWN"];
|
||||
_passArray
|
||||
};
|
||||
|
||||
if(!_canBuildOnPlot) exitWith { //end script if requirements were not met
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [format[(localize "STR_EPOCH_PLAYER_135"),_needText,_distance] , "PLAIN DOWN"];
|
||||
_passArray
|
||||
};
|
||||
_passArray //[int,Obj,int,array]
|
||||
220
SQF/dayz_code/actions/player_build_publish.sqf
Normal file
220
SQF/dayz_code/actions/player_build_publish.sqf
Normal file
@@ -0,0 +1,220 @@
|
||||
private ["_passArray","_cancel","_position","_reason","_classnametmp","_classname","_tmpbuilt","_dir","_location","_text","_limit","_isOk","_proceed","_counter","_dis","_sfx","_started","_finished","_animState","_isMedic","_num_removed","_lockable","_combinationDisplay","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display"];
|
||||
|
||||
//defines
|
||||
_cancel = _this select 0;
|
||||
_position = _this select 1;
|
||||
_classnametmp = _this select 2;
|
||||
_isAllowedUnderGround = _this select 3;
|
||||
_text = _this select 4;
|
||||
_isPole = _this select 5;
|
||||
_lockable = _this select 6;
|
||||
_dir = _this select 7;
|
||||
_reason = _this select 8;
|
||||
|
||||
_passArray = [];
|
||||
|
||||
_isOk = true;
|
||||
_proceed = false;
|
||||
_counter = 0;
|
||||
_location = [0,0,0];
|
||||
|
||||
//No building on roads unless toggled
|
||||
if (!DZE_BuildOnRoads) then {
|
||||
if (isOnRoad _position) then {
|
||||
_cancel = true;
|
||||
_reason = "Cannot build on a road.";
|
||||
};
|
||||
};
|
||||
|
||||
// No building in trader zones
|
||||
if(!canbuild) then {
|
||||
_cancel = true;
|
||||
_reason = "Cannot build in a city.";
|
||||
};
|
||||
|
||||
if(!_cancel) then {
|
||||
|
||||
_classname = _classnametmp;
|
||||
|
||||
// Start Build
|
||||
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //create actual object that will be published to database
|
||||
|
||||
_tmpbuilt setdir _dir; //set direction inherited from passed args from control
|
||||
|
||||
// Get position based on object
|
||||
_location = _position;
|
||||
|
||||
if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then { //check Z axis if not allowed to build underground
|
||||
_location set [2,0]; //reset Z axis to zero (above terrain)
|
||||
};
|
||||
|
||||
_tmpbuilt setPosATL _location; //update position passed from args or previous if statement
|
||||
|
||||
|
||||
cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];
|
||||
|
||||
_limit = 3; //times it takes to build by default
|
||||
|
||||
if (DZE_StaticConstructionCount > 0) then { //if count is manually overridden inside init.sqf, use that instead, else use limits configured in config files
|
||||
_limit = DZE_StaticConstructionCount;
|
||||
}
|
||||
else {
|
||||
if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then {
|
||||
_limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount");
|
||||
};
|
||||
};
|
||||
|
||||
while {_isOk} do { //publish phase
|
||||
|
||||
[10,10] call dayz_HungerThirst;
|
||||
player playActionNow "Medic"; //animation
|
||||
|
||||
//alert zombies
|
||||
_dis=20;
|
||||
_sfx = "repair";
|
||||
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
|
||||
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
|
||||
|
||||
r_interrupt = false;
|
||||
r_doLoop = true;
|
||||
_started = false;
|
||||
_finished = false;
|
||||
|
||||
while {r_doLoop} do { //while player is not interrupted, go trough animations
|
||||
_animState = animationState player;
|
||||
_isMedic = ["medic",_animState] call fnc_inString;
|
||||
if (_isMedic) then {
|
||||
_started = true;
|
||||
};
|
||||
if (_started && !_isMedic) then {
|
||||
r_doLoop = false;
|
||||
_finished = true;
|
||||
};
|
||||
if (r_interrupt || (player getVariable["combattimeout", 0] >= time)) then {
|
||||
r_doLoop = false;
|
||||
};
|
||||
if (DZE_cancelBuilding) exitWith {
|
||||
r_doLoop = false;
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
r_doLoop = false;
|
||||
|
||||
|
||||
if(!_finished) exitWith { //exit if interrupted
|
||||
_isOk = false;
|
||||
_proceed = false;
|
||||
};
|
||||
|
||||
if(_finished) then { //if animation finished, add to build count
|
||||
_counter = _counter + 1;
|
||||
};
|
||||
|
||||
cutText [format[(localize "str_epoch_player_139"),_text, _counter,_limit], "PLAIN DOWN"]; //report how many steps are done out of total limit
|
||||
|
||||
if(_counter == _limit) exitWith { //if all steps done proceed with next step, otherwise cancel publish
|
||||
_isOk = false;
|
||||
_proceed = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
if (_proceed) then {
|
||||
|
||||
_num_removed = ([player,DZE_buildItem] call BIS_fnc_invRemove); //remove item's magazine from inventory
|
||||
if(_num_removed == 1) then {
|
||||
|
||||
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
|
||||
|
||||
if (_isPole) then { //if item was a plotpole, build a visual radius around it
|
||||
[] spawn player_plotPreview;
|
||||
};
|
||||
|
||||
_tmpbuilt setVariable ["OEMPos",_location,true]; //store original location as a variable
|
||||
|
||||
if(_lockable > 1) then { //if item has code lock on it
|
||||
|
||||
_combinationDisplay = ""; //define new display
|
||||
|
||||
switch (_lockable) do { //generate random combinations depending on item type
|
||||
|
||||
case 2: { // 2 lockbox
|
||||
_combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue
|
||||
_combination_2 = floor(random 10);
|
||||
_combination_3 = floor(random 10);
|
||||
_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
|
||||
dayz_combination = _combination;
|
||||
if (_combination_1 == 100) then {
|
||||
_combination_1_Display = "Red";
|
||||
};
|
||||
if (_combination_1 == 101) then {
|
||||
_combination_1_Display = "Green";
|
||||
};
|
||||
if (_combination_1 == 102) then {
|
||||
_combination_1_Display = "Blue";
|
||||
};
|
||||
_combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3];
|
||||
};
|
||||
|
||||
case 3: { // 3 combolock
|
||||
_combination_1 = floor(random 10);
|
||||
_combination_2 = floor(random 10);
|
||||
_combination_3 = floor(random 10);
|
||||
_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
|
||||
dayz_combination = _combination;
|
||||
_combinationDisplay = _combination;
|
||||
};
|
||||
|
||||
case 4: { // 4 safe
|
||||
_combination_1 = floor(random 10);
|
||||
_combination_2 = floor(random 10);
|
||||
_combination_3 = floor(random 10);
|
||||
_combination_4 = floor(random 10);
|
||||
_combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4];
|
||||
dayz_combination = _combination;
|
||||
_combinationDisplay = _combination;
|
||||
};
|
||||
};
|
||||
|
||||
_tmpbuilt setVariable ["CharacterID",_combination,true]; //set combination as a character ID
|
||||
|
||||
//call publish precompiled function with given args and send public variable to server to save item to database
|
||||
PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location],_classname];
|
||||
publicVariableServer "PVDZE_obj_Publish";
|
||||
|
||||
cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5]; //display new combination
|
||||
|
||||
|
||||
} else { //if not lockable item
|
||||
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
|
||||
|
||||
// fire?
|
||||
if(_tmpbuilt isKindOf "Land_Fire_DZ") then { //if campfire, then spawn, but do not publish to database
|
||||
_tmpbuilt spawn player_fireMonitor;
|
||||
} else {
|
||||
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
|
||||
publicVariableServer "PVDZE_obj_Publish";
|
||||
};
|
||||
};
|
||||
} else { //if magazine was not removed, cancel publish
|
||||
deleteVehicle _tmpbuilt;
|
||||
cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
} else { //if player was interrupted, cancel publish and stop build animations
|
||||
r_interrupt = false;
|
||||
if (vehicle player == player) then {
|
||||
[objNull, player, rSwitchMove,""] call RE;
|
||||
player playActionNow "stop";
|
||||
};
|
||||
|
||||
deleteVehicle _tmpbuilt;
|
||||
|
||||
cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
} else { //cancel build if passed _cancel arg was true or building on roads/trader city
|
||||
cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
|
||||
};
|
||||
|
||||
DZE_ActionInProgress = false; //in any case always finish last function with this to "reset" everything.
|
||||
39
SQF/dayz_code/actions/player_build_states.sqf
Normal file
39
SQF/dayz_code/actions/player_build_states.sqf
Normal file
@@ -0,0 +1,39 @@
|
||||
if(!DZE_ActionInProgress) exitWith {};
|
||||
//disallow building if these conditions are not met
|
||||
private ["_isFine","_onLadder","_vehicle","_inVehicle"];
|
||||
|
||||
_isFine = "ok"; //define variable to avoid RPT errors
|
||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||
_vehicle = vehicle player;
|
||||
_inVehicle = (_vehicle != player);
|
||||
|
||||
if (dayz_isSwimming) exitWith { //end script if player is swimming
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [localize "str_player_26", "PLAIN DOWN"];
|
||||
_isFine = "Swimming";
|
||||
_isFine
|
||||
};
|
||||
|
||||
if (_inVehicle) exitWith { //end script if player is in vehicle
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];
|
||||
_isFine = "In vehicle";
|
||||
_isFine
|
||||
};
|
||||
|
||||
if (_onLadder) exitWith { //end script if player is climbing on ladder
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [localize "str_player_21", "PLAIN DOWN"];
|
||||
_isFine = "On ladder";
|
||||
_isFine
|
||||
};
|
||||
|
||||
if (player getVariable["combattimeout", 0] >= time) exitWith { //end script if player is in combat
|
||||
DZE_ActionInProgress = false;
|
||||
cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];
|
||||
_isFine = "In combat";
|
||||
_isFine
|
||||
};
|
||||
|
||||
_isFine //returns string to caller, default is "ok" if conditions were not met
|
||||
|
||||
@@ -17,7 +17,7 @@ if(!(surfaceIsWater _position)) exitWith {DZE_ActionInProgress = false; cutText
|
||||
if((currentWeapon player) != "MeleeFishingPole") exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_67"), "PLAIN DOWN"]; };
|
||||
|
||||
if(dayz_isSwimming) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"]; };
|
||||
if(player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_68"), "PLAIN DOWN"];};
|
||||
if(player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_312"), "PLAIN DOWN"];};
|
||||
|
||||
_isOk = true;
|
||||
_counter = 0;
|
||||
@@ -81,4 +81,4 @@ while {_isOk} do {
|
||||
};
|
||||
};
|
||||
};
|
||||
DZE_ActionInProgress = false;
|
||||
DZE_ActionInProgress = false;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// July 10 2014 //
|
||||
/*--------------------------------*/
|
||||
|
||||
private ["_object","_objectSnapGizmo","_objColorActive","_objColorInactive","_classname","_whitelist","_points","_radius","_cfg","_cnt","_pos","_findWhitelisted","_nearbyObject","_posNearby","_selectedAction","_newPos","_pointsNearby","_onWater"];
|
||||
private ["_object","_objectSnapGizmo","_objColorActive","_objColorInactive","_classname","_whitelist","_points","_radius","_cfg","_cnt","_pos","_findWhitelisted","_nearbyObject","_posNearby","_selectedAction","_newPos","_pointsNearby","_onWater","_waterBase"];
|
||||
//Args
|
||||
snapActionState = _this select 3 select 0;
|
||||
_object = _this select 3 select 1;
|
||||
@@ -58,8 +58,10 @@ fnc_initSnapPoints = {
|
||||
|
||||
fnc_initSnapPointsNearby = {
|
||||
_pos = getPosATL _object;
|
||||
_findWhitelisted = []; _pointsNearby = [];
|
||||
_findWhitelisted = nearestObjects [_pos,_whitelist,_radius]-[_object];
|
||||
_findWhitelisted = []; _pointsNearby = []; _waterBase = 0;
|
||||
_onWater = surfaceIsWater position player;
|
||||
if (_onWater) then { _waterBase = (getPosATL player select 2);};
|
||||
_findWhitelisted = nearestObjects [_pos,_whitelist,(_radius + DZE_snapExtraRange + _waterBase)]-[_object];
|
||||
snapGizmosNearby = [];
|
||||
{
|
||||
_nearbyObject = _x;
|
||||
@@ -242,7 +244,7 @@ switch (snapActionState) do {
|
||||
[1,0,0] call fnc_snapActionCleanup;
|
||||
[] spawn {
|
||||
while {true} do {
|
||||
if(!DZE_ActionInProgress) exitWith {call fnc_initSnapPointsCleanup;[0,0,0] call fnc_snapActionCleanup; ["",false] call fnc_initSnapTutorial; snapActionState = "OFF";};
|
||||
if(!DZE_ActionInProgress || DZE_cancelBuilding) exitWith {call fnc_initSnapPointsCleanup;[0,0,0] call fnc_snapActionCleanup; ["",false] call fnc_initSnapTutorial; snapActionState = "OFF";};
|
||||
sleep 2;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -41,5 +41,5 @@ _hasItems = true;
|
||||
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
|
||||
cutText [format[(localize "STR_EPOCH_ACTIONS_12"), _missingQty, _textMissing], "PLAIN DOWN"];
|
||||
};
|
||||
} count _items;
|
||||
} forEach _items;
|
||||
_hasItems
|
||||
|
||||
@@ -76,7 +76,7 @@ if (_inVehicle) then {
|
||||
|
||||
if (!isNull _menClose && _hasPatient && !r_drag_sqf && !r_action && !_inVehicle && !r_player_unconscious && _isClose) then {
|
||||
_unit = cursorTarget;
|
||||
_isDisallowRefuel = typeOf _unit in ["M240Nest_DZ"];
|
||||
_isDisallowRefuel = typeOf _unit in ["M240Nest_DZ","MMT_Civ","MMT_USMC","Old_bike_TK_CIV_EP1","Old_bike_TK_INS_EP1"];
|
||||
// player reveal _unit;
|
||||
_vehClose = (getPosATL player) nearEntities [["Car","Tank","Helicopter","Plane","StaticWeapon","Ship"],5]; //nearestObjects [player, ["Car","Tank","Helicopter","Plane","StaticWeapon","Ship"], 5];
|
||||
_hasVehicle = ({alive _x} count _vehClose > 0);
|
||||
|
||||
@@ -866,6 +866,10 @@ if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance curso
|
||||
s_player_SurrenderedGear = -1;
|
||||
|
||||
//Others
|
||||
player removeAction s_player_maintain_area;
|
||||
s_player_maintain_area = -1;
|
||||
player removeAction s_player_maintain_area_preview;
|
||||
s_player_maintain_area_preview = -1;
|
||||
player removeAction s_player_forceSave;
|
||||
s_player_forceSave = -1;
|
||||
player removeAction s_player_flipveh;
|
||||
|
||||
@@ -11,7 +11,9 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
|
||||
_timeout = 0;
|
||||
r_handlerCount = r_handlerCount + 1;
|
||||
r_player_handler1 = true;
|
||||
player playAction "CanNotMove";
|
||||
if (vehicle player == player) then {
|
||||
player playAction "CanNotMove";
|
||||
};
|
||||
"dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0;
|
||||
"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0;
|
||||
0 fadeSound 0.05;
|
||||
|
||||
@@ -137,7 +137,7 @@ if(isServer)then{
|
||||
};
|
||||
};
|
||||
sleep 0.001;
|
||||
} count _missonLights;
|
||||
} forEach _missonLights;
|
||||
if (_delQtyLights > 0) then {
|
||||
_qty = count _missonLights;
|
||||
diag_log (format["CLEANUP: Deleted %1 Lights out of %2",_delQtyLights,_qty]);
|
||||
|
||||
@@ -150,4 +150,4 @@ if (_nearbyCount < 1) exitwith
|
||||
};
|
||||
};
|
||||
};
|
||||
} count _nearby;
|
||||
} forEach _nearby;
|
||||
|
||||
@@ -99,7 +99,23 @@ if (!isDedicated) then {
|
||||
player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";
|
||||
player_harvestPlant = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_harvestPlant.sqf";
|
||||
player_goFishing = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_goFishing.sqf";
|
||||
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";
|
||||
|
||||
if (DZE_modularBuild) then {
|
||||
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\modular_build.sqf";
|
||||
player_build_countNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_countNearby.sqf";
|
||||
player_build_states = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_states.sqf";
|
||||
player_build_needNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_needNearby.sqf";
|
||||
player_build_getConfig = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_getConfig.sqf";
|
||||
player_build_plotCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_plotCheck.sqf";
|
||||
player_build_buildReq = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_buildReq.sqf";
|
||||
player_build_create = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_create.sqf";
|
||||
player_build_controls = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_controls.sqf";
|
||||
player_build_publish = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_publish.sqf";
|
||||
snap_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\snap_build.sqf";
|
||||
} else {
|
||||
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";
|
||||
};
|
||||
|
||||
player_wearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";
|
||||
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
|
||||
player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
|
||||
@@ -107,12 +123,6 @@ if (!isDedicated) then {
|
||||
player_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_antiWall.sqf";
|
||||
player_deathBoard = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\list_playerDeathsAlt.sqf";
|
||||
|
||||
//Snap building - disabled by default, not sure about your stance towards this mod yet, feel free to edit
|
||||
if (DZE_snapBuilding) then {
|
||||
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build2.sqf";
|
||||
snap_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\snap_build.sqf";
|
||||
};
|
||||
|
||||
player_plotPreview = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_showPlotRadius.sqf";
|
||||
player_upgradeVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_upgradeVehicle.sqf";
|
||||
|
||||
|
||||
@@ -274,6 +274,10 @@ s_player_madsci = [];
|
||||
s_player_parts = [];
|
||||
s_player_combi = [];
|
||||
|
||||
//Modular player_build
|
||||
snapGizmos = [];
|
||||
snapGizmosNearby = [];
|
||||
|
||||
//Initialize Medical Variables
|
||||
r_interrupt = false;
|
||||
r_doLoop = false;
|
||||
@@ -538,8 +542,17 @@ if(isNil "DZE_StaticConstructionCount") then {
|
||||
if (isNil "DZE_selfTransfuse_Values") then {
|
||||
DZE_selfTransfuse_Values = [12000, 15, 300];
|
||||
};
|
||||
if (isNil "DZE_snapBuilding") then {
|
||||
DZE_snapBuilding = false;
|
||||
if (isNil "helperDetach") then {
|
||||
helperDetach = false;
|
||||
};
|
||||
if (isNil "DZE_modularBuild") then {
|
||||
DZE_modularBuild = false;
|
||||
};
|
||||
if (isNil "DZE_snapExtraRange") then {
|
||||
DZE_snapExtraRange = 0;
|
||||
};
|
||||
if (isNil "DZE_checkNearbyRadius") then {
|
||||
DZE_checkNearbyRadius = 30;
|
||||
};
|
||||
|
||||
// needed on server
|
||||
@@ -789,6 +802,8 @@ if(!isDedicated) then {
|
||||
DZE_5 = false;
|
||||
DZE_4 = false;
|
||||
DZE_6 = false;
|
||||
|
||||
DZE_F = false;
|
||||
|
||||
DZE_cancelBuilding = false;
|
||||
DZE_PZATTACK = false;
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// promptRName.sqf
|
||||
|
||||
private ["_unit"];
|
||||
_unit = _this select 0;
|
||||
|
||||
call compile format ["server globalChat reviver_%1", _unit];
|
||||
@@ -260,7 +260,9 @@ fnc_usec_recoverUncons = {
|
||||
sleep 1;
|
||||
|
||||
disableUserInput false;
|
||||
[objNull,player,rSwitchMove,"AinjPpneMstpSnonWnonDnon"] call RE;
|
||||
player switchMove "AinjPpneMstpSnonWnonDnon";
|
||||
player playMoveNow "AmovPpneMstpSnonWnonDnon_healed";
|
||||
if (vehicle player == player) then {
|
||||
[objNull,player,rSwitchMove,"AinjPpneMstpSnonWnonDnon"] call RE;
|
||||
player switchMove "AinjPpneMstpSnonWnonDnon";
|
||||
player playMoveNow "AmovPpneMstpSnonWnonDnon_healed";
|
||||
};
|
||||
};
|
||||
@@ -3147,14 +3147,14 @@
|
||||
<Czech>Nelze stavět v boji.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_44">
|
||||
<Original>Cannot build plot pole within 45m of an existing plot.</Original>
|
||||
<English>Cannot build plot pole within 45m of an existing plot.</English>
|
||||
<German>Grundstück-Markierung kann nicht innerhalb 45m von einem bestehenden Grundstück erbaut werden.</German>
|
||||
<Russian>Нельзя построить столб в пределах 45м. от существующего столба.</Russian>
|
||||
<Original>Cannot build plot pole within %1m of an existing plot.</Original>
|
||||
<English>Cannot build plot pole within %1m of an existing plot.</English>
|
||||
<German>Grundstück-Markierung kann nicht innerhalb %1m von einem bestehenden Grundstück erbaut werden.</German>
|
||||
<Russian>Нельзя построить столб в пределах %1м. от существующего столба.</Russian>
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<Dutch>Kan bouw-paal niet bouwen op minder als 45m afstand van een bestaand bouwterrein.</Dutch>
|
||||
<French>Impossible de construire un panneau de propriété privée à moins de 45m d'un autre panneau du genre.</French>
|
||||
<Czech>Nelze postavit hraniční značku ve vzdálenosti 45 metrů od jiné značky.</Czech>
|
||||
<Dutch>Kan bouw-paal niet bouwen op minder als %1m afstand van een bestaand bouwterrein.</Dutch>
|
||||
<French>Impossible de construire un panneau de propriété privée à moins de %1m d'un autre panneau du genre.</French>
|
||||
<Czech>Nelze postavit hraniční značku ve vzdálenosti %1 metrů od jiné značky.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_45">
|
||||
<Original>PgUp to raise or PgDn to lower (Hold ALT to raise faster or CTRL slower), Q or E to flip 180. Space-Bar to build.</Original>
|
||||
@@ -6056,6 +6056,16 @@
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <German></German> -->
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_312">
|
||||
<Original>\n\nCannot fish while in combat.</Original>
|
||||
<English>\n\nCannot fish while in combat.</English>
|
||||
<German>\n\nSie können nicht im Kampf zu fischen.</German>
|
||||
<Russian>\n\nВы не можете ловить рыбу в то время как в бою.</Russian>
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<Dutch>\n\nVissen is niet mogelijk tijdens een conflictsituatie.</Dutch>
|
||||
<French>\n\nVous ne pouvez pas pêcher pendant les combats.</French>
|
||||
<Czech>Nemůžete ryby, když v boji.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_REPAIRV">
|
||||
<Original>Repair Vehicle</Original>
|
||||
<English>Repair Vehicle</English>
|
||||
|
||||
@@ -863,7 +863,7 @@ server_spawnCleanLoot = {
|
||||
};
|
||||
};
|
||||
sleep 0.001;
|
||||
} count _missionObjs;
|
||||
} forEach _missionObjs;
|
||||
if (_delQty > 0) then {
|
||||
_qty = count _missionObjs;
|
||||
diag_log (format["CLEANUP: Deleted %1 Loot Piles out of %2",_delQty,_qty]);
|
||||
@@ -894,7 +894,7 @@ server_spawnCleanAnimals = {
|
||||
};
|
||||
};
|
||||
sleep 0.001;
|
||||
} count _missonAnimals;
|
||||
} forEach _missonAnimals;
|
||||
if (_delQtyAnimal > 0) then {
|
||||
_qty = count _missonAnimals;
|
||||
diag_log (format["CLEANUP: Deleted %1 Animals out of %2",_delQtyAnimal,_qty]);
|
||||
@@ -914,7 +914,7 @@ server_logUnlockLockEvent = {
|
||||
[_obj, "gear"] call server_updateObject;
|
||||
_statusText = "LOCKED";
|
||||
};
|
||||
_PUID = [_killer] call FNC_GetPlayerUID;
|
||||
_PUID = [_player] call FNC_GetPlayerUID;
|
||||
diag_log format["SAFE %5: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), _PUID, _statusText];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["Fishing_Boat",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -11,9 +11,9 @@ AllowedVehiclesList = [
|
||||
["CSJ_GyroC",3],
|
||||
["CSJ_GyroCover",3],
|
||||
["CSJ_GyroP",3],
|
||||
["datsun1_civil_1_open",3],
|
||||
["datsun1_civil_2_covered",3],
|
||||
["datsun1_civil_3_open",3],
|
||||
["datsun1_civil_1_open_DZE",3],
|
||||
["datsun1_civil_2_covered_DZE",3],
|
||||
["datsun1_civil_3_open_DZE",3],
|
||||
["GAZ_Vodnik_DZE",1],
|
||||
["GAZ_Vodnik_MedEvac",1],
|
||||
["GLT_M300_LT",3],
|
||||
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
|
||||
["GNT_C185C",1],
|
||||
["GNT_C185R",1],
|
||||
["GNT_C185U",1],
|
||||
["hilux1_civil_1_open",3],
|
||||
["hilux1_civil_2_covered",3],
|
||||
["hilux1_civil_3_open_EP1",3],
|
||||
["hilux1_civil_1_open_DZE",3],
|
||||
["hilux1_civil_2_covered_DZE",3],
|
||||
["hilux1_civil_3_open_DZE",3],
|
||||
["HMMWV_Ambulance",1],
|
||||
["HMMWV_Ambulance_CZ_DES_EP1",1],
|
||||
["HMMWV_DES_EP1",3],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded"];
|
||||
private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_inventory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded"];
|
||||
|
||||
dayz_versionNo = getText(configFile >> "CfgMods" >> "DayZ" >> "version");
|
||||
dayz_hiveVersionNo = getNumber(configFile >> "CfgMods" >> "DayZ" >> "hiveVersion");
|
||||
@@ -91,7 +91,7 @@ if (isServer && isNil "sm_done") then {
|
||||
_ownerID = _x select 3;
|
||||
|
||||
_worldspace = _x select 4;
|
||||
_intentory = _x select 5;
|
||||
_inventory = _x select 5;
|
||||
_hitPoints = _x select 6;
|
||||
_fuel = _x select 7;
|
||||
_damage = _x select 8;
|
||||
@@ -176,17 +176,17 @@ if (isServer && isNil "sm_done") then {
|
||||
|
||||
};
|
||||
|
||||
if (count _intentory > 0) then {
|
||||
if (count _inventory > 0) then {
|
||||
if (_type in DZE_LockedStorage) then {
|
||||
// Fill variables with loot
|
||||
_object setVariable ["WeaponCargo", (_intentory select 0),true];
|
||||
_object setVariable ["MagazineCargo", (_intentory select 1),true];
|
||||
_object setVariable ["BackpackCargo", (_intentory select 2),true];
|
||||
_object setVariable ["WeaponCargo", (_inventory select 0),true];
|
||||
_object setVariable ["MagazineCargo", (_inventory select 1),true];
|
||||
_object setVariable ["BackpackCargo", (_inventory select 2),true];
|
||||
} else {
|
||||
|
||||
//Add weapons
|
||||
_objWpnTypes = (_intentory select 0) select 0;
|
||||
_objWpnQty = (_intentory select 0) select 1;
|
||||
_objWpnTypes = (_inventory select 0) select 0;
|
||||
_objWpnQty = (_inventory select 0) select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
|
||||
@@ -200,8 +200,8 @@ if (isServer && isNil "sm_done") then {
|
||||
} count _objWpnTypes;
|
||||
|
||||
//Add Magazines
|
||||
_objWpnTypes = (_intentory select 1) select 0;
|
||||
_objWpnQty = (_intentory select 1) select 1;
|
||||
_objWpnTypes = (_inventory select 1) select 0;
|
||||
_objWpnQty = (_inventory select 1) select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
|
||||
@@ -214,8 +214,8 @@ if (isServer && isNil "sm_done") then {
|
||||
} count _objWpnTypes;
|
||||
|
||||
//Add Backpacks
|
||||
_objWpnTypes = (_intentory select 2) select 0;
|
||||
_objWpnQty = (_intentory select 2) select 1;
|
||||
_objWpnTypes = (_inventory select 2) select 0;
|
||||
_objWpnQty = (_inventory select 2) select 1;
|
||||
_countr = 0;
|
||||
{
|
||||
_isOK = isClass(configFile >> "CfgVehicles" >> _x);
|
||||
@@ -256,7 +256,7 @@ if (isServer && isNil "sm_done") then {
|
||||
//Monitor the object
|
||||
PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];
|
||||
};
|
||||
} count (_BuildingQueue + _objectQueue);
|
||||
} forEach (_BuildingQueue + _objectQueue);
|
||||
// # END SPAWN OBJECTS #
|
||||
|
||||
// preload server traders menu data into cache
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Chernarus Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Isla Duala Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Taviana Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Namalsk Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Panthera Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Sahrani Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Podagorsk Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Takistan Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Fapovo Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Caribou Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch SMD Sahrani Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Napf Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Sauerland Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Utes Server (1.0.5.2/125548/No Traders)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
hostName = "DayZ Epoch Shapur BAF Server (1.0.5.2/125548/No Traders)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 24;
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Zargabad Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Dingor Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch Lingor Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,11 +20,13 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
@@ -33,4 +39,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2,13 +2,17 @@ hostName = "DayZ Epoch ProvingGrounds_PMC Server (1.0.5.2/125548)";
|
||||
password = "";
|
||||
passwordAdmin = "changeme";
|
||||
maxPlayers = 50;
|
||||
steamport = 8766;
|
||||
steamqueryport = 27016;
|
||||
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
logFile = "server_log.txt";
|
||||
voteThreshold = 2;
|
||||
voteMissionPlayers = 3;
|
||||
reportingIP = "arma2oapc.master.gamespy.com";
|
||||
timeStampFormat = "short";
|
||||
motd[] = {"DayZ Epoch","Have fun!"};
|
||||
motdInterval = 0;
|
||||
|
||||
vonCodecQuality = 11;
|
||||
disableVoN = 0;
|
||||
kickduplicate = 1;
|
||||
@@ -16,15 +20,18 @@ verifySignatures = 2;
|
||||
persistent = 1;
|
||||
BattlEye = 1;
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
regularCheck = "";
|
||||
requiredBuild = 125548;
|
||||
requiredSecureId = 2;
|
||||
|
||||
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
@@ -33,4 +40,4 @@ class Missions
|
||||
difficulty="veteran";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@@ -7,6 +7,46 @@ INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["CH53_DZE",2]', 6, '[2,"ItemBr
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["CH53_DZE",2]', 10, '[3,"ItemBriefcase100oz",1]', '[2,"ItemBriefcase100oz",1]', 0, 512, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["BAF_Merlin_DZE",2]', 10, '[2,"ItemBriefcase100oz",1]', '[1,"ItemBriefcase100oz",1]', 0, 519, 'trade_any_vehicle');
|
||||
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["hilux1_civil_1_open"]';
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_1_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_1_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_1_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_1_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["hilux1_civil_2_covered"]';
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_2_covered_DZE",2]', 7, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_2_covered_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_2_covered_DZE",2]', 7, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_2_covered_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["hilux1_civil_3_open"]';
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_3_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_3_open_DZE",2]', 5, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["hilux1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["datsun1_civil_1_open"]';
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_1_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_1_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_1_open_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_1_open_DZE",2]', 12, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["datsun1_civil_2_covered"]';
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_2_covered_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_2_covered_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_2_covered_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_2_covered_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["datsun1_civil_3_open"]';
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_3_open_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["datsun1_civil_3_open_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
|
||||
|
||||
-- Remove incorrect lines
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["CH53_DZE",1]';
|
||||
DELETE FROM `Traders_DATA` WHERE item = '["BAF_Merlin_DZE",1]';
|
||||
|
||||
UPDATE `Traders_DATA` SET `item` = '["C130J_US_EP1_DZ",2]' WHERE `item` = '["C130J_US_EP1",2]';
|
||||
|
||||
|
||||
@@ -529,12 +529,12 @@ INSERT INTO `Traders_DATA` VALUES(5395, '["ItemWatch",3]', 249, '[2,"ItemSilverB
|
||||
INSERT INTO `Traders_DATA` VALUES(5396, '["NVGoggles",3]', 242, '[4,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 532, 'trade_weapons');
|
||||
INSERT INTO `Traders_DATA` VALUES(5409, '["Pickup_PK_GUE_DZE",2]', 11, '[1,"ItemGoldBar10oz",1]', '[5,"ItemGoldBar",1]', 0, 534, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5410, '["Pickup_PK_INS_DZE",2]', 13, '[1,"ItemGoldBar10oz",1]', '[5,"ItemGoldBar",1]', 0, 534, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5411, '["hilux1_civil_3_open_EP1",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5412, '["datsun1_civil_3_open",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5413, '["hilux1_civil_1_open",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5414, '["datsun1_civil_2_covered",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5415, '["datsun1_civil_1_open",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5416, '["hilux1_civil_2_covered",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5411, '["hilux1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5412, '["datsun1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5413, '["hilux1_civil_1_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5414, '["datsun1_civil_2_covered_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5415, '["datsun1_civil_1_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5416, '["hilux1_civil_2_covered_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 535, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5420, '["MMT_Civ",2]', 250, '[4,"ItemSilverBar",1]', '[2,"ItemSilverBar",1]', 0, 536, 'trade_any_bicycle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5421, '["Old_bike_TK_INS_EP1",2]', 250, '[4,"ItemSilverBar",1]', '[2,"ItemSilverBar",1]', 0, 536, 'trade_any_bicycle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5422, '["TT650_Civ",2]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 536, 'trade_any_vehicle');
|
||||
@@ -589,12 +589,12 @@ INSERT INTO `Traders_DATA` VALUES(5626, '["Ikarus",2]', 10, '[2,"ItemGoldBar10oz
|
||||
INSERT INTO `Traders_DATA` VALUES(5627, '["Ikarus_TK_CIV_EP1",2]', 10, '[2,"ItemGoldBar10oz",1]', '[1,"ItemGoldBar10oz",1]', 0, 563, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5630, '["S1203_TK_CIV_EP1",2]', 9, '[6,"ItemGoldBar",1]', '[3,"ItemGoldBar",1]', 0, 563, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5631, '["S1203_ambulance_EP1",2]', 10, '[6,"ItemGoldBar",1]', '[3,"ItemGoldBar",1]', 0, 563, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5643, '["hilux1_civil_3_open_EP1",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5644, '["datsun1_civil_3_open",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5645, '["hilux1_civil_1_open",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5646, '["datsun1_civil_2_covered",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5647, '["datsun1_civil_1_open",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5648, '["hilux1_civil_2_covered",2]', 7, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5643, '["hilux1_civil_3_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5644, '["datsun1_civil_3_open_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5645, '["hilux1_civil_1_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5646, '["datsun1_civil_2_covered_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5647, '["datsun1_civil_1_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5648, '["hilux1_civil_2_covered_DZE",2]', 7, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 495, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5652, '["Ural_CDF",2]', 12, '[2,"ItemGoldBar10oz",1]', '[1,"ItemGoldBar10oz",1]', 0, 564, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5653, '["Ural_TK_CIV_EP1",2]', 13, '[2,"ItemGoldBar10oz",1]', '[1,"ItemGoldBar10oz",1]', 0, 564, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5654, '["Ural_UN_EP1",2]', 10, '[2,"ItemGoldBar10oz",1]', '[1,"ItemGoldBar10oz",1]', 0, 564, 'trade_any_vehicle');
|
||||
@@ -734,12 +734,12 @@ INSERT INTO `Traders_DATA` VALUES(5984, '["KamazRefuel_DZ",2]', 11, '[7,"ItemGol
|
||||
INSERT INTO `Traders_DATA` VALUES(5985, '["MtvrRefuel_DES_EP1_DZ",2]', 8, '[7,"ItemGoldBar10oz",1]', '[3,"ItemGoldBar10oz",1]', 0, 589, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5986, '["UralRefuel_TK_EP1_DZ",2]', 11, '[7,"ItemGoldBar10oz",1]', '[3,"ItemGoldBar10oz",1]', 0, 589, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5987, '["V3S_Refuel_TK_GUE_EP1_DZ",2]', 9, '[7,"ItemGoldBar10oz",1]', '[3,"ItemGoldBar10oz",1]', 0, 589, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5988, '["hilux1_civil_3_open_EP1",2]', 5, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5989, '["datsun1_civil_3_open",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5990, '["hilux1_civil_1_open",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5991, '["datsun1_civil_2_covered",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5992, '["datsun1_civil_1_open",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5993, '["hilux1_civil_2_covered",2]', 7, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5988, '["hilux1_civil_3_open_DZE",2]', 5, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5989, '["datsun1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5990, '["hilux1_civil_1_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5991, '["datsun1_civil_2_covered_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5992, '["datsun1_civil_1_open_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5993, '["hilux1_civil_2_covered_DZE",2]', 7, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 590, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5997, '["SUV_TK_CIV_EP1",2]', 9, '[2,"ItemGoldBar10oz",1]', '[5,"ItemGoldBar",1]', 0, 591, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5998, '["SUV_Blue",2]', 9, '[2,"ItemGoldBar10oz",1]', '[5,"ItemGoldBar",1]', 0, 591, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(5999, '["SUV_Charcoal",2]', 10, '[2,"ItemGoldBar10oz",1]', '[5,"ItemGoldBar",1]', 0, 591, 'trade_any_vehicle');
|
||||
@@ -1232,12 +1232,12 @@ INSERT INTO `Traders_DATA` VALUES(6640, '["HMMWV_Ambulance_CZ_DES_EP1",2]', 12,
|
||||
INSERT INTO `Traders_DATA` VALUES(6641, '["HMMWV_DES_EP1",2]', 15, '[4,"ItemGoldBar10oz",1]', '[2,"ItemGoldBar10oz",1]', 0, 658, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6642, '["GAZ_Vodnik_MedEvac",2]', 15, '[1,"ItemBriefcase100oz",1]', '[5,"ItemGoldBar10oz",1]', 0, 658, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6643, '["HMMWV_DZ",2]', 14, '[4,"ItemGoldBar10oz",1]', '[2,"ItemGoldBar10oz",1]', 0, 658, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6644, '["hilux1_civil_3_open_EP1",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6645, '["datsun1_civil_3_open",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6646, '["hilux1_civil_1_open",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6647, '["datsun1_civil_2_covered",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6648, '["datsun1_civil_1_open",2]', 12, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6649, '["hilux1_civil_2_covered",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6644, '["hilux1_civil_3_open_DZE",2]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6645, '["datsun1_civil_3_open_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6646, '["hilux1_civil_1_open_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6647, '["datsun1_civil_2_covered_DZE",2]', 11, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6648, '["datsun1_civil_1_open_DZE",2]', 12, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6649, '["hilux1_civil_2_covered_DZE",2]', 9, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 659, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6653, '["Skoda",2]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 660, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6654, '["SkodaBlue",2]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 660, 'trade_any_vehicle');
|
||||
INSERT INTO `Traders_DATA` VALUES(6655, '["SkodaGreen",2]', 11, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 660, 'trade_any_vehicle');
|
||||
|
||||
140
Tools/ServerList/steam_list.php
Normal file
140
Tools/ServerList/steam_list.php
Normal file
@@ -0,0 +1,140 @@
|
||||
<pre>
|
||||
<?php
|
||||
/*
|
||||
Example of how to get server list from steam. Works for both Arma 2 and 3 servers
|
||||
Original Source: https://developer.valvesoftware.com/wiki/User:Pizzahut/test.php
|
||||
*/
|
||||
|
||||
$master_servers = array("hl2master.steampowered.com");
|
||||
|
||||
define("MIN_PORT", 27010); // Range of port numbers which the master servers
|
||||
define("MAX_PORT", 27013); // potentially use.
|
||||
// define("FILTER", '\gamedir\arma3'); // A3
|
||||
define("FILTER", '\gamedir\arma2arrowpc'); // A2
|
||||
define("REGION", "\xFF"); // region = world
|
||||
define("TIMEOUT", 2.0); // 2s timeout
|
||||
|
||||
function query_timeout(&$socket, $seed)
|
||||
{
|
||||
echo "Sending query to master server.\n";
|
||||
stream_set_timeout($socket, TIMEOUT);
|
||||
if (!fwrite($socket, "1".REGION."$seed\0".FILTER."\0"))
|
||||
{
|
||||
fclose($socket);
|
||||
exit("fwrite error\n");
|
||||
}
|
||||
|
||||
echo "Reading response header.\n";
|
||||
stream_set_timeout($socket, TIMEOUT);
|
||||
$s = bin2hex(fread($socket, 6));
|
||||
$info = stream_get_meta_data($socket);
|
||||
if ($info['timed_out'])
|
||||
echo "Master server timed out.\n";
|
||||
else
|
||||
{
|
||||
if ($s !== "ffffffff660a")
|
||||
{
|
||||
fclose($socket);
|
||||
if ($s == "")
|
||||
echo "Expected ff ff ff ff 66 0a (hex) but got nothing.\n";
|
||||
else
|
||||
echo "Expected ff ff ff ff 66 0a (hex) but got $s.\n";
|
||||
return True;
|
||||
}
|
||||
}
|
||||
return $info['timed_out'];
|
||||
}
|
||||
|
||||
// Connect to master server, return timeout info.
|
||||
// The socket is passed as reference and thus returned as well.
|
||||
|
||||
function master_server_timeout(&$socket, $ip)
|
||||
{
|
||||
$port = MIN_PORT;
|
||||
do {
|
||||
echo "Connecting to master server \"$ip:$port\".\n";
|
||||
$socket = fsockopen("udp://$ip", $port, $errno, $errstr, TIMEOUT);
|
||||
if (!$socket) exit("Error $errno : $errstr \n");
|
||||
$timeout = query_timeout($socket, "0.0.0.0:0");
|
||||
$port = $port + 1;
|
||||
} while ($timeout && ($port <= MAX_PORT));
|
||||
return $timeout;
|
||||
}
|
||||
|
||||
// Repeat until list isn't empty.
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
// Try all master servers until we find one that isn't timing out.
|
||||
|
||||
do
|
||||
foreach ($master_servers as $ip)
|
||||
if ($timeout=master_server_timeout($socket, $ip))
|
||||
fclose($socket);
|
||||
else
|
||||
break;
|
||||
while ($timeout);
|
||||
|
||||
// Read list with server addresses (IP:port).
|
||||
|
||||
$count = 0;
|
||||
$old_a1 = 0; $old_a2 = 0; $old_a3 = 0; $old_a4 = 0; $old_a5 = 0;
|
||||
$max_timeouts = 6;
|
||||
do
|
||||
{
|
||||
stream_set_timeout($socket, TIMEOUT);
|
||||
$a1 = ord(fread($socket,1));
|
||||
$info = stream_get_meta_data($socket);
|
||||
if ($info['timed_out'])
|
||||
{
|
||||
$seed = "$old_a1.$old_a2.$old_a3.$old_a4:$old_a5";
|
||||
echo "Seed: $seed\n";
|
||||
while (query_timeout($socket, $seed));
|
||||
stream_set_timeout($socket, TIMEOUT);
|
||||
$a1 = ord(fread($socket,1));
|
||||
$info = stream_get_meta_data($socket);
|
||||
if ($info['timed_out'])
|
||||
{
|
||||
echo "Timeout occured.\n";
|
||||
break;
|
||||
}
|
||||
$check_for_duplicate = 1;
|
||||
}
|
||||
else
|
||||
$check_for_duplicate = 0;
|
||||
|
||||
// Let's always read the rest of the address (even if it starts with 0) in
|
||||
// order to empty the master server's write buffer. This may avoid subsequent
|
||||
// problems, but I'm paranoid here.
|
||||
$a2 = ord(fread($socket,1));
|
||||
$a3 = ord(fread($socket,1));
|
||||
$a4 = ord(fread($socket,1));
|
||||
$a5 = ord(fread($socket,1))*256 + ord(fread($socket,1));
|
||||
|
||||
if ($a1 != 0)
|
||||
{
|
||||
if (($check_for_duplicate==0)||($a1!=$old_a1)||($a2!=$old_a2)||
|
||||
($a3!=$old_a3)||($a4!=$old_a4)||($a5!=$old_a5))
|
||||
{
|
||||
$count++;
|
||||
//echo "$count $a1.$a2.$a3.$a4:$a5\n";
|
||||
|
||||
$addy = "$a1.$a2.$a3.$a4";
|
||||
$key = $addy.":".$a5;
|
||||
|
||||
echo $key."\n";
|
||||
|
||||
|
||||
}
|
||||
$old_a1 = $a1; $old_a2 = $a2; $old_a3 = $a3; $old_a4 = $a4; $old_a5 = $a5;
|
||||
}
|
||||
} while ($a1 != 0);
|
||||
fclose($socket);
|
||||
|
||||
} while ($count == 0);
|
||||
|
||||
echo "Retrieved $count server addresses.\n";
|
||||
|
||||
?>
|
||||
</pre>
|
||||
Reference in New Issue
Block a user