mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Compare commits
452 Commits
Release-1.
...
beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7deb504253 | ||
|
|
f0782d9c89 | ||
|
|
5790d1e129 | ||
|
|
386ce924a2 | ||
|
|
3156e02b3f | ||
|
|
01536b7515 | ||
|
|
c343541bb4 | ||
|
|
8d3239ad93 | ||
|
|
444fd125d0 | ||
|
|
31c9f589af | ||
|
|
d2bacf367e | ||
|
|
94601f3139 | ||
|
|
16639d9741 | ||
|
|
6e5beb409d | ||
|
|
e1d6f38ab5 | ||
|
|
04c933b318 | ||
|
|
db97941418 | ||
|
|
86b83a1843 | ||
|
|
26407165ac | ||
|
|
f734cb078f | ||
|
|
011c88d076 | ||
|
|
492caf6390 | ||
|
|
fa4bbc9f00 | ||
|
|
c398a419db | ||
|
|
be260bf4ea | ||
|
|
93f8b61f58 | ||
|
|
2938f08723 | ||
|
|
69ffe8f31c | ||
|
|
d41ee6b5de | ||
|
|
33b9fcffdb | ||
|
|
ff77466cbf | ||
|
|
342072177c | ||
|
|
ccd98e3a4c | ||
|
|
10003f4ebf | ||
|
|
5d36d84cb2 | ||
|
|
c8ded9b38d | ||
|
|
8e5ad427b8 | ||
|
|
ade7d3f36d | ||
|
|
b165cade29 | ||
|
|
fea1013a1c | ||
|
|
4814c4fd04 | ||
|
|
3451892dab | ||
|
|
420df74924 | ||
|
|
96c3471d11 | ||
|
|
e8430a49c5 | ||
|
|
70f232e0ff | ||
|
|
49d702b6b8 | ||
|
|
2e8fb3bd17 | ||
|
|
3e62064a06 | ||
|
|
4d141b17b1 | ||
|
|
ede660d09b | ||
|
|
4ed8769e93 | ||
|
|
5850efb0c6 | ||
|
|
192f255257 | ||
|
|
1dd9e0cb91 | ||
|
|
700ab86781 | ||
|
|
4c4b7133be | ||
|
|
9dc196d8bd | ||
|
|
86551302de | ||
|
|
9623809d5b | ||
|
|
7fcb7ff657 | ||
|
|
d472450062 | ||
|
|
1c87cac11a | ||
|
|
0efa8ea37b | ||
|
|
cdb0399f19 | ||
|
|
a664da7b3e | ||
|
|
172b9e21c7 | ||
|
|
23791fc1d8 | ||
|
|
5b2949c33d | ||
|
|
7151f6859f | ||
|
|
3623b68112 | ||
|
|
de4f50dad0 | ||
|
|
13578d07ad | ||
|
|
fd2eaaaa56 | ||
|
|
e3d57adbae | ||
|
|
720f50f443 | ||
|
|
ed575c818b | ||
|
|
dfb99cc867 | ||
|
|
737fd45f26 | ||
|
|
a1ae300b92 | ||
|
|
909ca991cd | ||
|
|
5d0b141b60 | ||
|
|
9ac6611ceb | ||
|
|
362fa9bbed | ||
|
|
d183859167 | ||
|
|
b204a23af6 | ||
|
|
282348c189 | ||
|
|
479cd0354a | ||
|
|
c13deff6aa | ||
|
|
3f04dbd243 | ||
|
|
4853b8db65 | ||
|
|
19a2e98d01 | ||
|
|
3683b72527 | ||
|
|
2df849403e | ||
|
|
a69bae2126 | ||
|
|
009a6c1c25 | ||
|
|
32096ce3a8 | ||
|
|
260c22af71 | ||
|
|
fc62f1076b | ||
|
|
5c88e790f4 | ||
|
|
547ba0018f | ||
|
|
26f51ad9f9 | ||
|
|
8ccc1e723b | ||
|
|
9f17fe3f18 | ||
|
|
e0294796bc | ||
|
|
ed0234139e | ||
|
|
9c70f0f2d4 | ||
|
|
dc772e7384 | ||
|
|
b21afc8d0a | ||
|
|
196a8b2e94 | ||
|
|
32bcb8515b | ||
|
|
010c164d22 | ||
|
|
665de9d917 | ||
|
|
4c62c1a55e | ||
|
|
54f4cc5024 | ||
|
|
21098f9b73 | ||
|
|
211a74a645 | ||
|
|
a5e8aae13b | ||
|
|
1187207dcf | ||
|
|
4ad1a72db2 | ||
|
|
d0a1463425 | ||
|
|
d8105936e5 | ||
|
|
92a14789ae | ||
|
|
6af912a200 | ||
|
|
2f196bb146 | ||
|
|
aedaf4a558 | ||
|
|
f5e80520bb | ||
|
|
62b711ecd8 | ||
|
|
666b0fd7b2 | ||
|
|
348e102ef0 | ||
|
|
af8382a5e6 | ||
|
|
6902efa63a | ||
|
|
7345f46fed | ||
|
|
e8c0f6da6a | ||
|
|
4bac499c74 | ||
|
|
03e0087f54 | ||
|
|
4976e7965f | ||
|
|
d8dd028c5f | ||
|
|
76000d59f9 | ||
|
|
8f37e9c106 | ||
|
|
d4028afa65 | ||
|
|
b0ae579875 | ||
|
|
77d9951f23 | ||
|
|
0c3173826e | ||
|
|
f7144334ea | ||
|
|
1c2511bc55 | ||
|
|
5a54f26c4d | ||
|
|
d59c5b8278 | ||
|
|
6bddf7513e | ||
|
|
064d50778a | ||
|
|
b7e2462188 | ||
|
|
1e8f146860 | ||
|
|
420f832210 | ||
|
|
5c1833fc99 | ||
|
|
37234e5209 | ||
|
|
d52eb620e6 | ||
|
|
9762dad8ee | ||
|
|
1c839f47fd | ||
|
|
6f58a882aa | ||
|
|
727a2d211a | ||
|
|
b3246ec80d | ||
|
|
f3c0b582b4 | ||
|
|
efca644b46 | ||
|
|
9984923462 | ||
|
|
e35e5e326b | ||
|
|
9cdae44069 | ||
|
|
903f5d8572 | ||
|
|
5b4d53d3b9 | ||
|
|
e4982dc313 | ||
|
|
740f4144f1 | ||
|
|
1c4be9a043 | ||
|
|
34a2d03163 | ||
|
|
2542d94c21 | ||
|
|
a8a0e0ca5c | ||
|
|
fe5af9425a | ||
|
|
ac07359c80 | ||
|
|
dccbb19131 | ||
|
|
1bdd96cd88 | ||
|
|
5bb15f0c66 | ||
|
|
a6f55498b7 | ||
|
|
c66b229a96 | ||
|
|
49fe5f4846 | ||
|
|
5ae7f920dd | ||
|
|
59124e6eef | ||
|
|
8192dd7b50 | ||
|
|
8bd438f4c6 | ||
|
|
ba6a5c7dc1 | ||
|
|
c7b400f36a | ||
|
|
d8841474c6 | ||
|
|
ef0a157eb2 | ||
|
|
a0372bc88d | ||
|
|
3e42af0bb4 | ||
|
|
688c1f15b6 | ||
|
|
d1b40385a9 | ||
|
|
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 | ||
|
|
cb6ed37846 | ||
|
|
1693b33d42 | ||
|
|
c479fe45f3 | ||
|
|
327e7677e7 | ||
|
|
b436c1a66f | ||
|
|
edf7c23af0 | ||
|
|
b26aa51e32 | ||
|
|
e6e5da011e | ||
|
|
9bc4a9a4ec | ||
|
|
f1950b0b99 | ||
|
|
f1aa986a08 | ||
|
|
4059c7ceaa | ||
|
|
377e5207ac | ||
|
|
3369d064e1 | ||
|
|
f1b3104e1e | ||
|
|
e330fe17aa | ||
|
|
613a08c770 | ||
|
|
e497ae4a65 | ||
|
|
3214eda74a | ||
|
|
dd968044d3 | ||
|
|
8e640ef5b3 | ||
|
|
bbfd03dbf7 | ||
|
|
bca5acf2e6 | ||
|
|
5193787b5f | ||
|
|
092223e2c3 | ||
|
|
273c8b8954 | ||
|
|
0529324a4b | ||
|
|
14918b9892 | ||
|
|
3e388880d4 | ||
|
|
1ef1277254 | ||
|
|
4099115959 | ||
|
|
565b9240cf | ||
|
|
2c1d0825d1 | ||
|
|
ed879fbef5 | ||
|
|
bf86886835 | ||
|
|
37e83700a5 | ||
|
|
4496e16e68 | ||
|
|
6e1be89442 | ||
|
|
38bb95f12f | ||
|
|
95077f35f8 | ||
|
|
8a2dcfcf10 | ||
|
|
33e9c7669b | ||
|
|
f288fcf35a | ||
|
|
077da12271 | ||
|
|
a297cfea63 | ||
|
|
cd3bc37202 | ||
|
|
8294226d86 | ||
|
|
87ee176d7d | ||
|
|
652160a080 | ||
|
|
fb151b961d | ||
|
|
60644c98b7 | ||
|
|
26b296b9b9 | ||
|
|
da15f60224 | ||
|
|
0eb5f76c64 | ||
|
|
a487fd4f78 | ||
|
|
2355d6b18e | ||
|
|
07b3f14c1b | ||
|
|
83ec44e402 | ||
|
|
ef43ee707c | ||
|
|
572b646107 | ||
|
|
2e8b9b6de8 | ||
|
|
5c8da27d4d | ||
|
|
7285b9e113 | ||
|
|
8191c849f4 | ||
|
|
14d866f2c6 | ||
|
|
5507513336 | ||
|
|
08f28045f4 | ||
|
|
5b61ce34b7 | ||
|
|
151a6b7478 | ||
|
|
03e229bee5 | ||
|
|
845d4c81c9 | ||
|
|
ff47fe5817 | ||
|
|
97414d881c | ||
|
|
81b147d3e2 | ||
|
|
72168cb103 | ||
|
|
796490d955 | ||
|
|
a6bcaad182 | ||
|
|
26b3bd046f | ||
|
|
fdf563e378 | ||
|
|
01cb6100ca | ||
|
|
eb4b68fc33 | ||
|
|
723a2ca713 | ||
|
|
0a5e13a1d8 | ||
|
|
ab874fe609 | ||
|
|
0233923ba9 | ||
|
|
35a84cd4a7 | ||
|
|
3e47d3e3eb | ||
|
|
4666bd9f5c | ||
|
|
ec02c8aa2e | ||
|
|
5776a4adee | ||
|
|
3bbbae71bf | ||
|
|
3716d302ce | ||
|
|
32f18496a8 | ||
|
|
7265978585 | ||
|
|
800c2ebb08 | ||
|
|
c3522eb700 | ||
|
|
d93efe10b8 | ||
|
|
f5791616c2 | ||
|
|
2aee27be43 | ||
|
|
cd794ba2b7 | ||
|
|
7a52bd67a4 | ||
|
|
5585633c5f | ||
|
|
3036b31bbb | ||
|
|
be3e492405 | ||
|
|
41c658c0c8 | ||
|
|
1e5614e34a | ||
|
|
25ca642576 | ||
|
|
6d7f832a01 | ||
|
|
83c04c9f4e | ||
|
|
ba75bfa839 | ||
|
|
7a15a98fd6 | ||
|
|
8af00ef284 | ||
|
|
6f0470f598 | ||
|
|
5a88627d97 | ||
|
|
6799d90d23 | ||
|
|
4a1ac8304a | ||
|
|
486dc31695 | ||
|
|
4c536342ca | ||
|
|
ee7627b2b6 | ||
|
|
fa7c3a6c2b | ||
|
|
3491e4462d | ||
|
|
6f8efd8428 | ||
|
|
2f7d7a9287 | ||
|
|
1faf1688e7 | ||
|
|
8e8af95749 | ||
|
|
33aa6632c6 | ||
|
|
6a571be12f | ||
|
|
c1f9c5e1f1 | ||
|
|
a1f56f9080 | ||
|
|
b1016c798e | ||
|
|
7f44c1742a | ||
|
|
83f32b9892 | ||
|
|
9cb7319bc4 | ||
|
|
ee682bd24f | ||
|
|
fc515d4407 | ||
|
|
d6c118c331 | ||
|
|
b01e44c9ee | ||
|
|
3aa6837247 | ||
|
|
cd3ebfb9d1 | ||
|
|
c2af9b54e6 | ||
|
|
d77635f7e9 | ||
|
|
3060b98521 | ||
|
|
b257b088c6 | ||
|
|
770458f84f | ||
|
|
aa5a1b213b | ||
|
|
f56c134497 | ||
|
|
ddf4fc67c5 | ||
|
|
60b2b4dbe0 | ||
|
|
f61ee2353a | ||
|
|
64a12aff1d | ||
|
|
c058576586 | ||
|
|
0e74cca666 | ||
|
|
d396babd30 | ||
|
|
47d7055fff | ||
|
|
aa8dac7b50 | ||
|
|
fdc4a0aeff | ||
|
|
dbedcfa51c | ||
|
|
b603fdfe58 | ||
|
|
fdcc7e458f | ||
|
|
27ad510457 | ||
|
|
c2f86fa6fe | ||
|
|
1528b1f1fd | ||
|
|
d914620a4c | ||
|
|
291dc60454 | ||
|
|
3183bf95af |
42
CHANGE LOG 1.0.5.2.txt
Normal file
42
CHANGE LOG 1.0.5.2.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
[NEW] RedRyder BB Gun by @arma2WillRobinson
|
||||
[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_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/ )
|
||||
[NEW] Added "RedRyder" and "350Rnd_BB_Magazine" to loot pile. #1456 #1457 @Namindu
|
||||
|
||||
[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. @RimBlock
|
||||
[CHANGED] Tweaked rotate_logs.bat to incorporate the day of the week for better organization @Raziel23x
|
||||
|
||||
[FIXED] Backpack wipes when changing clothes. #1361 @icomrade
|
||||
[FIXED] CH53 gear when locked #1364 @icomrade
|
||||
[FIXED] Infinite loop when crafting ore into bars #1351 @icomrade
|
||||
[FIXED] Only first kill showing on death boards #1362 #1124 @vbawol @icomrade
|
||||
[FIXED] Crossbow quivers not working #1355 @icomrade
|
||||
[FIXED] Crash_spawner & Supply_drop modules spawning inaccessible loot piles #1408 #1390 @Uro1
|
||||
[FIXED] Undefined variable "_weapon" in fnc_plyrHit.sqf when killer is driving a vehicle #1420 @ebaydayz
|
||||
[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
|
||||
[FIXED] Eating while inside a vehicle did not drop empty can @deadeye2
|
||||
[FIXED] Zombie loot error when using loot tables in mission file @deadeye2
|
||||
[FIXED] Trader menu expected array error #1618-1620 @ebaydayz
|
||||
[FIXED] Loading screen issue where you can walk around and see a black screen #1610 @deanreid
|
||||
|
||||
[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 & CfgServerTraders with correct classnames for upgradable hilux1 & datsun1 versions. @Uro1
|
||||
[UPDATED] mission.sqm to compact format from DayZ Mod 1.8.3 @ebaydayz
|
||||
|
||||
[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.
|
||||
[INFO] Models/textures by Paul Tomany. @Sequisha.
|
||||
[INFO] Special thanks to http://verthosting.com for hosting our development server.
|
||||
9
Documents/CHANGE LOG 1.0.5.1.txt
Normal file
9
Documents/CHANGE LOG 1.0.5.1.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
[ADDED] Updated Sauerland map V1.80.04 by Falconsan http://epochmod.com/forum/index.php?/topic/6365-dayz-epoch-sauerland-changelog
|
||||
[ADDED] Configure AH6J for DZ + DZE @icomrade
|
||||
|
||||
[FIXED] Fixed client crash when player has chainsaw due to corrupt RTM file. @vbawol
|
||||
|
||||
[INFO] dayz_epoch1051.bikey found in client files "Keys" folder.
|
||||
[INFO] Server admins should add requiredSecureId = 2; to their server.cfg to prevent uid spoofing.
|
||||
[INFO] Models/textures by Paul Tomany. @Sequisha.
|
||||
[INFO] Special thanks to http://verthosting.com for hosting our development server.
|
||||
83
README.md
83
README.md
@@ -1,6 +1,8 @@
|
||||
**DayZ Epoch**
|
||||
================
|
||||
|
||||
## This is the experimental beta branch
|
||||
|
||||
Experimental DayZ mod
|
||||
|
||||
http://dayzepoch.com
|
||||
@@ -10,6 +12,7 @@ Based on DayZ Mod Community edition
|
||||
https://github.com/DayZMod/DayZ/blob/Release_1.8/Documentation/Credits.md
|
||||
http://dayzmod.com
|
||||
|
||||
|
||||
--------------------------
|
||||
Included Custom Addons
|
||||
--------------------------
|
||||
@@ -25,6 +28,8 @@ Included Custom Addons
|
||||
* Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr and Sahbazz http://www.armaholic.com/page.php?id=13053
|
||||
* gdtmod_grass 1.00 by HeinBloed - http://www.gdt-server.net/
|
||||
* Bell 47/H-13 Helicopter by hcpookie - http://www.armaholic.com/page.php?id=22143
|
||||
* USEC CH53 by Rocket - http://dayz.com
|
||||
* More enterable buildings - Dayzero - https://zombies.nu/
|
||||
|
||||
--------------------------
|
||||
Included Custom Islands
|
||||
@@ -37,37 +42,63 @@ Included Custom Islands
|
||||
* | German Town - and waysigns http://www.armaholic.com/page.php?id=9658
|
||||
|
||||
--------------------------
|
||||
Developers
|
||||
Initial Developers
|
||||
--------------------------
|
||||
* [VB]AWOL - Lead Developer - http://www.twitch.tv/vbawol
|
||||
* Axle - Beta Tester, Lead Trader City Designer, Ideas. - http://www.twitch.tv/axles
|
||||
* Paul Tomany - Models, Textures, Ideas, Beta Tester. - ptomany@gmail.com
|
||||
* Skaronator - Developer - Help with many things https://github.com/Skaronator
|
||||
* Zabn - Locked gear on vehicles when locked, reworked loot position code to support small items. https://github.com/Zabn
|
||||
* Harlan (dayz10k) - Developer - https://github.com/dayz10k
|
||||
* Axeman - Developer - Light system - axeman@thefreezer.co.uk
|
||||
* [VB]GREEN - Graphics, Beta Tester, Ideas. http://www.twitch.tv/vbgreen
|
||||
* Axle - Tester, Trader City Designer - http://www.twitch.tv/axles
|
||||
* Paul Tomany - Models, Textures - ptomany@gmail.com - http://www.twitch.tv/sequisha
|
||||
* [VB]GREEN - Graphics - http://www.twitch.tv/vbgreen
|
||||
|
||||
--------------------------
|
||||
Contributors
|
||||
GitHub Collaborators (In order of most commits)
|
||||
--------------------------
|
||||
* Icomrade - Fixes - https://github.com/Icomrade
|
||||
* Fank - Fixes - https://github.com/Fank
|
||||
* facoptere - Extra Security - https://github.com/facoptere
|
||||
* Torndeco - Fixes - https://github.com/Torndeco
|
||||
* Armifer - Humanity changes. - https://github.com/Armifer
|
||||
* AVendettaForYou - Trader City Tavi - https://github.com/AVendettaForYou
|
||||
* Skaronator, krazey - German Localization - https://github.com/Skaronator https://github.com/krazey
|
||||
* VeryBigBro - Russian Localization - https://github.com/VeryBigBro
|
||||
* th4z - French Localization - https://github.com/th4z
|
||||
* JoSchaap - Dutch Localization and some typo's - https://github.com/JoSchaap
|
||||
* Maca134 - Improved Trader Menus, Death Message menu, Experimental hive 999 support - maca134@gmail.com
|
||||
* Tansien - Hive Update to visual studio 2013, added 396 and 397 CHILD for Maintain - https://github.com/Tansien
|
||||
* aeinstein - Crafting now supports all can types. - https://github.com/aeinstein
|
||||
* vos / Axe Cop - Area Maintenance and ideas - https://github.com/vos
|
||||
* GeodarCZ - Czech Localization, correction - https://github.com/Geodar
|
||||
* Brovns - Czech Localization - https://github.com/Brovns
|
||||
* Doomscythe - Czech Localization, correction - https://github.com/Doomscythe
|
||||
* vbawol - https://github.com/vbawol
|
||||
* eltexonline - https://github.com/eltexonline
|
||||
* zabn - https://github.com/zabn
|
||||
* Sequisha - https://github.com/Sequisha
|
||||
* andgregor - https://github.com/andgregor
|
||||
* facoptere - https://github.com/facoptere
|
||||
* dayz10k - https://github.com/dayz10k
|
||||
* Skaronator - https://github.com/Skaronator
|
||||
* icomrade - https://github.com/icomrade
|
||||
* Axles - https://github.com/Axles
|
||||
* Armifer - https://github.com/Armifer
|
||||
|
||||
--------------------------
|
||||
GitHub Contributors (In order of most commits)
|
||||
--------------------------
|
||||
* vbawol - https://github.com/vbawol
|
||||
* dayz10k - https://github.com/dayz10k
|
||||
* Skaronator - https://github.com/Skaronator
|
||||
* Fank - https://github.com/Fank
|
||||
* andgregor - https://github.com/andgregor
|
||||
* Axles - https://github.com/Axles
|
||||
* zabn - https://github.com/zabn
|
||||
* eltexonline - https://github.com/eltexonline
|
||||
* icomrade - https://github.com/icomrade
|
||||
* Namindu - https://github.com/Namindu
|
||||
* raginruffalo - https://github.com/raginruffalo
|
||||
* Adaptivity - https://github.com/Adaptivity
|
||||
* facoptere - https://github.com/facoptere
|
||||
* ctcDNightmare - https://github.com/ctcDNightmare
|
||||
* SGanthony - https://github.com/SGanthony
|
||||
* Geodar - https://github.com/Geodar
|
||||
* Sandbird - https://github.com/Sandbird
|
||||
* krazey - https://github.com/krazey
|
||||
* jostster - https://github.com/jostster
|
||||
* SilvDev - https://github.com/SilvDev
|
||||
* AVendettaForYou - https://github.com/AVendettaForYou
|
||||
* Sequisha - https://github.com/Sequisha
|
||||
* Armifer - https://github.com/Armifer
|
||||
* infiSTAR - https://github.com/infiSTAR
|
||||
* Cornyfisch - https://github.com/Cornyfisch
|
||||
* JoSchaap - https://github.com/JoSchaap
|
||||
* maca134 - https://github.com/maca134
|
||||
* Schmoopiie - https://github.com/Schmoopiie
|
||||
* nahkiss - https://github.com/nahkiss
|
||||
* BlackLA - https://github.com/BlackLA
|
||||
* Hogscraper - https://github.com/hogscraper
|
||||
* Raziel23x - https://github.com/Raziel23x
|
||||
|
||||
--------------------------
|
||||
Special thanks
|
||||
|
||||
@@ -314,6 +314,7 @@ class CfgSurvival {
|
||||
sex = "female";
|
||||
playerModel = "SurvivorWpink_DZ";
|
||||
};
|
||||
/*
|
||||
class Skin_SurvivorWsequisha_DZ: Default {
|
||||
sex = "female";
|
||||
playerModel = "SurvivorWsequisha_DZ";
|
||||
@@ -322,6 +323,7 @@ class CfgSurvival {
|
||||
sex = "female";
|
||||
playerModel = "SurvivorWsequishaD_DZ";
|
||||
};
|
||||
*/
|
||||
class Skin_SurvivorWcombat_DZ: Default {
|
||||
sex = "female";
|
||||
playerModel = "SurvivorWcombat_DZ";
|
||||
|
||||
406
SQF/dayz_code/Configs/CfgExtra/snappoints.hpp
Normal file
406
SQF/dayz_code/Configs/CfgExtra/snappoints.hpp
Normal file
@@ -0,0 +1,406 @@
|
||||
/*
|
||||
Created by Raymix
|
||||
*/
|
||||
|
||||
|
||||
class SnapBuilding {
|
||||
//Barriers whitelist
|
||||
class Barrier {
|
||||
snapTo[] = {
|
||||
"Land_HBarrier5_DZ",
|
||||
"Land_HBarrier3_DZ",
|
||||
"Land_HBarrier1_DZ",
|
||||
"Sandbag1_DZ",
|
||||
"BagFenceRound_DZ",
|
||||
"Fort_RazorWire"
|
||||
};
|
||||
radius = 5;
|
||||
};
|
||||
//snap points
|
||||
class Land_HBarrier5Preview: Barrier{ //fix for broken offsets in ghost
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-0.75,0.1,"Back"},
|
||||
{0,0.75,0.1,"Front"},
|
||||
{-2.85,0,0.1,"Left"},
|
||||
{2.85,0,0.1,"Right"},
|
||||
{0,0,0.9,"Top"}
|
||||
};
|
||||
};
|
||||
class Land_HBarrier5_DZ: Land_HBarrier5Preview {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-0.75,0,"Back"},
|
||||
{0,0.75,0,"Front"},
|
||||
{-2.85,0,0,"Left"},
|
||||
{2.85,0,0,"Right"},
|
||||
{0,0,0.9,"Top"}
|
||||
};
|
||||
};
|
||||
|
||||
class Land_HBarrier3ePreview: Barrier { //whitelist inheritance
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-0.75,0,"Back"},
|
||||
{0,0.75,0,"Front"},
|
||||
{-1.7,0,0,"Left"},
|
||||
{1.7,0,0,"Right"},
|
||||
{0,0,0.9,"Top"}
|
||||
};
|
||||
};
|
||||
class Land_HBarrier3_DZ: Land_HBarrier3ePreview{}; //point inheritance
|
||||
|
||||
class Land_HBarrier1Preview: Barrier {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-0.75,0,"Back"},
|
||||
{0,0.75,0,"Front"},
|
||||
{-0.6,0,0,"Left"},
|
||||
{0.6,0,0,"Right"},
|
||||
{0,0,0.9,"Top"}
|
||||
};
|
||||
};
|
||||
class Land_HBarrier1_DZ: Land_HBarrier1Preview{};
|
||||
|
||||
class Fort_RazorWirePreview: Barrier {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-0.95,-0.3,"Back"},
|
||||
{0,0.95,-0.3,"Front"},
|
||||
{-4.1,0,-0.3,"Left"},
|
||||
{4.1,0,-0.3,"Right"},
|
||||
{0,0,1,"Top"}
|
||||
};
|
||||
};
|
||||
class Fort_RazorWire: Fort_RazorWirePreview {};
|
||||
|
||||
class Sandbag1_DZ: Barrier {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-1.5,0,0,"Left"},
|
||||
{1.5,0,0,"Right"},
|
||||
{0,0,0.4,"Top"}
|
||||
};
|
||||
};
|
||||
|
||||
class BagFenceRound_DZ: Barrier {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-1.295,0.38,0,"Left"},
|
||||
{1.295,0.38,0,"Right"},
|
||||
{0,0,0.4,"Top"}
|
||||
};
|
||||
};
|
||||
|
||||
//Snapping whitelists for Floors, walls and stairs
|
||||
class FloorsWallsStairs {
|
||||
snapTo[] = {
|
||||
"WoodFloorQuarter_DZ",
|
||||
"WoodFloorHalf_DZ",
|
||||
"WoodFloor_DZ",
|
||||
"WoodStairs_DZ",
|
||||
"WoodStairsSans_DZ",
|
||||
"WoodSmallWallDoor_DZ",
|
||||
"WoodSmallWall_DZ",
|
||||
"WoodSmallWallWin_DZ",
|
||||
"Land_DZE_WoodDoor",
|
||||
"Land_DZE_WoodDoorLocked",
|
||||
"WoodLargeWall_DZ",
|
||||
"Land_DZE_LargeWoodDoor",
|
||||
"WoodLargeWallWin_DZ",
|
||||
"WoodLargeWallDoor_DZ",
|
||||
"Land_DZE_GarageWoodDoor",
|
||||
"Land_DZE_GarageWoodDoorLocked",
|
||||
"Land_DZE_LargeWoodDoorLocked",
|
||||
"WoodSmallWallThird_DZ",
|
||||
"CinderWall_DZ",
|
||||
"CinderWallDoorway_DZ",
|
||||
"CinderWallDoorLocked_DZ",
|
||||
"CinderWallDoor_DZ",
|
||||
"CinderWallSmallDoorway_DZ",
|
||||
"CinderWallDoorSmallLocked_DZ",
|
||||
"CinderWallHalf_DZ",
|
||||
"CinderWallDoorSmall_DZ",
|
||||
"MetalFloor_DZ"
|
||||
};
|
||||
radius = 7;
|
||||
};
|
||||
|
||||
class WoodFloorQuarter_Preview_DZ: FloorsWallsStairs { //fix for broken offsets in ghost
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-1.23,0,"Back"},
|
||||
{0,1.23,0,"Front"},
|
||||
{-1.24,0,0,"Left"},
|
||||
{1.24,0,0,"Right"}
|
||||
};
|
||||
};
|
||||
|
||||
class WoodFloorQuarter_DZ: FloorsWallsStairs {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-1.23,0.137726,"Back"},
|
||||
{0,1.23,0.137726,"Front"},
|
||||
{-1.24,0,0.137726,"Left"},
|
||||
{1.24,0,0.137726,"Right"}
|
||||
};
|
||||
};
|
||||
|
||||
class WoodFloorHalf_Preview_DZ: FloorsWallsStairs { //fix for broken offsets in ghost
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-2.34,0,"Back"},
|
||||
{0,2.34,0,"Front"},
|
||||
{-1.25,0,0,"Left"},
|
||||
{1.25,0,0,"Right"}
|
||||
};
|
||||
};
|
||||
class WoodFloorHalf_DZ: FloorsWallsStairs{
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-2.34,0.1407,"Back"},
|
||||
{0,2.34,0.1407,"Front"},
|
||||
{-1.25,0,0.1407,"Left"},
|
||||
{1.25,0,0.1407,"Right"}
|
||||
};
|
||||
};
|
||||
|
||||
class WoodFloor_Preview_DZ: FloorsWallsStairs {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-2.33,0.130,"Back"},
|
||||
{0,2.33,0.130,"Front"},
|
||||
{-2.45,0,0.130,"Left"},
|
||||
{2.45,0,0.130,"Right"}
|
||||
};
|
||||
radius = 10;
|
||||
};
|
||||
class WoodFloor_DZ: WoodFloor_Preview_DZ{};
|
||||
|
||||
class Stairs_DZE: FloorsWallsStairs {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{1.56055,-0.78,1.5,"Back"},
|
||||
{1.56055,0.78,1.5,"Front"},
|
||||
{1.73926,0.05,2.9,"Top"},
|
||||
{-1.73926,0.05,0,"Bottom"}
|
||||
};
|
||||
};
|
||||
class WoodStairs_DZ: Stairs_DZE {};
|
||||
class WoodStairs_Preview_DZ: Stairs_DZE {};
|
||||
class WoodStairsSans_Preview_DZ: Stairs_DZE {};
|
||||
class WoodStairsSans_DZ: Stairs_DZE {};
|
||||
|
||||
class WoodSmall_DZE: FloorsWallsStairs { // Small wood walls
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.285, 0, 1.5,"Left"},
|
||||
{2.285, 0, 1.5,"Right"},
|
||||
{0, 0, 3,"Top"}
|
||||
};
|
||||
};
|
||||
class WoodSmallWallDoor_Preview_DZ: WoodSmall_DZE {};
|
||||
class WoodSmallWall_Preview_DZ: WoodSmall_DZE {};
|
||||
class WoodSmallWallWin_Preview_DZ: WoodSmall_DZE {};
|
||||
class WoodSmallWallDoor_DZ: WoodSmall_DZE {};
|
||||
class WoodSmallWall_DZ: WoodSmall_DZE {};
|
||||
class WoodSmallWallWin_DZ: WoodSmall_DZE {};
|
||||
class Land_DZE_WoodDoor: WoodSmall_DZE {};
|
||||
class Land_DZE_WoodDoorLocked: WoodSmall_DZE {};
|
||||
class WoodDoor_Preview_DZ: WoodSmall_DZE{};
|
||||
|
||||
class WoodLarge_DZE: FloorsWallsStairs { //Large wood walls
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.45, 0, 1.5,"Left"},
|
||||
{2.45, 0, 1.5,"Right"},
|
||||
{0, 0, 3,"Top"}
|
||||
};
|
||||
};
|
||||
class WoodLargeWall_Preview_DZ: WoodLarge_DZE {};
|
||||
class WoodLargeWallWin_Preview_DZ: WoodLarge_DZE {};
|
||||
class WoodLargeWallDoor_Preview_DZ: WoodLarge_DZE {};
|
||||
class WoodSmallWallThird_Preview_DZ: WoodLarge_DZE {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.445, 0, 1.5,"Left"},
|
||||
{2.445, 0, 1.5,"Right"},
|
||||
{0, 0, 1.17,"Top"}
|
||||
};
|
||||
};
|
||||
class WoodSmallWallThird_DZ: WoodSmallWallThird_Preview_DZ{};
|
||||
class WoodLargeWall_DZ: WoodLarge_DZE {};
|
||||
class Land_DZE_LargeWoodDoor: WoodLarge_DZE {};
|
||||
class WoodLargeWallWin_DZ: WoodLarge_DZE {};
|
||||
class WoodLargeWallDoor_DZ: WoodLarge_DZE {};
|
||||
class Land_DZE_GarageWoodDoor: WoodLarge_DZE {};
|
||||
class GarageWoodDoor_Preview_DZ: WoodLarge_DZE {};
|
||||
class Land_DZE_GarageWoodDoorLocked: WoodLarge_DZE {};
|
||||
class Land_DZE_LargeWoodDoorLocked: WoodLarge_DZE {};
|
||||
class LargeWoodDoor_Preview_DZ: WoodLarge_DZE {};
|
||||
|
||||
class Cinder_DZE: FloorsWallsStairs { //All cinder walls and doors
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.752, 0, 1.5,"Left"},
|
||||
{2.752, 0, 1.5,"Right"},
|
||||
{0, 0, 3.37042,"Top"}
|
||||
};
|
||||
radius = 10;
|
||||
};
|
||||
class CinderWall_Preview_DZ: Cinder_DZE {};
|
||||
class CinderWallDoorway_Preview_DZ: Cinder_DZE {};
|
||||
class CinderWallSmallDoorway_Preview_DZ: Cinder_DZE {};
|
||||
class CinderWallHalf_Preview_DZ: Cinder_DZE {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.752, 0, 1.5,"Left"},
|
||||
{2.752, 0, 1.5,"Right"},
|
||||
{0, 0, 1.5,"Top"}
|
||||
};
|
||||
};
|
||||
class CinderWall_DZ: Cinder_DZE {};
|
||||
class CinderWallDoorway_DZ: Cinder_DZE {};
|
||||
class CinderWallDoorLocked_DZ: Cinder_DZE {};
|
||||
class CinderWallDoor_DZ: Cinder_DZE {};
|
||||
class CinderWallSmallDoorway_DZ: Cinder_DZE {};
|
||||
class CinderWallDoorSmallLocked_DZ: Cinder_DZE {};
|
||||
class CinderWallHalf_DZ: Cinder_DZE {
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.752, 0, 1.5,"Left"},
|
||||
{2.752, 0, 1.5,"Right"},
|
||||
{0, 0, 1.5,"Top"}
|
||||
};
|
||||
};
|
||||
class CinderWallDoorSmall_DZ: Cinder_DZE {};
|
||||
|
||||
class MetalFloor_Preview_DZ: FloorsWallsStairs { //fix for broken offsets in ghost
|
||||
points[] = {
|
||||
{0,0,0.011,"Pivot"},
|
||||
{0, -2.64, 0.009,"Back"},
|
||||
{0, 2.64, 0.009,"Front"},
|
||||
{-2.64, 0, 0.009,"Left"},
|
||||
{2.64, 0, 0.009,"Right"}
|
||||
};
|
||||
radius = 12;
|
||||
};
|
||||
class MetalFloor_DZ: FloorsWallsStairs{
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0, -2.64, 0.15,"Back"},
|
||||
{0, 2.64, 0.15,"Front"},
|
||||
{-2.64, 0, 0.15,"Left"},
|
||||
{2.64, 0, 0.15,"Right"}
|
||||
};
|
||||
radius = 12;
|
||||
};
|
||||
|
||||
|
||||
//Non essential Items that only snap to themselves, do whitelist inheritance if you want these to snap
|
||||
class WoodCrate_DZ {
|
||||
snapTo[] = {
|
||||
"WoodCrate_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,-0.47,0,"Back"},
|
||||
{0,0.47,0,"Front"},
|
||||
{-0.47,0,0,"Left"},
|
||||
{0.47,0,0,"Right"},
|
||||
{0,0,0.47,"Top"}
|
||||
};
|
||||
};
|
||||
|
||||
class MetalPanel_DZ {
|
||||
snapTo[] = {
|
||||
"MetalPanel_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-1.5,0,0,"Left"},
|
||||
{1.5,0,0,"Right"}
|
||||
};
|
||||
};
|
||||
|
||||
class MetalGate_DZ {
|
||||
snapTo[] = {
|
||||
"MetalGate_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-4.1,0,0,"Left"}
|
||||
};
|
||||
};
|
||||
|
||||
class StickFence_DZ {
|
||||
snapTo[] = {
|
||||
"StickFence_DZ"
|
||||
};
|
||||
radius = 10;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-2.95,0,0.3,"Left"},
|
||||
{2.95,0,0.3,"Right"}
|
||||
};
|
||||
};
|
||||
|
||||
class Fence_corrugated_DZ {
|
||||
snapTo[] = {
|
||||
"Fence_corrugated_DZ"
|
||||
};
|
||||
radius = 10;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-1.95,0,0.88,"Left"},
|
||||
{1.95,0,0.88,"Right"}
|
||||
};
|
||||
};
|
||||
|
||||
class WoodRamp_Preview_DZ {
|
||||
snapTo[] = {
|
||||
"WoodRamp_DZ"
|
||||
};
|
||||
radius = 7;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0.65,-1.7,1.2,"Back"},
|
||||
{0.65,1.5,1.2,"Front"},
|
||||
{3.34,-0.115,2.82,"Top"}
|
||||
};
|
||||
};
|
||||
class WoodRamp_DZ: WoodRamp_Preview_DZ{};
|
||||
|
||||
class WoodLadder_Preview_DZ {
|
||||
snapTo[] = {
|
||||
"WoodLadder_DZ"
|
||||
};
|
||||
radius = 5;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{-0.4,0,1.725,"Left"},
|
||||
{0.4,0,1.725,"Right"}
|
||||
};
|
||||
};
|
||||
class WoodLadder_DZ: WoodLadder_Preview_DZ{};
|
||||
|
||||
class VaultStorageLocked {
|
||||
snapTo[] = {
|
||||
"VaultStorageLocked",
|
||||
"VaultStorage"
|
||||
};
|
||||
radius = 5;
|
||||
points[] = {
|
||||
{0,0,0,"Pivot"},
|
||||
{0,0.284,0.615,"Back"},
|
||||
{0,0,1.23,"Top"},
|
||||
{-0.362,0,0.615,"Left"},
|
||||
{0.362,0,0.615,"Right"}
|
||||
};
|
||||
|
||||
};
|
||||
class VaultStorage: VaultStorageLocked {};
|
||||
};
|
||||
@@ -26,6 +26,8 @@ class CfgLoot {
|
||||
,{"FoodBioMeat",0.01}
|
||||
,{"8Rnd_9x18_MakarovSD",0.01}
|
||||
,{"ItemDocument",0.03}
|
||||
,{"RedRyder",0.06}
|
||||
,{"350Rnd_BB_Magazine",0.07}
|
||||
};
|
||||
office2[] = {
|
||||
{"FoodCanUnlabeled",0.07}
|
||||
@@ -47,6 +49,7 @@ class CfgLoot {
|
||||
,{"8Rnd_9x18_MakarovSD",0.01}
|
||||
,{"ItemBriefcaseEmpty",0.01}
|
||||
,{"ItemDocument",0.02}
|
||||
,{"350Rnd_BB_Magazine",0.09}
|
||||
};
|
||||
food[] = {
|
||||
{"TrashTinCan",0.09}
|
||||
@@ -84,6 +87,7 @@ class CfgLoot {
|
||||
,{"8Rnd_9x18_Makarov",0.08}
|
||||
,{"15Rnd_W1866_Slug",0.02}
|
||||
,{"WoodenArrow",0.04}
|
||||
,{"350Rnd_BB_Magazine",0.05}
|
||||
,{"HandRoadFlare",0.07}
|
||||
,{"ItemPainkiller",0.02}
|
||||
,{"HandChemGreen",0.01}
|
||||
@@ -115,12 +119,14 @@ class CfgLoot {
|
||||
,{"8Rnd_9x18_Makarov",0.09}
|
||||
,{"15Rnd_W1866_Slug",0.02}
|
||||
,{"WoodenArrow",0.04}
|
||||
,{"350Rnd_BB_Magazine",0.05}
|
||||
,{"HandRoadFlare",0.07}
|
||||
,{"ItemPainkiller",0.02}
|
||||
,{"HandChemGreen",0.01}
|
||||
,{"HandChemBlue",0.03}
|
||||
,{"HandChemRed",0.03}
|
||||
,{"ItemHeatPack",0.04}
|
||||
,{"350Rnd_BB_Magazine",0.09}
|
||||
};
|
||||
medical[] = {
|
||||
{"ItemBandage",0.4}
|
||||
@@ -247,11 +253,14 @@ class CfgLoot {
|
||||
,{"10x_303",0.1}
|
||||
,{"ItemWaterbottleUnfilled",0.05}
|
||||
,{"WoodenArrow",0.2}
|
||||
,{"350Rnd_BB_Magazine",0.05}
|
||||
,{"ItemHeatPack",0.02}
|
||||
,{"FoodMRE",0.01}
|
||||
,{"FoodNutmix",0.02}
|
||||
,{"ItemDocument",0.01}
|
||||
,{"ItemMixOil",0.01}
|
||||
,{"RedRyder",0.06}
|
||||
,{"350Rnd_BB_Magazine",0.09}
|
||||
};
|
||||
worker[] = {
|
||||
{"FoodCanUnlabeled",0.09}
|
||||
@@ -369,6 +378,7 @@ class CfgLoot {
|
||||
,{"Saiga12K",0.13}
|
||||
,{"Remington870_lamp",0.1}
|
||||
,{"Crossbow_DZ",0.07}
|
||||
,{"RedRyder",0.06}
|
||||
,{"M1014",0.05}
|
||||
};
|
||||
farmweapons[] = {
|
||||
@@ -378,8 +388,10 @@ class CfgLoot {
|
||||
,{"Saiga12K",0.13}
|
||||
,{"Remington870_lamp",0.1}
|
||||
,{"Crossbow_DZ",0.07}
|
||||
,{"RedRyder",0.06}
|
||||
,{"huntingrifle",0.05}
|
||||
,{"Chainsaw",0.01}
|
||||
,{"RedRyder",0.06}
|
||||
};
|
||||
sniperrifles[] = {
|
||||
{"AK_107_PSO",0.1}
|
||||
|
||||
@@ -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}};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -28,7 +28,9 @@ class 100Rnd_762x51_M240 : CA_Magazine {
|
||||
model = "\ca\CommunityConfigurationProject_E\Gameplay_ActualModelsOfWeaponMagazinesVisibleOnTheGround\p3d\100Rnd_762x51_M240.p3d";
|
||||
};
|
||||
class 200Rnd_762x51_M240 : 100Rnd_762x51_M240 {
|
||||
displayName = "200Rnd. M240";
|
||||
count = 200;
|
||||
descriptionShort = "Caliber: 7.62x51mm NATO <br/>Rounds: 200 <br/>Used in: M240, Mk 48 Mod 0";
|
||||
};
|
||||
class 200Rnd_556x45_M249 : CA_Magazine {
|
||||
scope = 2;
|
||||
@@ -153,4 +155,4 @@ class WoodenArrow : CA_Magazine {
|
||||
output[] = {"Quiver"};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
92
SQF/dayz_code/Configs/CfgMagazines/Planting.hpp
Normal file
92
SQF/dayz_code/Configs/CfgMagazines/Planting.hpp
Normal file
@@ -0,0 +1,92 @@
|
||||
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;
|
||||
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
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -155,6 +155,7 @@ class Skin_SurvivorWpink_DZ: SkinBase {
|
||||
displayName = "Melly (female)";
|
||||
descriptionShort = "Purple top with blue pants.";
|
||||
};
|
||||
/*
|
||||
class Skin_SurvivorWsequisha_DZ: SkinBase {
|
||||
scope = 2;
|
||||
displayName = "Maria (female)";
|
||||
@@ -165,6 +166,7 @@ class Skin_SurvivorWsequishaD_DZ: SkinBase {
|
||||
displayName = "Sequisha (female)";
|
||||
descriptionShort = "Sequisha Clothes (female)";
|
||||
};
|
||||
*/
|
||||
class Skin_SurvivorWcombat_DZ: SkinBase {
|
||||
scope = 2;
|
||||
displayName = "Alejandria";
|
||||
|
||||
@@ -1,4 +1,49 @@
|
||||
class AH6_Base_EP1;
|
||||
class AH6J_EP1_DZ: AH6_Base_EP1
|
||||
{
|
||||
scope = 2;
|
||||
side = 2;
|
||||
displayName = "AH6J_DZ";
|
||||
crew = "";
|
||||
typicalCargo[] = {};
|
||||
weapons[] = {"TwinM134","CMFlareLauncher"};
|
||||
magazines[] = {"4000Rnd_762x51_M134","60Rnd_CMFlareMagazine"};
|
||||
threat[] = {0.6,0.4,0.1};
|
||||
gunBeg[] = {"muzzle_1","muzzle_2"};
|
||||
gunEnd[] = {"chamber_1","chamber_2"};
|
||||
radarType = 0;
|
||||
class TransportMagazines {};
|
||||
class TransportWeapons {};
|
||||
class Turrets {};
|
||||
class AnimationSources
|
||||
{
|
||||
class Gatling_1
|
||||
{
|
||||
source = "revolving";
|
||||
weapon = "TwinM134";
|
||||
};
|
||||
class Gatling_2
|
||||
{
|
||||
source = "revolving";
|
||||
weapon = "TwinM134";
|
||||
};
|
||||
};
|
||||
hiddenSelections[] = {"camo1","camo2"};
|
||||
hiddenSelectionsTextures[] = {"ca\air_e\ah6j\data\ah6_merge1_co.paa","ca\air_e\ah6j\data\default_co.paa"};
|
||||
commanderCanSee = 2+16+32;
|
||||
gunnerCanSee = 2+16+32;
|
||||
driverCanSee = 2+16+32;
|
||||
transportMaxWeapons = 3;
|
||||
transportMaxMagazines = 10;
|
||||
transportmaxbackpacks = 2;
|
||||
};
|
||||
class AH6J_EP1_DZE: AH6J_EP1_DZ
|
||||
{
|
||||
scope = 2;
|
||||
side = 2;
|
||||
displayName = "AH6J_DZE";
|
||||
magazines[] = {"60Rnd_CMFlareMagazine"};
|
||||
};
|
||||
class AH6X_DZ: AH6_Base_EP1 {
|
||||
displayname = "AH6X Little Bird";
|
||||
displaynameshort = "AH6X_DZ";
|
||||
@@ -25,6 +70,7 @@ class AH6X_DZ: AH6_Base_EP1 {
|
||||
transportMaxWeapons = 3;
|
||||
transportMaxMagazines = 10;
|
||||
transportmaxbackpacks = 2;
|
||||
fuelCapacity = 242;
|
||||
class Turrets {};
|
||||
};
|
||||
class MH6J_DZ: AH6_Base_EP1 {
|
||||
@@ -53,4 +99,4 @@ class MH6J_DZ: AH6_Base_EP1 {
|
||||
transportMaxMagazines = 20;
|
||||
transportmaxbackpacks = 5;
|
||||
class Turrets {};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,7 +8,6 @@ class AN2_DZ: An2_Base_EP1
|
||||
side = 2;
|
||||
crew = "";
|
||||
typicalCargo[] = {};
|
||||
hiddenSelections[] = {};
|
||||
class TransportMagazines{};
|
||||
class TransportWeapons{};
|
||||
weapons[] = {};
|
||||
@@ -20,4 +19,5 @@ class AN2_DZ: An2_Base_EP1
|
||||
transportMaxWeapons = 10;
|
||||
transportMaxMagazines = 80;
|
||||
transportmaxbackpacks = 15;
|
||||
};
|
||||
fuelCapacity = 757;
|
||||
};
|
||||
|
||||
@@ -9,4 +9,5 @@ class BAF_Merlin_DZE : BAF_Merlin_HC3_D {
|
||||
transportMaxWeapons = 15;
|
||||
transportMaxMagazines = 150;
|
||||
transportmaxbackpacks = 5;
|
||||
};
|
||||
fuelCapacity = 3222;
|
||||
};
|
||||
|
||||
@@ -3,4 +3,5 @@ class C130J_US_EP1_DZ: C130J_US_EP1 {
|
||||
transportMaxWeapons = 50;
|
||||
transportMaxMagazines = 400;
|
||||
transportmaxbackpacks = 20;
|
||||
};
|
||||
fuelCapacity = 34095;
|
||||
};
|
||||
|
||||
@@ -117,6 +117,7 @@ class CH47_base_EP1: Helicopter
|
||||
irScanRangeMin = 100;
|
||||
irScanRangeMax = 1000;
|
||||
irScanToEyeFactor = 2;
|
||||
fuelCapacity = 4043;
|
||||
};
|
||||
|
||||
class CH_47F_EP1;
|
||||
@@ -278,4 +279,4 @@ class CH_47F_EP1_DZE: CH47_base_EP1
|
||||
weapon = "M134_2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,11 +1,21 @@
|
||||
class USEC_ch53_E;
|
||||
class CH53_DZE : USEC_ch53_E {
|
||||
displayname = "USEC CH53E DZE";
|
||||
displaynameshort = "CH53_DZE";
|
||||
enablemanualfire = 0;
|
||||
scope = 2;
|
||||
side = 2;
|
||||
displayname = "USEC CH53E DZE";
|
||||
displaynameshort = "CH53_DZE";
|
||||
destrType = "DestructWreck";
|
||||
enablemanualfire = 0;
|
||||
crew = "";
|
||||
soundGetIn[] = {"\ca\Sounds\Air\Noises\heli_door_01",0.316228,1};
|
||||
soundGetOut[] = {"\ca\Sounds\Air\Noises\heli_door_01",0.316228,1,30};
|
||||
soundEnviron[] = {"",0.0316228,1};
|
||||
soundEngineOnInt[] = {"ca\sounds\Air\UH1Y\int\int-start-final",0.1,1};
|
||||
soundEngineOnExt[] = {"ca\sounds\Air\UH1Y\ext\ext-motor-start",1,1,800};
|
||||
soundEngineOffInt[] = {"ca\sounds\Air\UH1Y\int\int-stop-final",0.1,1};
|
||||
soundEngineOffExt[] = {"ca\sounds\Air\UH1Y\ext\ext-motor-stop",1,1,800};
|
||||
soundGear[] = {"\usec_ch53\sound\ch53_gear", db10, 1, 100};
|
||||
soundDammage[] = {"\usec_ch53\sound\dws_warning_beeps", 3.16228, 1, 20};
|
||||
typicalCargo[] = {};
|
||||
hiddenSelections[] = {};
|
||||
radartype = 0;
|
||||
@@ -17,4 +27,5 @@ class CH53_DZE : USEC_ch53_E {
|
||||
transportMaxWeapons = 25;
|
||||
transportMaxMagazines = 80;
|
||||
transportmaxbackpacks = 15;
|
||||
fuelCapacity = 3849;
|
||||
};
|
||||
@@ -11,4 +11,5 @@ class MV22_DZ : MV22 {
|
||||
transportMaxWeapons = 20;
|
||||
transportMaxMagazines = 400;
|
||||
transportmaxbackpacks = 10;
|
||||
};
|
||||
fuelCapacity = 6513;
|
||||
};
|
||||
|
||||
@@ -17,7 +17,6 @@ class Mi17_DZ: Mi17_base {
|
||||
side = 2;
|
||||
crew = "";
|
||||
typicalCargo[] = {};
|
||||
hiddenSelections[] = {};
|
||||
class TransportMagazines{};
|
||||
class TransportWeapons{};
|
||||
commanderCanSee = 2+16+32;
|
||||
@@ -26,6 +25,7 @@ class Mi17_DZ: Mi17_base {
|
||||
transportMaxWeapons = 10;
|
||||
transportMaxMagazines = 50;
|
||||
transportmaxbackpacks = 10;
|
||||
fuelCapacity = 1870;
|
||||
|
||||
class Turrets : Turrets {
|
||||
class MainTurret : MainTurret {
|
||||
@@ -64,4 +64,4 @@ class Mi17_Civilian_DZ: Mi17_Civilian {
|
||||
transportMaxWeapons = 10;
|
||||
transportMaxMagazines = 50;
|
||||
transportmaxbackpacks = 10;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -17,7 +17,6 @@ class UH1Y_DZ: UH1_Base {
|
||||
side = 2;
|
||||
crew = "";
|
||||
typicalCargo[] = {};
|
||||
hiddenSelections[] = {};
|
||||
class TransportMagazines{};
|
||||
class TransportWeapons{};
|
||||
commanderCanSee = 2+16+32;
|
||||
@@ -28,6 +27,7 @@ class UH1Y_DZ: UH1_Base {
|
||||
transportmaxbackpacks = 4;
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
fuelCapacity = 1333;
|
||||
class Turrets : Turrets {
|
||||
class MainTurret : MainTurret {
|
||||
magazines[] = {"2000Rnd_762x51_M134"};
|
||||
@@ -64,7 +64,6 @@ class UH1H_DZ: UH1H_base {
|
||||
side = 2;
|
||||
crew = "";
|
||||
typicalCargo[] = {};
|
||||
hiddenSelections[] = {};
|
||||
class TransportMagazines{};
|
||||
class TransportWeapons{};
|
||||
commanderCanSee = 2+16+32;
|
||||
@@ -73,6 +72,7 @@ class UH1H_DZ: UH1H_base {
|
||||
transportMaxWeapons = 5;
|
||||
transportMaxMagazines = 25;
|
||||
transportmaxbackpacks = 4;
|
||||
fuelCapacity = 1333;
|
||||
class Turrets : Turrets {
|
||||
class MainTurret : MainTurret {
|
||||
magazines[] = {"100Rnd_762x51_M240"};
|
||||
@@ -91,4 +91,4 @@ class UH1H_DZE: UH1H_DZ {
|
||||
magazines[] = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@ class UH60_Base: Helicopter {
|
||||
magazines[] = {"60Rnd_CMFlareMagazine"};
|
||||
lockDetectionSystem = "8 + 4";
|
||||
incommingMisslieDetectionSystem = 0;
|
||||
fuelCapacity = 2760;
|
||||
};
|
||||
class MH60S_DZ : UH60_Base {
|
||||
crew = "";
|
||||
@@ -247,14 +248,13 @@ class UH60M_base_EP1: UH60_Base {
|
||||
icon = "\ca\air_e\data\UI\Icon_uh60m_CA.paa";
|
||||
mapSize = 17;
|
||||
class Library {
|
||||
libTextDesc = "The Blackhawk is the US Army<6D>s front-line utility helicopter used for transport roles, medical evacuation and even air support.<br />It is capable of carrying 11 combat-equipped soldiers. Easy to maintain in the field, the Blackhawk performs well in a variety of roles including air assault and medical evacuation.";
|
||||
libTextDesc = "The Blackhawk is the US Army<6D>s front-line utility helicopter used for transport roles, medical evacuation and even air support.<br />It is capable of carrying 11 combat-equipped soldiers. Easy to maintain in the field, the Blackhawk performs well in a variety of roles including air assault and medical evacuation.";
|
||||
};
|
||||
crew = "US_Soldier_Pilot_EP1";
|
||||
typicalCargo[] = {"US_Soldier_Pilot_EP1","US_Soldier_Pilot_EP1"};
|
||||
gunnerAction = "ManActTestDriver";
|
||||
transportMaxBackpacks = 10;
|
||||
transportSoldier = 13;
|
||||
fuelCapacity = 600;
|
||||
maxSpeed = 295;
|
||||
mainRotorSpeed = 1.2;
|
||||
backRotorSpeed = 6.1;
|
||||
@@ -549,4 +549,4 @@ class UH60M_EP1_DZE: UH60M_US_base_EP1 {
|
||||
weapon = "M134_2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -24,5 +24,5 @@ class KamazRefuel_DZ: KamazRefuel {
|
||||
class TransportMagazines{};
|
||||
class TransportWeapons{};
|
||||
transportFuel = 0;
|
||||
fuelCapacity = 10000;
|
||||
};
|
||||
fuelCapacity = 10400;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
};
|
||||
};
|
||||
|
||||
@@ -26,4 +26,5 @@ class PBX: RubberBoat {
|
||||
transportMaxMagazines = 50;
|
||||
transportMaxWeapons = 5;
|
||||
transportMaxBackpacks = 1;
|
||||
};
|
||||
fuelCapacity = 23;
|
||||
};
|
||||
|
||||
@@ -17,7 +17,7 @@ class Ship : AllVehicles
|
||||
maxSpeed = 30;
|
||||
simulation = "ship";
|
||||
audible = 6;
|
||||
fuelCapacity = 100;
|
||||
fuelCapacity = 250;
|
||||
formationX = 50;
|
||||
formationZ = 100;
|
||||
brakeDistance = 50;
|
||||
@@ -569,4 +569,4 @@ class RHIB_DZ : Boat
|
||||
"ca\water\data\rhib_dash_destruct.rvmat"
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -279,5 +279,6 @@ class CfgWeapons {
|
||||
#include "CfgWeapons\Weapon\LMG\M249_EP1.hpp"
|
||||
#include "CfgWeapons\Weapon\LMG\M249_m145_EP1.hpp"
|
||||
#include "CfgWeapons\Weapon\LMG\M60A4.hpp"
|
||||
// #include "CfgWeapons\Weapon\Rifle\FN_FAL_ANPVS4_DZE.hpp"
|
||||
#include "CfgWeapons\Weapon\LMG\BAF_L110A1_Aim.hpp"
|
||||
#include "CfgWeapons\Weapon\Rifle\FN_FAL_ANPVS4_DZE.hpp"
|
||||
};
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
class Crossbow_DZ : Crossbow {
|
||||
displayName = $STR_EQUIP_CROSSBOW;
|
||||
magazines[] =
|
||||
{
|
||||
"WoodenArrow"
|
||||
};
|
||||
magazines[] ={"Quiver","WoodenArrow"};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
class BAF_L110A1_Aim;
|
||||
class BAF_L110A1_Aim_DZE:BAF_L110A1_Aim {
|
||||
type = "1";
|
||||
};
|
||||
@@ -1,3 +1,4 @@
|
||||
class FN_FAL_ANPVS4;
|
||||
class FN_FAL_ANPVS4_DZE:FN_FAL_ANPVS4 {
|
||||
visionMode[] = {"Normal", NVG};
|
||||
visionMode[] = {"Normal", "NVG"};
|
||||
};
|
||||
|
||||
@@ -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"
|
||||
@@ -672,7 +840,7 @@ class CfgVehicles {
|
||||
displayName = "Bag fence (Round)";
|
||||
vehicleClass = "Fortifications";
|
||||
constructioncount = 3;
|
||||
removeoutput[] = {{"ItemSandbag",1}};
|
||||
removeoutput[] = {{"BagFenceRound_DZ_kit",1}};
|
||||
nounderground = 0;
|
||||
};
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ class RscDisplayMain : RscStandardDisplay {
|
||||
class CA_Version;
|
||||
class DAYZ_Version : CA_Version {
|
||||
idc = -1;
|
||||
text = "1.0.5";
|
||||
text = "1.0.5.2";
|
||||
y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)";
|
||||
};
|
||||
delete CA_TitleMainMenu;
|
||||
|
||||
@@ -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; };
|
||||
@@ -189,4 +197,9 @@ if (_dikCode == 0x39 || (_dikCode in actionKeys "User19")) then {
|
||||
DZE_5 = true;
|
||||
};
|
||||
|
||||
// F key
|
||||
if ((_dikCode == 0x21 && (!_alt && !_ctrl)) || (_dikCode in actionKeys "User6")) then {
|
||||
DZE_F = true;
|
||||
};
|
||||
|
||||
_handled
|
||||
|
||||
@@ -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";
|
||||
|
||||
87
SQF/dayz_code/actions/modular_build.sqf
Normal file
87
SQF/dayz_code/actions/modular_build.sqf
Normal file
@@ -0,0 +1,87 @@
|
||||
//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).
|
||||
[] 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
|
||||
_objectHelper = _buildObject select 2; //Obj
|
||||
|
||||
_controls = [_object, _isAllowedUnderGround, _location1, _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 {
|
||||
|
||||
@@ -337,7 +337,7 @@ if (_hasrequireditem) then {
|
||||
if(abs(_objHDiff) > 5) exitWith {
|
||||
_isOk = false;
|
||||
_cancel = true;
|
||||
_reason = "Cannot move up || down more than 5 meters";
|
||||
_reason = "Cannot move up or down more than 5 meters";
|
||||
detach _object;
|
||||
deleteVehicle _object;
|
||||
};
|
||||
@@ -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];
|
||||
|
||||
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]
|
||||
|
||||
216
SQF/dayz_code/actions/player_build_controls.sqf
Normal file
216
SQF/dayz_code/actions/player_build_controls.sqf
Normal file
@@ -0,0 +1,216 @@
|
||||
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;
|
||||
_objectHelper = _this select 3;
|
||||
|
||||
_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);
|
||||
_position = [_objectHelper] call FNC_GetPos;
|
||||
|
||||
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;
|
||||
_dir = -45;
|
||||
};
|
||||
if (DZE_6) then {
|
||||
_rotate = true;
|
||||
DZE_6 = false;
|
||||
_dir = 45;
|
||||
};
|
||||
|
||||
if (DZE_F and _canDo) then {
|
||||
if (helperDetach) then {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper attachTo [player];
|
||||
_objectHelper setDir _objectHelperDir-(getDir player);
|
||||
helperDetach = false;
|
||||
} else {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
detach _objectHelper;
|
||||
[_objectHelper] call FNC_GetSetPos;
|
||||
_objectHelper setVelocity [0,0,0]; //fix sliding glitch
|
||||
helperDetach = true;
|
||||
};
|
||||
DZE_F = false;
|
||||
};
|
||||
|
||||
if(_rotate) then {
|
||||
if (helperDetach) then {
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper setDir _objectHelperDir+_dir;
|
||||
[_objectHelper] call FNC_GetSetPos;
|
||||
} else {
|
||||
detach _objectHelper;
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper setDir _objectHelperDir+_dir;
|
||||
[_objectHelper] call FNC_GetSetPos;
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
_objectHelper attachTo [player];
|
||||
_objectHelper setDir _objectHelperDir-(getDir player);
|
||||
};
|
||||
};
|
||||
|
||||
if(_zheightchanged) then {
|
||||
if (!helperDetach) then {
|
||||
detach _objectHelper;
|
||||
_objectHelperDir = getDir _objectHelper;
|
||||
};
|
||||
|
||||
_position = [_objectHelper] call FNC_GetPos;
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then {
|
||||
_position set [2,0];
|
||||
};
|
||||
|
||||
if (surfaceIsWater _position) then {
|
||||
_objectHelper setPosASL _position;
|
||||
} else {
|
||||
_objectHelper setPosATL _position;
|
||||
};
|
||||
|
||||
if (!helperDetach) then {
|
||||
_objectHelper attachTo [player];
|
||||
_objectHelper setDir _objectHelperDir-(getDir player);
|
||||
};
|
||||
};
|
||||
|
||||
sleep 0.5;
|
||||
|
||||
_location2 = [player] call FNC_GetPos;
|
||||
_objectHelperPos = [_objectHelper] call FNC_GetPos;
|
||||
|
||||
if(DZE_5) exitWith {
|
||||
_isOk = false;
|
||||
_position = [_object] call FNC_GetPos;
|
||||
detach _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","_pos"];
|
||||
|
||||
_pos = [player] call FNC_GetPos;
|
||||
_cnt = count (_pos 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
|
||||
37
SQF/dayz_code/actions/player_build_create.sqf
Normal file
37
SQF/dayz_code/actions/player_build_create.sqf
Normal file
@@ -0,0 +1,37 @@
|
||||
//create an object for default build system style
|
||||
private ["_passArray","_classname","_enableGhost","_ghost","_location1","_dir","_object","_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 = [];
|
||||
_objectHelper = objNull;
|
||||
|
||||
// get inital players position
|
||||
_location1 = [player] call FNC_GetPos;
|
||||
|
||||
// if enabled, use ghost preview where available
|
||||
if (_enableGhost) then {
|
||||
if (_ghost != "") then {
|
||||
_classname = _ghost;
|
||||
};
|
||||
};
|
||||
|
||||
_object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"]; //object preview, not an actual object that will be built
|
||||
|
||||
_objectHelper = "Sign_sphere10cm_EP1" createVehicle [0,0,0];
|
||||
_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]];
|
||||
|
||||
|
||||
if (isClass (configFile >> "SnapBuilding" >> _classname)) then {
|
||||
["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build;
|
||||
};
|
||||
|
||||
_passArray = [_location1,_object,_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","_pos"];
|
||||
|
||||
_abort = false; //do not abort by default
|
||||
_reason = ""; // define to avoid RPT errors
|
||||
_needNear = getArray (configFile >> "CfgMagazines" >> DZE_buildItem >> "ItemActions" >> "Build" >> "neednearby");
|
||||
_pos = [player] call FNC_GetPos;
|
||||
{
|
||||
switch(_x) do{
|
||||
case "fire":
|
||||
{
|
||||
_distance = 3;
|
||||
_isNear = {inflamed _x} count (_pos nearObjects _distance);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "fire";
|
||||
};
|
||||
};
|
||||
case "workshop":
|
||||
{
|
||||
_distance = 3;
|
||||
_isNear = count (nearestObjects [_pos, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]);
|
||||
if(_isNear == 0) then {
|
||||
_abort = true;
|
||||
_reason = "workshop";
|
||||
};
|
||||
};
|
||||
case "fueltank":
|
||||
{
|
||||
_distance = 30;
|
||||
_isNear = count (nearestObjects [_pos, 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]
|
||||
224
SQF/dayz_code/actions/player_build_publish.sqf
Normal file
224
SQF/dayz_code/actions/player_build_publish.sqf
Normal file
@@ -0,0 +1,224 @@
|
||||
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)
|
||||
};
|
||||
|
||||
if (surfaceIsWater _location) then {
|
||||
_tmpbuilt setPosASL _location;
|
||||
_location = ASLtoATL _location; //Database uses ATL
|
||||
} else {
|
||||
_tmpbuilt setPosATL _location;
|
||||
};
|
||||
|
||||
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
|
||||
|
||||
@@ -168,13 +168,13 @@ if (_canDo) then {
|
||||
if ((_x == _itemIn) || (!_selectedRecipeInputStrict && _configParent == _itemIn)) then {
|
||||
// Get lowest waterlevel
|
||||
if ((_x == "ItemWaterbottle") ||( _configParent == "ItemWaterbottle")) then {
|
||||
_waterLevel = floor((getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz")) - 1);
|
||||
_waterLevel = getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz");
|
||||
if (_waterLevel_lowest == 0 || _waterLevel < _waterLevel_lowest) then {
|
||||
_waterLevel_lowest = _waterLevel;
|
||||
};
|
||||
};
|
||||
};
|
||||
} forEach magazines player;
|
||||
} forEach (magazines player);
|
||||
|
||||
{
|
||||
_configParent = configName(inheritsFrom(configFile >> "cfgMagazines" >> _x));
|
||||
@@ -195,7 +195,7 @@ if (_canDo) then {
|
||||
_temp_removed_array set [count _temp_removed_array,_x];
|
||||
};
|
||||
};
|
||||
} forEach magazines player;
|
||||
} forEach (magazines player);
|
||||
|
||||
} forEach _selectedRecipeInput;
|
||||
|
||||
|
||||
@@ -48,31 +48,26 @@ if (["ItemSoda",_itemorignal] call fnc_inString) then {
|
||||
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
|
||||
};
|
||||
|
||||
if (_hasoutput) then{
|
||||
_itemtodrop = drink_output select(drink_with_output find _itemorignal);
|
||||
if (_hasoutput) then {
|
||||
// Selecting output
|
||||
_itemtodrop = drink_output select (drink_with_output find _itemorignal);
|
||||
|
||||
if (!_invehicle) then {
|
||||
// Selecting output
|
||||
_itemtodrop = drink_output select (drink_with_output find _itemorignal);
|
||||
|
||||
sleep 3;
|
||||
_nearByPile= nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2];
|
||||
if (count _nearByPile ==0) then {
|
||||
_nearByPile = nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2];
|
||||
if (count _nearByPile == 0) then {
|
||||
_iPos = getPosATL player;
|
||||
_radius = 0.0;
|
||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||
_item setposATL _iPos;
|
||||
_item setPosATL _iPos;
|
||||
} else {
|
||||
_item = _nearByPile select 0;
|
||||
};
|
||||
_item addMagazineCargoGlobal [_itemtodrop,1];
|
||||
};
|
||||
|
||||
if (_invehicle) then {
|
||||
} else {
|
||||
sleep 2;
|
||||
(vehicle player) addMagazineCargoGlobal [_itemtodrop,1];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
//add infection chance for "ItemWaterbottle",
|
||||
|
||||
@@ -48,26 +48,26 @@ if (dayz_lastMeal < 3600) then {
|
||||
};
|
||||
};
|
||||
|
||||
if (_hasoutput && !_invehicle) then {
|
||||
// Selecting output
|
||||
_itemtodrop = food_output select (food_with_output find _itemorignal);
|
||||
if (_hasoutput) then {
|
||||
// Selecting output
|
||||
_itemtodrop = food_output select (food_with_output find _itemorignal);
|
||||
|
||||
sleep 3;
|
||||
_nearByPile= nearestObjects [(getposATL player), ["WeaponHolder","WeaponHolderBase"],2];
|
||||
if (count _nearByPile ==0) then {
|
||||
_iPos = getPosATL player;
|
||||
_radius = 0.0;
|
||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||
_item setposATL _iPos;
|
||||
} else {
|
||||
_item = _nearByPile select 0;
|
||||
};
|
||||
_item addMagazineCargoGlobal [_itemtodrop,1];
|
||||
};
|
||||
|
||||
if (_hasoutput && _invehicle) then {
|
||||
sleep 2;
|
||||
(vehicle player) addMagazineCargoGlobal [_itemtodrop,1];
|
||||
if (!_invehicle) then {
|
||||
sleep 3;
|
||||
_nearByPile = nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2];
|
||||
if (count _nearByPile == 0) then {
|
||||
_iPos = getPosATL player;
|
||||
_radius = 0.0;
|
||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||
_item setPosATL _iPos;
|
||||
} else {
|
||||
_item = _nearByPile select 0;
|
||||
};
|
||||
_item addMagazineCargoGlobal [_itemtodrop,1];
|
||||
} else {
|
||||
sleep 2;
|
||||
(vehicle player) addMagazineCargoGlobal [_itemtodrop,1];
|
||||
};
|
||||
};
|
||||
|
||||
if (_rawfood && !_rawexceptions && (random 15 < 1)) then {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -11,7 +11,7 @@ lbClear TraderDialogCatList;
|
||||
lbClear TraderDialogItemList;
|
||||
|
||||
TraderCurrentCatIndex = -1;
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
|
||||
TraderCatList = [];
|
||||
{
|
||||
@@ -21,4 +21,4 @@ TraderCatList = [];
|
||||
} count _trader_data;
|
||||
waitUntil { !dialog };
|
||||
TraderCurrentCatIndex = -1;
|
||||
TraderCatList = -1;
|
||||
TraderCatList = [];
|
||||
|
||||
284
SQF/dayz_code/actions/snap_build.sqf
Normal file
284
SQF/dayz_code/actions/snap_build.sqf
Normal file
@@ -0,0 +1,284 @@
|
||||
/*-----------------------------------*/
|
||||
// by Raymix //
|
||||
// July 10 2014 //
|
||||
/*--------------------------------*/
|
||||
|
||||
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;
|
||||
_classname = _this select 3 select 2;
|
||||
_objectHelper = _this select 3 select 3;
|
||||
_selectedAction = _this select 3 select 4;
|
||||
|
||||
//Snap config file
|
||||
_cfg = (configFile >> "SnapBuilding" >> _classname);
|
||||
_whitelist = getArray (_cfg >> "snapTo");
|
||||
_points = getArray (_cfg >> "points");
|
||||
_radius = getNumber (_cfg >> "radius");
|
||||
|
||||
//colors
|
||||
_objColorActive = "#(argb,8,8,3)color(0,0.92,0.06,1,ca)";
|
||||
_objColorInactive = "#(argb,8,8,3)color(0.04,0.84,0.92,0.3,ca)";
|
||||
|
||||
|
||||
fnc_snapActionCleanup = {
|
||||
private ["_s1","_s2","_s3","_cnt"];
|
||||
_s1 = _this select 0;
|
||||
_s2 = _this select 1;
|
||||
_s3 = _this select 2;
|
||||
player removeAction s_player_toggleSnap; s_player_toggleSnap = -1;
|
||||
player removeAction s_player_toggleSnapSelect; s_player_toggleSnapSelect = -1;
|
||||
if (count s_player_toggleSnapSelectPoint != 0) then {{player removeAction _x;} count s_player_toggleSnapSelectPoint; s_player_toggleSnapSelectPoint=[]; snapActions = -1;};
|
||||
if (_s1 > 0) then {
|
||||
s_player_toggleSnap = player addaction [format[("<t color=""#ffffff"">" + ("Snap: %1") +"</t>"),snapActionState],"\z\addons\dayz_code\actions\snap_build.sqf",[snapActionState,_object,_classname,_objectHelper],6,false,true];
|
||||
};
|
||||
if (_s2 > 0) then {
|
||||
s_player_toggleSnapSelect = player addaction [format[("<t color=""#ffffff"">" + ("Snap Point: %1") +"</t>"),snapActionStateSelect],"\z\addons\dayz_code\actions\snap_build.sqf",[snapActionStateSelect,_object,_classname,_objectHelper],5,false,true];
|
||||
};
|
||||
if (_s3 > 0) then {
|
||||
s_player_toggleSnapSelectPoint=[];
|
||||
_cnt = 0;
|
||||
{snapActions = player addaction [format[("<t color=""#ffffff"">" + ("%1)Select: %2") +"</t>"),_cnt,_x select 3],"\z\addons\dayz_code\actions\snap_build.sqf",["Selected",_object,_classname,_objectHelper,_cnt],4,false,false];
|
||||
s_player_toggleSnapSelectPoint set [count s_player_toggleSnapSelectPoint,snapActions];
|
||||
_cnt = _cnt+1;
|
||||
}count _points;
|
||||
};
|
||||
};
|
||||
|
||||
fnc_initSnapPoints = {
|
||||
snapGizmos = [];
|
||||
{
|
||||
_objectSnapGizmo = "Sign_sphere10cm_EP1" createVehicleLocal [0,0,0];
|
||||
_objectSnapGizmo setobjecttexture [0,_objColorInactive];
|
||||
_objectSnapGizmo attachTo [_object,[_x select 0,_x select 1,_x select 2]];
|
||||
snapGizmos set [count snapGizmos,_objectSnapGizmo];
|
||||
} count _points;
|
||||
};
|
||||
|
||||
fnc_initSnapPointsNearby = {
|
||||
_pos = [_object] call FNC_GetPos;
|
||||
_findWhitelisted = []; _pointsNearby = [];
|
||||
_findWhitelisted = nearestObjects [_pos,_whitelist,(_radius + DZE_snapExtraRange)]-[_object];
|
||||
snapGizmosNearby = [];
|
||||
{
|
||||
_nearbyObject = _x;
|
||||
_pointsNearby = getArray (configFile >> "SnapBuilding" >> (typeOf _x) >> "points");
|
||||
{
|
||||
_objectSnapGizmo = "Sign_sphere10cm_EP1" createVehicleLocal [0,0,0];
|
||||
_objectSnapGizmo setobjecttexture [0,_objColorInactive];
|
||||
_objectSnapGizmo setDir (getDir _nearbyObject);
|
||||
_posNearby = _nearbyObject modelToWorld [_x select 0,_x select 1,_x select 2];
|
||||
if (surfaceIsWater _posNearby) then {
|
||||
_objectSnapGizmo setPosASL [(_posNearby) select 0,(_posNearby) select 1,(getPosASL _nearbyObject select 2) + (_x select 2)];
|
||||
} else {
|
||||
_objectSnapGizmo setPosATL _posNearby;
|
||||
};
|
||||
snapGizmosNearby set [count snapGizmosNearby,_objectSnapGizmo];
|
||||
} count _pointsNearby;
|
||||
} forEach _findWhitelisted;
|
||||
};
|
||||
|
||||
fnc_initSnapPointsCleanup = {
|
||||
{detach _x;deleteVehicle _x;}count snapGizmos;snapGizmos=[];
|
||||
{detach _x;deleteVehicle _x;}count snapGizmosNearby;snapGizmosNearby=[];
|
||||
snapActionState = "OFF";
|
||||
};
|
||||
|
||||
fnc_snapDistanceCheck = {
|
||||
while {snapActionState != "OFF"} do {
|
||||
private ["_distClosestPointFound","_distCheck","_distClosest","_distClosestPoint","_testXPos","_testXDir","_distClosestPointFoundPos","_distClosestPointFoundDir","_distClosestAttached","_distCheckAttached","_distClosestAttachedFoundPos"];
|
||||
_distClosestPointFound = objNull; _distCheck = 0; _distClosest = 10; _distClosestPoint = objNull; _testXPos = []; _distClosestPointFoundPos =[]; _distClosestPointFoundDir = 0;
|
||||
{
|
||||
if (_x !=_distClosestPointFound) then {_x setobjecttexture [0,_objColorInactive];};
|
||||
_testXPos = [_x] call FNC_GetPos;
|
||||
_distCheck = _objectHelper distance _testXPos;
|
||||
_distClosestPoint = _x;
|
||||
if (_distCheck < _distClosest) then {
|
||||
_distClosest = _distCheck;
|
||||
_distClosestPointFound setobjecttexture [0,_objColorInactive];
|
||||
_distClosestPointFound = _x;
|
||||
_distClosestPointFound setobjecttexture [0,_objColorActive];
|
||||
};
|
||||
} count snapGizmosNearby;
|
||||
|
||||
if (!isNull _distClosestPointFound) then {
|
||||
if (snapActionStateSelect == "Manual") then {
|
||||
if (helperDetach) then {
|
||||
_onWater = surfaceIsWater position _distClosestPointFound;
|
||||
_distClosestPointFoundDir = getDir _distClosestPointFound;
|
||||
if (_onWater) then {
|
||||
_distClosestPointFoundPos = getPosASL _distClosestPointFound;
|
||||
_objectHelper setPosASL _distClosestPointFoundPos;
|
||||
} else {
|
||||
_distClosestPointFoundPos = getPosATL _distClosestPointFound;
|
||||
_objectHelper setPosATL _distClosestPointFoundPos;
|
||||
};
|
||||
_objectHelper setDir _distClosestPointFoundDir;
|
||||
waitUntil {sleep 0.1; !helperDetach};
|
||||
};
|
||||
} else {
|
||||
_distClosestAttached = objNull; _distCheckAttached = 0; _distClosest = 10; _distClosestAttachedFoundPos = [];
|
||||
{
|
||||
if (_x !=_distClosestAttached) then {_x setobjecttexture [0,_objColorInactive];};
|
||||
_testXPos = [_x] call FNC_GetPos;
|
||||
_distCheckAttached = _distClosestPointFound distance _testXPos;
|
||||
_distClosestPoint = _x;
|
||||
if (_distCheckAttached < _distClosest) then {
|
||||
_distClosest = _distCheckAttached;
|
||||
_distClosestAttached setobjecttexture [0,_objColorInactive];
|
||||
_distClosestAttached = _x;
|
||||
_distClosestAttached setobjecttexture [0,_objColorActive];
|
||||
};
|
||||
} count snapGizmos;
|
||||
|
||||
if (helperDetach) then {
|
||||
_distClosestPointFoundDir = getDir _distClosestPointFound;
|
||||
_onWater = surfaceIsWater position _distClosestPointFound;
|
||||
if (_onWater) then {
|
||||
_distClosestPointFoundPos = getPosASL _distClosestPointFound;
|
||||
_distClosestAttachedFoundPos = getPosASL _distClosestAttached;
|
||||
detach _object;
|
||||
_objectHelper setPosASL _distClosestAttachedFoundPos;
|
||||
_object attachTo [_objectHelper];
|
||||
_objectHelper setPosASL _distClosestPointFoundPos;
|
||||
} else {
|
||||
_distClosestPointFoundPos = getPosATL _distClosestPointFound;
|
||||
_distClosestAttachedFoundPos = getPosATL _distClosestAttached;
|
||||
detach _object;
|
||||
_objectHelper setPosATL _distClosestAttachedFoundPos;
|
||||
_object attachTo [_objectHelper];
|
||||
_objectHelper setPosATL _distClosestPointFoundPos;
|
||||
};
|
||||
_objectHelper setDir _distClosestPointFoundDir;
|
||||
waitUntil {sleep 0.1; !helperDetach};
|
||||
};
|
||||
};
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
};
|
||||
|
||||
fnc_initSnapTutorial = {
|
||||
/*
|
||||
Shows help dialog for player ONCE per log in, explaining controls.
|
||||
Add snapTutorial = false; to your init.sqf to disable this tutorial completely.
|
||||
You can also add this bool to the end of this function to only show tutorial once per player login (not recommended)
|
||||
*/
|
||||
private ["_bldTxtSwitch","_bldTxtEnable","_bldTxtClrO","_bldTxtClrW","_bldTxtClrR","_bldTxtClrG","_bldTxtSz","_bldTxtSzT","_bldTxtShdw","_bldTxtAlgnL","_bldTxtUndrln","_bldTxtBold","_bldTxtFinal","_bldTxtStringTitle","_bldTxtStringSD","_bldTxtStringSE","_bldTxtStringSA","_bldTxtStringSM","_bldTxtStringPG","_bldTxtStringAPG","_bldTxtStringCPG","_bldTxtStringQE","_bldTxtStringQEF","_bldTxtStringFD","_bldTxtStringFS"];
|
||||
if (isNil "snapTutorial") then {
|
||||
_bldTxtSwitch = _this select 0;
|
||||
_bldTxtEnable = _this select 1;
|
||||
_bldTxtClrO = "color='#ff8800'"; //orange
|
||||
_bldTxtClrW = "color='#ffffff'"; //white
|
||||
_bldTxtClrR = "color='#fd0a05'"; //red
|
||||
_bldTxtClrG = "color='#11ef00'"; //green
|
||||
_bldTxtSz = "size='0.76'"; //Title font size
|
||||
_bldTxtSzT = "size='0.4'"; //Text font size
|
||||
_bldTxtShdw = "shadow='1'"; //Font shadow
|
||||
_bldTxtAlgnL = "align='left'"; //Text align left
|
||||
_bldTxtUndrln = "underline='true'";
|
||||
_bldTxtBold = "font='Zeppelin33'"; //Bold text
|
||||
_bldTxtFinal = "";
|
||||
|
||||
//Delete on init
|
||||
800 cutRsc ["Default", "PLAIN"];
|
||||
sleep 0.1;
|
||||
|
||||
//Init Tutorial text
|
||||
if (_bldTxtEnable) then {
|
||||
_bldTxtStringTitle = format ["<t %1%2%3%4%6>Epoch<t %5%7> Snap Building</t></t><br />",_bldTxtClrW,_bldTxtSz,_bldTxtShdw,_bldTxtAlgnL,_bldTxtClrO,_bldTxtUndrln,_bldTxtBold];
|
||||
_bldTxtStringSD = format["<t %1%4%5%6>[Snap]<t %2> Disabled:</t> <t %3>use action menu to enable.</t></t><br /><br />",_bldTxtClrO,_bldTxtClrR,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringSE = format["<t %1%4%5%6>[Snap]<t %2> Enabled:</t> <t %3>use action menu to disable.</t></t><br /><br />",_bldTxtClrO,_bldTxtClrG,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringSA = format["<t %1%3%4%5>[Auto]<t %2>: Automatic snap point detection.</t></t><br /><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringSM = format["<t %1%3%4%5>[Manual]<t %2>: Select your preferred snap point.</t></t><br /><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringPG = format["<t %1%3%4%5>[PgUP / PgDOWN]<t %2>: Adjust height of object by 10cm</t></t><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringAPG = format["<t %1%3%4%5>[Alt]+[PgUP / PgDOWN]<t %2>: Adjust height of object by 1m</t></t><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringCPG = format["<t %1%3%4%5>[Ctrl]+[PgUP / PgDOWN]<t %2>: Adjust height of object by 1cm</t></t><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringQE = format["<t %1%3%4%5>[Q / E]<t %2>: Rotate object 180 degrees while holding.</t></t><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringQEF = format["<t %1%3%4%5>[Q / E]<t %2>: Rotate object 45 degrees while dropped or snapped.</t></t><br /><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringFD = format["<t %1%3%4%5>[F]<t %2>: Drop / Pick up object.</t></t><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
_bldTxtStringFS = format["<t %1%3%4%5>[F]<t %2>: Snap /Pick up object.</t></t><br />",_bldTxtClrO,_bldTxtClrW,_bldTxtSzT,_bldTxtShdw,_bldTxtAlgnL];
|
||||
switch (_bldTxtSwitch) do {
|
||||
case "init": {
|
||||
_bldTxtFinal = _bldTxtStringTitle + _bldTxtStringSD + _bldTxtStringPG + _bldTxtStringAPG + _bldTxtStringCPG + _bldTxtStringQE + _bldTxtStringQEF + _bldTxtStringFD;
|
||||
};
|
||||
case "OnAuto": {
|
||||
_bldTxtFinal = _bldTxtStringTitle + _bldTxtStringSE + _bldTxtStringSA + _bldTxtStringPG + _bldTxtStringAPG + _bldTxtStringCPG + _bldTxtStringQE + _bldTxtStringQEF + _bldTxtStringFS;
|
||||
};
|
||||
case "manual": {
|
||||
_bldTxtFinal = _bldTxtStringTitle + _bldTxtStringSE + _bldTxtStringSM + _bldTxtStringPG + _bldTxtStringAPG + _bldTxtStringCPG + _bldTxtStringQE + _bldTxtStringQEF + _bldTxtStringFS;
|
||||
};
|
||||
};
|
||||
|
||||
[
|
||||
_bldTxtFinal, //structured text
|
||||
0.73 * safezoneW + safezoneX, //number - x
|
||||
0.65 * safezoneH + safezoneY, //number - y
|
||||
30, //number - duration
|
||||
1, // number - fade in time
|
||||
0, // number - delta y
|
||||
800 //number - layer ID
|
||||
] spawn bis_fnc_dynamicText;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
switch (snapActionState) do {
|
||||
case "Init": {
|
||||
["init",true] call fnc_initSnapTutorial;
|
||||
snapActionState = "OFF";
|
||||
[1,0,0] call fnc_snapActionCleanup;
|
||||
[] spawn {
|
||||
while {true} do {
|
||||
if(!DZE_ActionInProgress || DZE_cancelBuilding) exitWith {call fnc_initSnapPointsCleanup;[0,0,0] call fnc_snapActionCleanup; ["",false] call fnc_initSnapTutorial; snapActionState = "OFF";};
|
||||
sleep 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
case "OFF": {
|
||||
["OnAuto",true] call fnc_initSnapTutorial;
|
||||
snapActionState = "ON"; snapActionStateSelect = "Auto";
|
||||
[1,1,0] call fnc_snapActionCleanup;
|
||||
call fnc_initSnapPoints;
|
||||
call fnc_initSnapPointsNearby;
|
||||
sleep 0.25;
|
||||
call fnc_snapDistanceCheck;
|
||||
};
|
||||
|
||||
case "ON": {
|
||||
["init",true] call fnc_initSnapTutorial;
|
||||
snapActionState = "OFF";
|
||||
[1,0,0] call fnc_snapActionCleanup;
|
||||
call fnc_initSnapPointsCleanup;
|
||||
};
|
||||
|
||||
case "Auto": {
|
||||
["manual",true] call fnc_initSnapTutorial;
|
||||
snapActionState = "ON";snapActionStateSelect = "Manual";
|
||||
[1,1,1] call fnc_snapActionCleanup;
|
||||
};
|
||||
|
||||
case "Manual": {
|
||||
["OnAuto",true] call fnc_initSnapTutorial;
|
||||
snapActionState = "ON";snapActionStateSelect = "Auto";
|
||||
[1,1,0] call fnc_snapActionCleanup;
|
||||
};
|
||||
|
||||
case "Selected": { _cnt = 0; _newPos = [];
|
||||
{
|
||||
_x setobjecttexture [0,_objColorInactive];
|
||||
if (_cnt == _selectedAction) then {
|
||||
_newPos = [(getPosATL _x select 0),(getPosATL _x select 1),(getPosATL _x select 2)];
|
||||
detach _object;
|
||||
detach _objectHelper;
|
||||
_objectHelper setDir (getDir _object);
|
||||
_objectHelper setPosATL _newPos;
|
||||
_object attachTo [_objectHelper];
|
||||
_x setobjecttexture [0,_objColorActive];
|
||||
if (!helperDetach) then {_objectHelper attachTo [player]; _objectHelper setDir ((getDir _objectHelper)-(getDir player));};
|
||||
};
|
||||
_cnt = _cnt+1;
|
||||
}count snapGizmos;
|
||||
};
|
||||
};
|
||||
@@ -4,7 +4,7 @@ private ["_part_out","_part_in","_qty_out","_qty_in","_textPartIn","_textPartOut
|
||||
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
|
||||
DZE_ActionInProgress = true;
|
||||
|
||||
//_activatingPlayer = getPlayerUID player;
|
||||
//_activatingPlayer = [player] call FNC_GetPlayerUID;
|
||||
|
||||
_part_out = (_this select 3) select 0;
|
||||
_part_in = (_this select 3) select 1;
|
||||
|
||||
@@ -40,7 +40,7 @@ if(_buy_o_sell == "sell") then {
|
||||
} else {
|
||||
|
||||
// buying item type must NOT exist if rifle || pistol
|
||||
_msg = "Drop || sell your current weapon before you can buy a new one.";
|
||||
_msg = "Drop or sell your current weapon before you can buy a new one.";
|
||||
_config = (configFile >> "CfgWeapons" >> _part_out);
|
||||
_configName = configName(_config);
|
||||
_wepType = getNumber(_config >> "Type");
|
||||
@@ -64,7 +64,7 @@ if(_buy_o_sell == "sell") then {
|
||||
};
|
||||
if(_isToolBelt || _isBinocs) then {
|
||||
_abort = (_configName in (weapons player));
|
||||
_msg = "Drop || sell your current toolbelt item before you can buy a new one.";
|
||||
_msg = "Drop or sell your current toolbelt item before you can buy a new one.";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -40,7 +40,7 @@ if (_inVehicle) then {
|
||||
};
|
||||
//allow switch to cargo
|
||||
if (((_assignedRole select 0) != "cargo") && ((_vehicle emptyPositions "Cargo") > 0)) then {
|
||||
_action = _vehicle addAction [localize "STR_EPOCH_PLAYER_309", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToCargo",_driver], -0, false, true];
|
||||
_action = _vehicle addAction [localize "STR_EPOCH_PLAYER_309", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToCargo",_driver], 0, false, true];
|
||||
r_player_actions2 set [count r_player_actions2,_action];
|
||||
r_action2 = true;
|
||||
};
|
||||
@@ -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);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_cTarget","_isOk","_display","_inVehicle"];
|
||||
private ["_cTarget","_isOk","_Dis","_display","_inVehicle"];
|
||||
disableSerialization;
|
||||
_display = (_this select 0);
|
||||
_inVehicle = (vehicle player) != player;
|
||||
@@ -13,8 +13,8 @@ _isOk = false;
|
||||
_isOk = _cTarget isKindOf _x;
|
||||
};
|
||||
} count ["LandVehicle","Air", "Ship"];
|
||||
|
||||
if((locked _cTarget) && _isOk && (((vehicle player) distance _cTarget) < 12)) then {
|
||||
_Dis = if (_cTarget isKindOf "USEC_ch53_E" || _cTarget isKindOf "MV22") then {25} else {12};
|
||||
if((locked _cTarget) && _isOk && (((vehicle player) distance _cTarget) < _Dis)) then {
|
||||
cutText [(localize "str_epoch_player_7") , "PLAIN DOWN"];
|
||||
_display closeDisplay 1;
|
||||
};
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -39,11 +39,10 @@ if (count _this > 4) then {
|
||||
};
|
||||
|
||||
_isWoman = getText(configFile >> "cfgVehicles" >> (typeOf _unit) >> "TextPlural") == "Women";
|
||||
if (_isWoman && (_type in ["scream","panic"])) then {
|
||||
if (_isWoman && (_type in ["scream","panic","cough"])) then {
|
||||
_type = _type + "_w";
|
||||
};
|
||||
|
||||
|
||||
if ((round(random _chance) == _chance) || (_chance == 0)) then {
|
||||
_rnd =(round(random _num));
|
||||
_sound = "z_" + _type + "_" + str(_rnd);
|
||||
@@ -52,4 +51,4 @@ if ((round(random _chance) == _chance) || (_chance == 0)) then {
|
||||
} else {
|
||||
[nil,_unit,rSAY,[_sound, _dis]] call RE;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,51 +1,45 @@
|
||||
|
||||
private ["_list","_animalssupported","_type","_root","_favouritezones","_randrefpoint","_PosList","_PosSelect","_Pos","_agent","_id"];
|
||||
_list = getposATL player nearEntities [["CAAnimalBase"],dayz_animalDistance];
|
||||
|
||||
if (count _list < dayz_maxAnimals) then {
|
||||
//Find where animal likes
|
||||
private ["_animalssupported","_type","_agent","_favouritezones","_randrefpoint","_PosList","_PosSelect","_Pos","_list"];
|
||||
_list = (getposATL player) nearEntities [["CAAnimalBase"],dayz_animalDistance];
|
||||
if ((count _list) < dayz_maxAnimals) then {
|
||||
_animalssupported = ["Chicken","Cow","Sheep","WildBoar","WildBoar","WildBoar","Goat","Rabbit","Rabbit","Dog"];
|
||||
|
||||
_type = (_animalssupported select floor(random(count _animalssupported)));
|
||||
if (_type == "Cow") then {
|
||||
_animalssupported = ["Cow01","Cow02","Cow03","Cow04","Cow01_EP1"];
|
||||
_type = (_animalssupported select floor(random(count _animalssupported)));
|
||||
_type = (_animalssupported select (floor(random(count _animalssupported))));
|
||||
Switch (_type) do {
|
||||
case "Cow" : {
|
||||
_animalssupported = ["Cow01","Cow02","Cow03","Cow04","Cow01_EP1"];
|
||||
_type = (_animalssupported select (floor(random(count _animalssupported))));
|
||||
};
|
||||
case "Goat" : {
|
||||
_animalssupported = ["Goat01_EP1","Goat02_EP1","Goat"];
|
||||
_type = (_animalssupported select (floor(random(count _animalssupported))));
|
||||
};
|
||||
case "Sheep" : {
|
||||
_animalssupported = ["Sheep","Sheep02_EP1","Sheep01_EP1"];
|
||||
_type = (_animalssupported select (floor(random(count _animalssupported))));
|
||||
};
|
||||
case "Chicken" : {
|
||||
_animalssupported = ["Hen","Cock"];
|
||||
_type = (_animalssupported select (floor(random(count _animalssupported))));
|
||||
};
|
||||
case "Dog" : {
|
||||
_animalssupported = ["DZ_Fin","DZ_Pastor"];
|
||||
_type = (_animalssupported select (floor(random(count _animalssupported))));
|
||||
};
|
||||
};
|
||||
if (_type == "Goat") then {
|
||||
_animalssupported = ["Goat01_EP1","Goat02_EP1","Goat"];
|
||||
_type = (_animalssupported select floor(random(count _animalssupported)));
|
||||
};
|
||||
if (_type == "Sheep") then {
|
||||
_animalssupported = ["Sheep","Sheep02_EP1","Sheep01_EP1"];
|
||||
_type = (_animalssupported select floor(random(count _animalssupported)));
|
||||
};
|
||||
if (_type == "Chicken") then {
|
||||
_animalssupported = ["Hen","Cock"];
|
||||
_type = (_animalssupported select floor(random(count _animalssupported)));
|
||||
};
|
||||
if (_type == "Dog") then {
|
||||
_animalssupported = ["DZ_Fin","DZ_Pastor"];
|
||||
_type = (_animalssupported select floor(random(count _animalssupported)));
|
||||
};
|
||||
|
||||
_root = configFile >> "CfgVehicles" >> _type;
|
||||
_favouritezones = getText ( _root >> "favouritezones");
|
||||
//_randrefpoint = [position player, 10, dayz_animalDistance, 1, 0, 50, 0] call BIS_fnc_findSafePos;
|
||||
_favouritezones = getText (configFile >> "CfgVehicles" >> _type >> "favouritezones");
|
||||
_randrefpoint = getposATL player;
|
||||
_PosList = selectbestplaces [_randrefpoint,dayz_animalDistance,_favouritezones,10,5];
|
||||
_PosSelect = _PosList select (floor random (count _PosList));
|
||||
_PosList = selectBestPlaces [_randrefpoint,dayz_animalDistance,_favouritezones,10,5];
|
||||
_PosSelect = _PosList select (floor(random(count _PosList)));
|
||||
_Pos = _PosSelect select 0;
|
||||
_list = _Pos nearEntities [["CAAnimalBase","Man"],50];
|
||||
|
||||
|
||||
if (player distance _Pos < dayz_animalDistance && NOT surfaceIsWater _Pos && (count _list <= 1)) then {
|
||||
if (((player distance _Pos) < dayz_animalDistance) && {!(surfaceIsWater _Pos)} && {(count _list) <= 1}) then {
|
||||
if (_type == "DZ_Pastor") then { _agent = createAgent [_type, _Pos, [], 0, "NONE"]; } else { _agent = createAgent [_type, _Pos, [], 0, "FORM"]; };
|
||||
_agent setpos _Pos;
|
||||
|
||||
sleep 0.001;
|
||||
_agent setPos _Pos;
|
||||
_id = [_pos,_agent] execFSM "\z\addons\dayz_code\system\animal_agent.fsm";
|
||||
PVDZE_zed_Spawn = [_agent];
|
||||
publicVariableServer "PVDZE_zed_Spawn";
|
||||
|
||||
_id = [_pos,_agent] execFSM "\z\addons\dayz_code\system\animal_agent.fsm";
|
||||
};
|
||||
sleep 1;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@ if (dialog) then {closeDialog 0;};
|
||||
if (visibleMap) then {openMap false;};
|
||||
|
||||
_body = player;
|
||||
_playerID = getPlayerUID player;
|
||||
_playerID = [player] call FNC_GetPlayerUID;
|
||||
|
||||
disableUserInput true;
|
||||
//add weapon on back to player...
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
private ["_objects"];
|
||||
_objects = nearestObjects [getPosATL player, dayz_updateObjects, 10];
|
||||
_objects = nearestObjects [player, dayz_updateObjects, 10];
|
||||
{
|
||||
//["PVDZE_veh_Update",[_x,"gear"]] call callRpcProcedure;
|
||||
PVDZE_veh_Update = [_x,"gear"];
|
||||
|
||||
@@ -22,7 +22,7 @@ EpochDeathBoardLoad = {
|
||||
];*/
|
||||
{
|
||||
lbAdd [EpochDeathBoardDialogList, (_x select 0)];
|
||||
} count PVDZE_plr_DeathBResult;
|
||||
} forEach PVDZE_plr_DeathBResult;
|
||||
};
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ EpochDeathBoardClick = {
|
||||
"What happens if you get scared half to death, twice?",
|
||||
"Don't upset me.. I'm running out of places to hide the bodies.",
|
||||
"Don't run, you'll just die tired.",
|
||||
"Give me immortality || give me death.",
|
||||
"Give me immortality or give me death.",
|
||||
"I can't live with death; he's always leaving the toilet seat up.",
|
||||
"Why won't you die?!?!",
|
||||
"Guns don't kill people; death kills people. It's a proven medical fact."
|
||||
@@ -77,5 +77,7 @@ EpochDeathBoardClick = {
|
||||
_record_stxt = format["%1<t font='Bitstream'>%2</t>", _record_stxt, (_quotes call BIS_fnc_selectRandom)];
|
||||
call compile format["epoch_death_board_record_%1 = ""%2"";" ,_i , _record_stxt];
|
||||
};
|
||||
_output ctrlSetStructuredText parseText _record_stxt;
|
||||
if (!isNil "_record_stxt") then {
|
||||
_output ctrlSetStructuredText (parseText _record_stxt);
|
||||
};
|
||||
};
|
||||
@@ -31,7 +31,7 @@ while {!isNull _display} do {
|
||||
cutText [localize "str_abort_playerclose", "PLAIN DOWN"];
|
||||
_sleep = 1;
|
||||
};
|
||||
case (!r_player_dead && !canbuild) : {
|
||||
case (!r_player_dead && isInTraderCity) : {
|
||||
_btnAbort ctrlEnable false;
|
||||
cutText [(localize "str_epoch_player_12"), "PLAIN DOWN"];
|
||||
_sleep = 1;
|
||||
|
||||
@@ -150,4 +150,4 @@ if (_nearbyCount < 1) exitwith
|
||||
};
|
||||
};
|
||||
};
|
||||
} count _nearby;
|
||||
} forEach _nearby;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee"];
|
||||
|
||||
private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee","_oldGroup"];
|
||||
if (gear_done) then {disableUserInput true;};
|
||||
_class = _this;
|
||||
_position = getPosATL player;
|
||||
_dir = getDir player;
|
||||
_currentAnim = animationState player;
|
||||
_tagSetting = player getVariable["DZE_display_name",false];
|
||||
_playerUID = getPlayerUID player;
|
||||
_playerUID = [player] call FNC_GetPlayerUID;
|
||||
_weapons = weapons player;
|
||||
_countMags = call player_countMagazines;
|
||||
_magazines = _countMags select 0;
|
||||
@@ -16,11 +16,11 @@ _primweapon = primaryWeapon player;
|
||||
_secweapon = secondaryWeapon player;
|
||||
|
||||
if(!(_primweapon in _weapons) && _primweapon != "") then {
|
||||
_weapons = _weapons + [_primweapon];
|
||||
_weapons set [(count _weapons), _primweapon];
|
||||
};
|
||||
|
||||
if(!(_secweapon in _weapons) && _secweapon != "") then {
|
||||
_weapons = _weapons + [_secweapon];
|
||||
_weapons set [(count _weapons), _secweapon];
|
||||
};
|
||||
|
||||
//BackUp Backpack
|
||||
@@ -43,6 +43,7 @@ player setPosATL dayz_spawnPos;
|
||||
|
||||
//BackUp Player Object
|
||||
_oldUnit = player;
|
||||
_oldGroup = group player;
|
||||
|
||||
/**********************************/
|
||||
//DONT USE player AFTER THIS POINT//
|
||||
@@ -110,6 +111,7 @@ _switchUnit = {
|
||||
removeAllWeapons _oldUnit;
|
||||
{_oldUnit removeMagazine _x;} count magazines _oldUnit;
|
||||
deleteVehicle _oldUnit;
|
||||
if (count units _oldGroup < 1) then {deleteGroup _oldGroup;};
|
||||
if(_currentWpn != "") then {_newUnit selectWeapon _currentWpn;};
|
||||
};
|
||||
//Add && Fill BackPack
|
||||
@@ -127,10 +129,16 @@ if (!isNil "_newBackpackType") then {
|
||||
[] call _switchUnit;
|
||||
if (gear_done) then {sleep 0.001;};
|
||||
["1"] call gearDialog_create;
|
||||
if (gear_done) then {sleep 0.001;};
|
||||
//magazines
|
||||
_countr = 0;
|
||||
{
|
||||
if (!(isClass(configFile >> "CfgWeapons" >> _x))) then {
|
||||
if ((typeName _x) != "STRING") then {
|
||||
_isWeapon = (isClass(configFile >> "CfgWeapons" >> (_x select 0)));
|
||||
} else {
|
||||
_isWeapon = (isClass(configFile >> "CfgWeapons" >> _x));
|
||||
};
|
||||
if (!_isWeapon) then {
|
||||
_countr = _countr + 1;
|
||||
if ((typeName _x) != "STRING") then {
|
||||
(unitBackpack player) addMagazineCargoGlobal [(_x select 0), 1];
|
||||
@@ -142,6 +150,7 @@ if (!isNil "_newBackpackType") then {
|
||||
};
|
||||
} count _backpackMag;
|
||||
(findDisplay 106) closeDisplay 0;
|
||||
if (gear_done) then {sleep 0.001; disableUserInput false;};
|
||||
_countr = 0;
|
||||
{
|
||||
(unitBackpack player) addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
|
||||
@@ -151,24 +160,14 @@ if (!isNil "_newBackpackType") then {
|
||||
} else { [] call _switchUnit; };
|
||||
[objNull, player, rSwitchMove,_currentAnim] call RE;
|
||||
player disableConversation true;
|
||||
|
||||
//player setVariable ["bodyName",dayz_playerName,true]; //Outcommit (Issue #991) - Also removed in DayZ Mod 1.8
|
||||
|
||||
if (_tagSetting) then {
|
||||
DZE_ForceNameTags = true;
|
||||
};
|
||||
|
||||
_playerUID = getPlayerUID player;
|
||||
_playerObjName = format["PVDZE_player%1",_playerUID];
|
||||
call compile format["%1 = player;",_playerObjName];
|
||||
publicVariableServer _playerObjName; //Outcommit in DayZ 1.8 No clue for what this is - Skaronator
|
||||
|
||||
//melee check
|
||||
_wpnType = primaryWeapon player;
|
||||
_ismelee = (gettext (configFile >> "CfgWeapons" >> _wpnType >> "melee"));
|
||||
if (_ismelee == "true") then {
|
||||
call dayz_meleeMagazineCheck;
|
||||
};
|
||||
|
||||
//reveal the same objects we do on login
|
||||
{player reveal _x} count (nearestObjects [getPosATL player, dayz_reveal, 50]);
|
||||
{player reveal _x} count (nearestObjects [getPosATL player, dayz_reveal, 50]);
|
||||
|
||||
@@ -8,12 +8,12 @@ TraderDialogSellBtn = 12005;
|
||||
TraderDialogCurrency = 12006;
|
||||
|
||||
TraderCurrentCatIndex = -1;
|
||||
TraderCatList = -1;
|
||||
TraderItemList = -1;
|
||||
TraderCatList = [];
|
||||
TraderItemList = [];
|
||||
|
||||
TraderDialogLoadItemList = {
|
||||
private ["_index","_trader_id","_activatingPlayer","_distance","_objclass","_item_list"];
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
_index = _this select 0;
|
||||
|
||||
if (_index < 0) exitWith {};
|
||||
@@ -210,7 +210,7 @@ TraderDialogBuy = {
|
||||
_item = TraderItemList select _index;
|
||||
_data = [_item select 0, _item select 3, 1, _item select 2, "buy", _item select 4, _item select 1, _item select 8];
|
||||
[0, player, '', _data] execVM (_item select 9);
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
};
|
||||
|
||||
TraderDialogSell = {
|
||||
@@ -222,5 +222,5 @@ TraderDialogSell = {
|
||||
_item = TraderItemList select _index;
|
||||
_data = [_item select 6, _item select 0, _item select 5, 1, "sell", _item select 1, _item select 7, _item select 8];
|
||||
[0, player, '', _data] execVM (_item select 9);
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
};
|
||||
|
||||
@@ -8,12 +8,12 @@ TraderDialogSellBtn = 12005;
|
||||
TraderDialogCurrency = 12006;
|
||||
|
||||
TraderCurrentCatIndex = -1;
|
||||
TraderCatList = -1;
|
||||
TraderItemList = -1;
|
||||
TraderCatList = [];
|
||||
TraderItemList = [];
|
||||
|
||||
TraderDialogLoadItemList = {
|
||||
private ["_index","_trader_id","_activatingPlayer","_distance","_objclass","_item_list"];
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
_index = _this select 0;
|
||||
|
||||
if (_index < 0 || TraderCurrentCatIndex == _index) exitWith {};
|
||||
@@ -198,7 +198,7 @@ TraderDialogBuy = {
|
||||
_item = TraderItemList select _index;
|
||||
_data = [_item select 0, _item select 3, 1, _item select 2, "buy", _item select 4, _item select 1, _item select 8];
|
||||
[0, player, '', _data] execVM (_item select 9);
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
};
|
||||
|
||||
TraderDialogSell = {
|
||||
@@ -210,5 +210,5 @@ TraderDialogSell = {
|
||||
_item = TraderItemList select _index;
|
||||
_data = [_item select 6, _item select 0, _item select 5, 1, "sell", _item select 1, _item select 7, _item select 8];
|
||||
[0, player, '', _data] execVM (_item select 9);
|
||||
TraderItemList = -1;
|
||||
TraderItemList = [];
|
||||
};
|
||||
|
||||
@@ -39,7 +39,7 @@ if ((_ownerID == dayz_combination) || (_ownerID == dayz_playerUID)) then {
|
||||
|
||||
// Check if any players are nearby if not allow player to claim item.
|
||||
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
|
||||
_playerID = getPlayerUID player;
|
||||
_playerID = [player] call FNC_GetPlayerUID;
|
||||
|
||||
// Only allow if not already claimed.
|
||||
if (_claimedBy == "0" || !_playerNear) then {
|
||||
|
||||
@@ -1,6 +1,139 @@
|
||||
private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"];
|
||||
private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_combattimeout","_timeleft"];
|
||||
disableSerialization;
|
||||
if(Dayz_Dark_UI) then {
|
||||
|
||||
_foodVal = (dayz_hunger / SleepFood);
|
||||
_thirstVal = (dayz_thirst / SleepWater);
|
||||
|
||||
if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith {
|
||||
_array = [_foodVal,_thirstVal];
|
||||
_array
|
||||
};
|
||||
|
||||
if(dayz_combat == 1) then {
|
||||
_combattimeout = player getVariable["combattimeout",0];
|
||||
_timeleft = _combattimeout - time;
|
||||
_combatVal = (_timeleft/30);
|
||||
}
|
||||
else {
|
||||
_combatVal = 0;
|
||||
};
|
||||
|
||||
|
||||
_tempVal = ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
|
||||
_audible = (dayz_disAudial / 50);
|
||||
_visual = (dayz_disVisual / 100);
|
||||
_bloodVal = r_player_blood / r_player_bloodTotal;
|
||||
|
||||
_display = uiNamespace getVariable 'DAYZ_GUI_display';
|
||||
|
||||
_ctrlBlood = _display displayCtrl 1300;
|
||||
_ctrlBleed = _display displayCtrl 1303;
|
||||
_ctrlFood = _display displayCtrl 1301;
|
||||
_ctrlThirst = _display displayCtrl 1302;
|
||||
_ctrlTemp = _display displayCtrl 1306; //TeeChange
|
||||
_ctrlEar = _display displayCtrl 1304;
|
||||
_ctrlEye = _display displayCtrl 1305;
|
||||
//_ctrlHumanity = _display displayCtrl 1207;
|
||||
_ctrlCombat = _display displayCtrl 1307;
|
||||
_ctrlFracture = _display displayCtrl 1203;
|
||||
|
||||
//Food/Water/Blood
|
||||
_ctrlBlood ctrlSetTextColor [(1 - _bloodVal),(1 - _bloodVal),(1 - _bloodVal), 0.5];
|
||||
_ctrlFood ctrlSetTextColor [ _foodVal,_foodVal,_foodVal, 0.5];
|
||||
_ctrlThirst ctrlSetTextColor [ _thirstVal, _thirstVal, _thirstVal, 0.5];
|
||||
_ctrlTemp ctrlSetTextColor [(1 - _tempVal),(1 - _tempVal), (1 - _tempVal), 0.5]; // Color ranges from iceblue (cold) to red (hot)
|
||||
_ctrlCombat ctrlSetTextColor [ _combatVal, _combatVal, _combatVal, 0.5];
|
||||
_ctrlEye ctrlSetTextColor [ _visual, _visual, _visual, 0.5];
|
||||
_ctrlEar ctrlSetTextColor [ _audible, _audible, _audible, 0.5];
|
||||
/*
|
||||
Blood: round((r_player_blood / 2) / 1000) = _bloodLvl (6 = full, 1 = empty)
|
||||
Thirst: round(_thirstVal / 0.25) = _thirstLvl (4 = full, 0 = empty)
|
||||
Hunger: round(_foodVal / 0.25) = _foodLvl (4 = full, 0 = empty)
|
||||
Temp: round(dayz_temperatur) = tempLvl (>= 36 = full <= 28 = empty)
|
||||
*/
|
||||
/*
|
||||
diag_log format["DEBUG: bloodlvl: %1 r_player_blood: %2 bloodval: %3",_bloodLvl, r_player_blood, _bloodVal];
|
||||
diag_log format["DEBUG: thirstlvl: %1 dayz_thirst: %2 thirstval: %3",_thirstLvl, dayz_thirst, _thirstVal];
|
||||
diag_log format["DEBUG: foodlvl: %1 dayz_hunger: %2 foodval: %3",_foodLvl, dayz_hunger, _foodVal];
|
||||
diag_log format["DEBUG: templvl: %1 dayz_temperatur: %2 tempval: %3",_tempLvl, dayz_temperatur, _tempVal];
|
||||
*/
|
||||
|
||||
//left naming conventions the same in case other files are re-introduced at a later time
|
||||
_blood = "\z\addons\dayz_code\gui\status_blood_inside_6_ca.paa";
|
||||
_thirst = "\z\addons\dayz_code\gui\status_thirst_inside_4_ca.paa";
|
||||
_food = "\z\addons\dayz_code\gui\status_food_inside_4_ca.paa";
|
||||
_temp = "\z\addons\dayz_code\gui\status_temp_4_ca.paa";
|
||||
_visualtext = "\z\addons\dayz_code\gui\status_eye_ca.paa";
|
||||
_audibletext = "\z\addons\dayz_code\gui\status_ear_ca.paa";
|
||||
|
||||
_ctrlBlood ctrlSetText _blood;
|
||||
_ctrlThirst ctrlSetText _thirst;
|
||||
_ctrlFood ctrlSetText _food;
|
||||
_ctrlTemp ctrlSetText _temp;
|
||||
_ctrlEye ctrlSetText _visualtext;
|
||||
_ctrlEar ctrlSetText _audibletext;
|
||||
|
||||
/*
|
||||
Fracture:
|
||||
*/
|
||||
if (!canStand player) then {
|
||||
if (!(ctrlShown _ctrlFracture)) then {
|
||||
r_fracture_legs = true;
|
||||
_ctrlFracture ctrlShow true;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
Flashing:
|
||||
*/
|
||||
_ctrl_Array=[];
|
||||
if (_combatVal > 0) then {
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlCombat];
|
||||
}else {
|
||||
_ctrlCombat ctrlShow true;
|
||||
};
|
||||
|
||||
|
||||
if (_bloodVal < 0.4) then {
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlBlood];
|
||||
}else {
|
||||
_ctrlBlood ctrlShow true;
|
||||
};
|
||||
|
||||
|
||||
if (_thirstVal > 0.8) then {
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlThirst];
|
||||
}else {
|
||||
_ctrlThirst ctrlShow true;
|
||||
};
|
||||
|
||||
if (_foodVal > 0.8) then {
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlFood];
|
||||
}else {
|
||||
_ctrlFood ctrlShow true;
|
||||
};
|
||||
|
||||
if (_tempVal < 0.2) then { //TeeChange
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlTemp];
|
||||
} else {
|
||||
_ctrlTemp ctrlShow true;
|
||||
};
|
||||
|
||||
if (r_player_injured) then {
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlBleed];
|
||||
}else {
|
||||
_ctrlBleed ctrlShow false;
|
||||
};
|
||||
|
||||
if((count _ctrl_Array) > 0) then
|
||||
{
|
||||
_ctrl_Array call player_guiControlFlash;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
_foodVal = 1 - (dayz_hunger / SleepFood);
|
||||
_thirstVal = 1 - (dayz_thirst / SleepWater);
|
||||
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
|
||||
@@ -110,30 +243,51 @@ if (!canStand player) then {
|
||||
/*
|
||||
Flashing:
|
||||
*/
|
||||
_ctrl_Array=[];
|
||||
if (_combatVal == 0) then {
|
||||
_ctrlCombat call player_guiControlFlash;
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlCombat];
|
||||
}else {
|
||||
_ctrlCombat ctrlShow true;
|
||||
};
|
||||
|
||||
if (_bloodVal < 0.2) then {
|
||||
_ctrlBlood call player_guiControlFlash;
|
||||
|
||||
if (_bloodVal < 0.4) then {
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlBlood];
|
||||
}else {
|
||||
_ctrlBlood ctrlShow true;
|
||||
};
|
||||
|
||||
|
||||
if (_thirstVal < 0.2) then {
|
||||
_ctrlThirst call player_guiControlFlash;
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlThirst];
|
||||
}else {
|
||||
_ctrlThirst ctrlShow true;
|
||||
};
|
||||
|
||||
if (_foodVal < 0.2) then {
|
||||
_ctrlFood call player_guiControlFlash;
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlFood];
|
||||
}else {
|
||||
_ctrlFood ctrlShow true;
|
||||
};
|
||||
|
||||
if (_tempVal > 0.8) then { //TeeChange
|
||||
_ctrlTemp call player_guiControlFlash;
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlTemp];
|
||||
} else {
|
||||
_ctrlTemp ctrlShow true;
|
||||
};
|
||||
|
||||
if (r_player_injured) then {
|
||||
_ctrlBleed call player_guiControlFlash;
|
||||
_ctrl_Array=_ctrl_Array + [_ctrlBleed];
|
||||
}else {
|
||||
_ctrlBleed ctrlShow false;
|
||||
};
|
||||
|
||||
if((count _ctrl_Array) > 0) then
|
||||
{
|
||||
_ctrl_Array call player_guiControlFlash;
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -64,7 +64,6 @@ switch (_iClass) do
|
||||
case "cfglootweapon":
|
||||
{
|
||||
//Item is sigle, add 1 item from cfgloot
|
||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
||||
|
||||
_itemTypes = [];
|
||||
if (DZE_MissionLootTable) then{
|
||||
@@ -122,4 +121,4 @@ if (!isNull(_item)) then{
|
||||
};
|
||||
};
|
||||
|
||||
_item
|
||||
_item
|
||||
|
||||
@@ -17,7 +17,6 @@ if (isServer) then {
|
||||
PVDZE_veh_Update = [_unit, "killed",_killer];
|
||||
_killerVeh = if (vehicle _killer != _killer) then { format["[KILLER IN VEHICLE %1 OF TYPE %2]", (vehicle _killer), (typeOf (vehicle _killer))]; } else {""};
|
||||
_name = if (alive _killer) then { name _killer; } else { format["OBJECT %1", _killer]; };
|
||||
// diag_log format["DAMAGE: Vehicle %1 (TYPE: %2) Killed by player %3 (UID: %4) %5",_unit, (typeOf _unit), _name, (getPlayerUID _killer), _killerVeh];
|
||||
} else {
|
||||
PVDZE_veh_Update = [_unit, "killed"];
|
||||
};
|
||||
|
||||
@@ -50,11 +50,8 @@ _agent setVariable ["newDest",_newDest];
|
||||
//Add some loot
|
||||
_rnd = random 1;
|
||||
if (_rnd > 0.3) then {
|
||||
if (DZE_MissionLootTable) then {
|
||||
_lootType = getText (missionConfigFile >> "CfgVehicles" >> _type >> "zombieLoot");
|
||||
} else {
|
||||
_lootType = getText (configFile >> "CfgVehicles" >> _type >> "zombieLoot");
|
||||
};
|
||||
|
||||
_lootType = getText (configFile >> "CfgVehicles" >> _type >> "zombieLoot");
|
||||
|
||||
if (DZE_MissionLootTable) then {
|
||||
_lootTypeCfg = getArray (missionConfigFile >> "CfgLoot" >> _lootType);
|
||||
|
||||
@@ -89,9 +89,15 @@ if ((dayz_spawnZombies < _maxControlledZombies) && (dayz_CurrentNearByZombies <
|
||||
_lootType = configFile >> "CfgVehicles" >> _type >> "zombieLoot";
|
||||
if (isText _lootType) then {
|
||||
_array = [];
|
||||
{
|
||||
_array set [count _array, _x select 0]
|
||||
} count getArray (configFile >> "cfgLoot" >> getText(_lootType));
|
||||
if (DZE_MissionLootTable) then {
|
||||
{
|
||||
_array set [count _array, _x select 0]
|
||||
} forEach getArray (missionConfigFile >> "cfgLoot" >> getText(_lootType));
|
||||
} else {
|
||||
{
|
||||
_array set [count _array, _x select 0]
|
||||
} forEach getArray (configFile >> "cfgLoot" >> getText(_lootType));
|
||||
};
|
||||
if (count _array > 0) then {
|
||||
_index = dayz_CLBase find getText(_lootType);
|
||||
_weights = dayz_CLChances select _index;
|
||||
@@ -154,4 +160,4 @@ if ((dayz_spawnZombies < _maxControlledZombies) && (dayz_CurrentNearByZombies <
|
||||
//Start behavior
|
||||
_id = [_position,_agent] execFSM "\z\AddOns\dayz_code\system\zombie_agent.fsm";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -41,7 +41,7 @@ class CfgMods
|
||||
hidePicture = 0;
|
||||
hideName = 0;
|
||||
action = "http://www.dayzepoch.com";
|
||||
version = "1.0.5";
|
||||
version = "1.0.5.2";
|
||||
hiveVersion = 0.96; //0.93
|
||||
};
|
||||
};
|
||||
@@ -97,5 +97,6 @@ class CfgAddons
|
||||
#include "Configs\CfgAmmo.hpp"
|
||||
#include "Configs\CfgLoot\CfgBuildingLoot.hpp"
|
||||
#include "Configs\CfgArma.hpp"
|
||||
#include "Configs\CfgExtra\snappoints.hpp"
|
||||
|
||||
#include "external\R3F_Realism\R3F_Weight\R3F_CfgWeight.h"
|
||||
@@ -35,14 +35,15 @@ if (!isDedicated) then {
|
||||
[["Hedgehog_DZ"], 1,"STR_EPOCH_ACTIONS_14"] call player_removeNearby;
|
||||
};
|
||||
player_removeNet = {
|
||||
[["DesertLargeCamoNet","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ"], 5,"str_epoch_player_8"] call player_removeNearby;
|
||||
[["DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ"], 5,"str_epoch_player_8"] call player_removeNearby;
|
||||
};
|
||||
|
||||
player_login = {
|
||||
private ["_unit","_detail"];
|
||||
private ["_unit","_detail","_PUID"];
|
||||
_unit = _this select 0;
|
||||
_detail = _this select 1;
|
||||
if(_unit == getPlayerUID player) then {
|
||||
_PUID = [player] call FNC_GetPlayerUID;
|
||||
if(_unit == _PUID) then {
|
||||
player setVariable["publish",_detail];
|
||||
};
|
||||
};
|
||||
@@ -98,14 +99,30 @@ 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";
|
||||
player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";
|
||||
player_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_antiWall.sqf";
|
||||
player_deathBoard = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\list_playerDeathsAlt.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";
|
||||
|
||||
@@ -278,15 +295,15 @@ if (!isDedicated) then {
|
||||
};
|
||||
};
|
||||
|
||||
player_guiControlFlash = {
|
||||
private["_control"];
|
||||
_control = _this;
|
||||
if (ctrlShown _control) then {
|
||||
_control ctrlShow false;
|
||||
} else {
|
||||
_control ctrlShow true;
|
||||
};
|
||||
};
|
||||
player_guiControlFlash = {
|
||||
private["_control"];
|
||||
_control = _this;
|
||||
if (ctrlShown (_control select 0)) then {
|
||||
{_x ctrlShow false} foreach _control;
|
||||
} else {
|
||||
{_x ctrlShow true} foreach _control;
|
||||
};
|
||||
};
|
||||
|
||||
gearDialog_create = {
|
||||
private ["_i","_dialog"];
|
||||
@@ -433,7 +450,10 @@ if (!isDedicated) then {
|
||||
|
||||
// 120 sec timeout (12000 * 0.01)
|
||||
while { _timeOut < 12000 } do {
|
||||
if (dayz_clientPreload && dayz_authed) exitWith { diag_log "PLOGIN: Login loop completed!"; };
|
||||
if (dayz_clientPreload && dayz_authed) exitWith {
|
||||
diag_log "PLOGIN: Login loop completed!";
|
||||
endLoadingScreen;
|
||||
};
|
||||
if (!isNil "_display") then {
|
||||
if ( isNull _display ) then {
|
||||
waitUntil { !dialog; };
|
||||
@@ -527,6 +547,22 @@ if (!isDedicated) then {
|
||||
spawn_loot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot.sqf";
|
||||
spawn_loot_small = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot_small.sqf";
|
||||
// player_projectileNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_projectileNear.sqf";
|
||||
FNC_GetPlayerUID = {
|
||||
private ["_object","_version","_PID"];
|
||||
_object = _this select 0;
|
||||
_version = productVersion select 3;
|
||||
if (DayZ_UseSteamID) then {
|
||||
_PID = GetPlayerUID _object;
|
||||
} else {
|
||||
if (_version >= 125548) then {
|
||||
_PID = call (compile "GetPlayerUIDOld _object");
|
||||
} else {
|
||||
_PID = GetPlayerUID _object;
|
||||
diag_log format["Your game version, %1, is less than the required for the old UID system; using Steam ID system instead. Update to 1.63.125548 (or latest steam beta)", _version];
|
||||
};
|
||||
};
|
||||
_PID;
|
||||
};
|
||||
FNC_GetSetPos = { //DO NOT USE IF YOU NEED ANGLE COMPENSATION!!!!
|
||||
private "_pos";
|
||||
_thingy = _this select 0;
|
||||
@@ -613,4 +649,4 @@ if (!isDedicated) then {
|
||||
eh_localCleanup = {};
|
||||
};
|
||||
|
||||
initialized = true;
|
||||
initialized = true;
|
||||
|
||||
@@ -6,12 +6,13 @@ _classname = _this select 2;
|
||||
// Exit if player zombie
|
||||
if(player isKindOf "PZombie_VB") exitWith {};
|
||||
|
||||
_name = getText (configFile >> _type >> _classname >> "displayName");
|
||||
if (!isNull _holder) then {
|
||||
_name = getText(configFile >> _type >> _classname >> "displayName");
|
||||
_actionSet = _holder getVariable["actionSet", false];
|
||||
|
||||
_actionSet = _holder getVariable["actionSet", false];
|
||||
|
||||
if (!_actionSet) then {
|
||||
s_player_holderPickup = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
|
||||
player reveal _holder;
|
||||
_holder setVariable["actionSet", true];
|
||||
if (!_actionSet) then {
|
||||
s_player_holderPickup = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true];
|
||||
player reveal _holder;
|
||||
_holder setVariable["actionSet", true];
|
||||
};
|
||||
};
|
||||
@@ -1,5 +1,7 @@
|
||||
disableSerialization;
|
||||
|
||||
if (isNil "DayZ_UseSteamID") then {
|
||||
DayZ_UseSteamID = true;
|
||||
};
|
||||
//Model Variables
|
||||
Bandit1_DZ = "Bandit1_DZ";
|
||||
Bandit2_DZ = "Bandit2_DZ";
|
||||
@@ -188,6 +190,9 @@ dayz_locationsActive = [];
|
||||
Dayz_GUI_R = 0.38; // 0.7
|
||||
Dayz_GUI_G = 0.63; // -0.63
|
||||
Dayz_GUI_B = 0.26; // -0.26
|
||||
if (isNil "Dayz_Dark_UI") then {
|
||||
Dayz_Dark_UI = false;
|
||||
};
|
||||
|
||||
//Player self-action handles
|
||||
dayz_resetSelfActions = {
|
||||
@@ -204,6 +209,7 @@ dayz_resetSelfActions = {
|
||||
s_player_fillwater2 = -1;
|
||||
s_player_fillfuel = -1;
|
||||
s_player_grabflare = -1;
|
||||
s_player_dropflare = -1;
|
||||
s_player_callzombies = -1;
|
||||
s_player_showname = -1;
|
||||
s_player_debuglootpos = -1;
|
||||
@@ -251,6 +257,10 @@ dayz_resetSelfActions = {
|
||||
s_player_heli_lift = -1;
|
||||
s_player_heli_detach = -1;
|
||||
s_player_lockUnlock_crtl = -1;
|
||||
s_player_toggleSnap = -1;
|
||||
s_player_toggleSnapSelect = -1;
|
||||
s_player_toggleSnapSelectPoint=[];
|
||||
snapActions = -1;
|
||||
};
|
||||
call dayz_resetSelfActions;
|
||||
|
||||
@@ -264,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;
|
||||
@@ -528,6 +542,18 @@ if(isNil "DZE_StaticConstructionCount") then {
|
||||
if (isNil "DZE_selfTransfuse_Values") then {
|
||||
DZE_selfTransfuse_Values = [12000, 15, 300];
|
||||
};
|
||||
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
|
||||
if(isNil "DZE_PlotPole") then {
|
||||
@@ -683,18 +709,24 @@ if(!isDedicated) then {
|
||||
dayz_spawnZombies = 0;
|
||||
dayz_swarmSpawnZombies = 0;
|
||||
//Max local
|
||||
dayz_maxLocalZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
|
||||
//Current NearBy
|
||||
dayz_CurrentNearByZombies = 0;
|
||||
//Max NearBy
|
||||
dayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
|
||||
if (isNil "dayz_maxNearByZombies") then {
|
||||
dayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
|
||||
//Current total
|
||||
};
|
||||
dayz_currentGlobalZombies = 0;
|
||||
//Max global zeds.
|
||||
dayz_maxGlobalZeds = 3000;
|
||||
dayz_spawnDelay = 120;
|
||||
dayz_spawnWait = -120;
|
||||
dayz_lootDelay = 3;
|
||||
if (isNil "dayz_maxGlobalZeds") then {
|
||||
dayz_maxGlobalZeds = 3000;
|
||||
};
|
||||
if (isNil "dayz_spawnDelay") then {
|
||||
dayz_spawnDelay = 120;
|
||||
};
|
||||
dayz_spawnWait = -(dayz_spawnDelay);
|
||||
if (isNil "dayz_lootDelay") then {
|
||||
dayz_lootDelay = 3;
|
||||
};
|
||||
dayz_lootWait = -300;
|
||||
//used to count global zeds around players
|
||||
dayz_CurrentZombies = 0;
|
||||
@@ -770,6 +802,8 @@ if(!isDedicated) then {
|
||||
DZE_5 = false;
|
||||
DZE_4 = false;
|
||||
DZE_6 = false;
|
||||
|
||||
DZE_F = false;
|
||||
|
||||
DZE_cancelBuilding = false;
|
||||
DZE_PZATTACK = false;
|
||||
|
||||
@@ -9,7 +9,11 @@ if (_unit == player) then {
|
||||
_selfTransValues = _this select 1;
|
||||
r_player_blood = r_player_blood + (_selfTransValues select 0);
|
||||
if (r_player_blood > 12000) then {r_player_blood = 12000;};
|
||||
_TransfusionInfection = ((random (_selfTransValues select 1)) < 1);
|
||||
if ((_selfTransValues select 1) < 0) then {
|
||||
_TransfusionInfection = false;
|
||||
} else {
|
||||
_TransfusionInfection = ((random (_selfTransValues select 1)) < 1);
|
||||
};
|
||||
} else {
|
||||
r_player_blood = r_player_bloodTotal;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
@@ -2,14 +2,14 @@
|
||||
Anti-Teleport - Created By Razor / Refactored By Alby & CopyPasted to Epoch by Skaronator
|
||||
*/
|
||||
|
||||
private ["_log","_playerName","_playerUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_acceptableDistance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"];
|
||||
private ["_log","_playerName","_playerUID","_PUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_acceptableDistance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"];
|
||||
|
||||
waitUntil {vehicle player == player};
|
||||
|
||||
[] spawn {
|
||||
private ["_playerName","_playerUID"];
|
||||
_playerName = name player;
|
||||
_playerUID = getPlayerUID player;
|
||||
_playerUID = [player] call FNC_GetPlayerUID;
|
||||
while {1 == 1} do {
|
||||
if (typeName player != "OBJECT") then {
|
||||
PVDZE_atp = format["WARNING typename error for player UID#%1", _playerUID];
|
||||
@@ -24,7 +24,7 @@ waitUntil {vehicle player == player};
|
||||
|
||||
[] spawn {
|
||||
_playerName = name player;
|
||||
_playerUID = getPlayerUID player;
|
||||
_playerUID = [player] call FNC_GetPlayerUID;
|
||||
while {true} do {
|
||||
sleep 5;
|
||||
};
|
||||
@@ -75,7 +75,7 @@ while {1 == 1} do {
|
||||
_distance = _lastpos distance _curpos;
|
||||
_curtime = diag_ticktime;
|
||||
_difftime = _curtime - _lasttime;
|
||||
_acceptableDistance = if (_lastVehicle isKindOf "Plane") then { 15; } else { 10; };
|
||||
_acceptableDistance = if (_lastVehicle isKindOf "Plane") then [{15},{10}];
|
||||
|
||||
if ((_distance > _acceptableDistance) || {(_difftime > 1)}) then {
|
||||
_curheight = (ATLtoASL _curpos) select 2;
|
||||
@@ -93,7 +93,8 @@ while {1 == 1} do {
|
||||
if (_lastVehicle == vehicle player) then {
|
||||
if ((_speed > _topSpeed) && (alive player) && ((driver (vehicle player) == player) || (isNull (driver (vehicle player)))) && (_debug distance _lastpos > 3000) && !((vehicle player == player) && (_curheight < _lastheight) && ((_curheight - _terrainHeight) > 1))) then {
|
||||
(vehicle player) setposATL _lastpos;
|
||||
PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", getPlayerUID player, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player];
|
||||
_PUID = [player] call FNC_GetPlayerUID;
|
||||
PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", _PUID, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player];
|
||||
publicVariableServer "PVDZE_atp";
|
||||
} else {
|
||||
_lastpos = _curpos;
|
||||
|
||||
@@ -20,7 +20,7 @@ item15[] = {"Parse_Login",2,250,-75.000000,500.000000,25.000000,550.000000,0.000
|
||||
item16[] = {"Hive_Bad",4,218,50.000000,500.000000,150.000000,550.000000,10.000000,"Hive" \n "Bad"};
|
||||
item17[] = {"ERROR__Wrong_HIVE",2,250,175.000000,500.000000,275.000000,550.000000,0.000000,"ERROR:" \n "Wrong HIVE" \n "Version"};
|
||||
item18[] = {"Hive_Ok",4,218,-175.000000,550.000000,-75.000000,600.000000,0.000000,"Hive" \n "Ok"};
|
||||
item19[] = {"Phase_One",2,250,-75.000000,600.000000,25.000000,650.000000,0.000000,"Phase One"};
|
||||
item19[] = {"Phase_One",2,4346,-75.000000,600.000000,25.000000,650.000000,0.000000,"Phase One"};
|
||||
item20[] = {"Response",4,218,-175.000000,650.000000,-75.000000,700.000000,0.000000,"Response"};
|
||||
item21[] = {"Phase_Two",2,250,-75.000000,700.000000,25.000000,750.000000,0.000000,"Phase Two"};
|
||||
item22[] = {"Dead_Player",4,218,50.000000,700.000000,150.000000,750.000000,0.000000,"Dead" \n "Player"};
|
||||
@@ -34,7 +34,7 @@ item29[] = {"ERROR__Bad_Versi",2,250,175.000000,800.000000,275.000000,850.000000
|
||||
item30[] = {"Display_Ready",4,218,-175.000000,1050.000000,-75.000000,1100.000000,0.000000,"Display" \n "Ready"};
|
||||
item31[] = {"Preload_Display",2,250,-75.000000,1100.000000,25.000000,1150.000000,0.000000,"Preload" \n "Display"};
|
||||
item32[] = {"Preload_Done",4,218,-175.000000,1150.000000,-75.000000,1200.000000,0.000000,"Preload" \n "Done"};
|
||||
item33[] = {"Initialize",2,4346,-75.000000,1200.000000,25.000000,1250.000000,0.000000,"Initialize"};
|
||||
item33[] = {"Initialize",2,250,-75.000000,1200.000000,25.000000,1250.000000,0.000000,"Initialize"};
|
||||
item34[] = {"Finish",1,250,-75.000000,1300.000000,25.000000,1350.000000,0.000000,"Finish"};
|
||||
item35[] = {"True",8,218,25.000000,1250.000000,125.000000,1300.000000,0.000000,"True"};
|
||||
item36[] = {"Too_Long",4,218,300.000000,150.000000,400.000000,200.000000,0.000000,"Too" \n "Long"};
|
||||
@@ -169,8 +169,8 @@ link85[] = {75,57};
|
||||
link86[] = {76,78};
|
||||
link87[] = {77,76};
|
||||
link88[] = {78,57};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-280.065002,277.754272,1315.142944,920.020874,864,612,1};
|
||||
window[] = {0,-1,-1,-1,-1,966,208,1697,208,1,882};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-648.860474,646.549011,954.039734,36.458042,864,612,1};
|
||||
window[] = {0,-1,-1,-32000,-32000,1018,260,1749,260,1,882};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@@ -408,7 +408,7 @@ class FSM
|
||||
"" \n
|
||||
"progressLoadingScreen 0.3;" \n
|
||||
"" \n
|
||||
"_playerUID = getPlayerUID player;"/*%FSM</STATEINIT""">*/;
|
||||
"_playerUID = [player] call FNC_GetPlayerUID;"/*%FSM</STATEINIT""">*/;
|
||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||
class Links
|
||||
{
|
||||
@@ -638,11 +638,17 @@ class FSM
|
||||
name = "Phase_One";
|
||||
init = /*%FSM<STATEINIT""">*/"if ((!isNil ""DZE_defaultSkin"") && _isNew && (_isInfected == 0)) then {" \n
|
||||
" if (dayz_selectGender == ""Survivor2_DZ"") then {" \n
|
||||
" _rand = floor(random (count (DZE_defaultSkin select 0)));" \n
|
||||
" _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 0) select _rand) >> ""playerModel""); //MALE" \n
|
||||
" _rand = (DZE_defaultSkin select 0) call BIS_fnc_selectRandom;" \n
|
||||
" _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //MALE" \n
|
||||
" if (_model == """") then {" \n
|
||||
" _model = _rand;" \n
|
||||
" };" \n
|
||||
" } else {" \n
|
||||
" _rand = floor(random (count (DZE_defaultSkin select 1)));" \n
|
||||
" _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 1) select _rand) >> ""playerModel""); //FEMALE" \n
|
||||
" _rand = (DZE_defaultSkin select 1) call BIS_fnc_selectRandom;" \n
|
||||
" _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //FEMALE" \n
|
||||
" if (_model == """") then {" \n
|
||||
" _model = _rand;" \n
|
||||
" };" \n
|
||||
" };" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
@@ -1377,7 +1383,7 @@ class FSM
|
||||
priority = 2.000000;
|
||||
to="ERROR__version_c";
|
||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"(_myEpochAnim != ""1.0.5"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.5"") || (_myEpochSfx != ""1.0.5"") || (_myEpochDayZ != ""1.0.5"")"/*%FSM</CONDITION""">*/;
|
||||
condition=/*%FSM<CONDITION""">*/"(_myEpochAnim != ""1.0.5"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.5.2"") || (_myEpochSfx != ""1.0.5"") || (_myEpochDayZ != ""1.0.5"")"/*%FSM</CONDITION""">*/;
|
||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||
};
|
||||
/*%FSM</LINK>*/
|
||||
|
||||
@@ -144,12 +144,12 @@ class Land_HouseB_Tenement: Office {
|
||||
lootPosZombie[] = {{-10.75,5.90088,-19.9095},{-9.99756,5.92529,-19.9095},{-8.12207,5.97852,-19.9095},{-7.31445,6.00879,-19.9095},{5.53882,10.6328,-19.9095},{4.28247,8.729,-19.9095}};
|
||||
lootPosSmall[] = {{-1.7771,4.57861,-19.8245},{-0.338623,4.80322,-19.8245},{-11.0986,-0.365234,-20.3445},{2.38574,5.15869,-20.2245},{14.2202,4.91895,-20.3945},{6.7251,11.6895,-20.3445},{3.2915,-1.90088,-20.3445},{12.9602,10.0479,-20.8045},{13.3726,0.939453,-20.8045}};
|
||||
};
|
||||
class Land_A_Hospital: hospital {
|
||||
lootChance = 0.8;
|
||||
lootPos[] = {{6.34253,-2.0498,-7.34966},{1.20044,-3.17676,-7.34966},{-6.09375,-1.32227,-7.34966},{-12.1106,-1.1416,-7.34966}};
|
||||
lootPosZombie[] = {{-1.05542,-7.77393,-6.57103},{1.37695,-7.51074,-6.57103},{-18.5427,-3.37891,-6.57896},{-1.56226,3.03711,-6.57103},{13.3225,3.51172,-6.57103},{20.2839,-3.38281,-6.58154}};
|
||||
lootPosSmall[] = {{-13.2749,-1.99512,-7.34966},{-11.0256,-2.84473,-6.89966},{-14.729,-1.21484,-7.34966},{-4.55444,-3.34229,-6.35966},{-1.68921,-4.03125,-6.35966},{2.29761,-3.49756,-6.75966},{2.92163,-0.976074,-6.89966},{4.47095,-0.858887,-7.34966},{7.62231,-0.94873,-7.34966},{9.41187,-0.902832,-6.89966},{16.623,-3.96729,-6.89966},{-15.7454,-0.918945,-6.89966}};
|
||||
class land_a_hospital: hospital {
|
||||
lootPos[] = {{17.665,-4.67188,-7.2566},{-20.7139,-1.48047,-7.2566},{-15.6924,8.60889,-7.2566},{-15.6064,1.95557,-6.8266},{-16.2139,2.27051,-7.2566},{-8.68652,4.19189,-3.7576},{14.2441,-3.98535,-3.7576},{21.5693,5.16455,1.19051},{18.3779,2.40869,6.2524},{-15.3359,-1.25439,3.40458},{-20.3252,0.410156,-3.82761}};
|
||||
lootPosZombie[] = {{9.84473,0.953613,-6.3816},{0.540039,1.20801,-6.3816},{-20.7822,1.93555,-6.3816},{-9.54004,8.61279,-6.3816},{15.8838,3.41699,-2.8826},{-8.08691,1.40674,-2.8826},{11.0088,-1.44775,-2.8826}};
|
||||
lootPosSmall[] = {{9.97754,-0.814453,-7.2566},{-19.6143,1.83887,-7.1666},{-19.6055,1.6084,-6.7866},{-19.583,4.91748,-6.7866},{-19.5576,4.7417,-6.0266},{-22.1982,9.59033,-7.2566},{-12.3379,9.53857,-6.8266},{-3.23438,6.01758,-6.8266},{-13.626,3.04248,-6.0466},{2.86426,-1.68604,-6.6466},{-5.58594,1.38232,-3.7576},{-4.05762,-2.48584,-3.7576},{-11.8428,5.15576,-2.5976},{-5.57129,-3.17236,-2.5976},{-5.65332,5.01416,-2.5976},{-12.5439,-2.33838,-3.6876},{-12.5801,-1.32617,-3.3076},{-12.5928,-1.56299,-2.9276},{-12.6162,-2.24805,-2.1676},{-12.5654,2.4126,-2.5476},{14.8721,3.96875,3.66054},{16.9033,-1.33838,4.01669},{21.3174,4.88916,6.2524},{-4.00488,7.89893,-3.82761}};
|
||||
};
|
||||
|
||||
class Land_Panelak: Office {
|
||||
lootPos[] = {{-3.76709,-5.5791,0.0714226},{-6,-5.1709,0.0714226},{-4.86719,-3.30518,0.0714226},{-5.75098,1.51172,0.0714226},{3.95483,-4.83008,2.77144},{4.8728,1.51855,2.77144},{6.07324,-5.4668,2.77144}};
|
||||
lootPosZombie[] = {{0.657227,-3.12109,0.946423},{-2.28564,-6.88281,0.946423},{-6.31055,-5.41943,0.946423},{-4.51709,3.01758,0.946423},{-0.828613,-3.01465,3.64644},{2.23975,-6.20801,3.64644},{6.84961,-4.8125,3.64644},{4.64917,2.84668,3.64644},{4.59229,-2.55957,3.64644}};
|
||||
@@ -257,10 +257,12 @@ class Land_Mil_Barracks_i: MilitarySpecial {
|
||||
class Land_A_TVTower_Base: Industrial {
|
||||
lootPos[] = {{-0.982422,-1.92627,-2.21573},{-2.01782,-4.2417,-2.21918},{-0.759277,1.42139,-2.21573}};
|
||||
};
|
||||
class Land_Mil_House: Military {
|
||||
vehPos[] = {{13.439,3.25244,-5.71244,84}};
|
||||
lootPos[] = {{12.457,1.4248,-5.81439},{11.0391,4.85278,-5.81439},{13.667,4.42139,-5.81439}};
|
||||
class land_mil_house: Military {
|
||||
lootPos[] = {{-14.3345,1.24414,-4.94623},{-7.87842,1.45117,-4.15622},{-7.77686,-5.34277,-0.88623},{-4.43506,-5.33594,-0.88623}};
|
||||
lootPosZombie[] = {{-11.2925,2.85059,-4.03122},{-9.33154,-1.83496,-4.03122},{-10.5005,-4.77051,-0.0112305},{-2.37695,-1.71973,-0.0112305}};
|
||||
lootPosSmall[] = {{-10.4692,4.4082,-4.94623},{-10.3696,1.2627,-4.46622},{-6.47998,4.92871,-4.98621},{-13.3208,-0.803711,-4.98621},{-13.791,-6.27832,-0.88623},{-13.2046,-5.36426,-0.196228},{-9.45166,-6.02832,-0.88623},{-0.253418,-4.12402,-0.88623},{-4.75635,-0.0224609,-0.88623},{-6.02002,-0.0410156,-0.426239},{-2.28857,0.575195,-0.876221}};
|
||||
};
|
||||
|
||||
class Land_Misc_Cargo1Ao: Industrial {
|
||||
lootPos[] = {{0.48877,-1.61377,-1.09224},{0.012207,2.19263,-1.09224},{0.00976563,0.19043,-1.09224}};
|
||||
};
|
||||
@@ -305,8 +307,9 @@ class Land_A_Castle_Gate: Residential {
|
||||
lootPos[] = {{0.244141,-4.48486,-3.14362},{-1.25293,2.98779,-3.07028},{4.50684,-3.31152,-2.94885},{4.55176,3.29834,-2.94858},{7.94824,1.4082,-2.91003}};
|
||||
}; // Qty: 3
|
||||
class Land_Mil_Barracks: Military {
|
||||
lootPos[] = {};
|
||||
lootPosZombie[] = {{9.02515,-0.694336,-1.16602},{9.01538,0.856445,-1.16602}};
|
||||
lootPos[] = {{-0.891113,-3.48926,-1.51633},{-1.09204,2.88672,-1.51633},{-3.55591,3.42871,-1.51633},{-6.31299,3.7041,-1.51633},{-7.68262,-3.54102,-1.93634},{-5.11475,-2.09961,-1.93634},{0.24707,3.57324,-1.93634},{6.72217,-2.47949,-1.93634},{5.41602,3.99316,-1.93634},{-6.34912,3.90137,-0.726349},{-3.58691,2.8252,-0.726349},{-1.04224,3.39941,-0.726349},{-3.75195,-3.25977,-0.726349},{-0.864746,-3.88672,-0.726349},{-3.52563,-2.44824,-1.93634},{-6.06396,2.57422,-1.93634},{-0.935059,-4.05078,-1.93634},{-1.39502,3.89941,-1.93634}};
|
||||
lootPosZombie[] = {{-2.15845,-3.12793,-1.06134},{2.13281,3.24316,-1.06134},{-6.20679,-0.125,-1.06134},{2.09521,-3.36719,-1.06134}};
|
||||
lootPosSmall[] = {{-6.45703,2.03125,-1.79633},{-3.5127,1.98242,-1.79633},{-1.14746,1.9873,-1.79633},{-0.911621,-1.87598,-1.79633},{-3.81567,-1.90234,-1.79633},{-6.5249,-1.86426,-1.79633},{3.78979,-4.17773,-1.13635},{5.32861,-4.19043,-1.13635},{5.20923,-1.99805,-1.65634},{6.54175,-1.99707,-1.65634},{3.82324,-1.96582,-1.65634},{6.89209,2.93457,-1.84634},{6.98877,1.95215,-1.84634},{6.98291,2.23145,-1.46634},{7.00391,2.73438,-1.46634},{6.96729,3.01953,-1.08633},{6.94824,2.04785,-0.706329},{4.36768,3.13086,-0.396332},{3.86768,3.49316,-0.396332},{3.84521,3.49609,-1.86633},{4.33984,3.1748,-1.86633}};
|
||||
}; // Qty: 8
|
||||
class Land_Mil_Barracks_L: Military {
|
||||
lootPos[] = {};
|
||||
@@ -540,28 +543,33 @@ class GraveCrossHelmet: Military {
|
||||
maxRoaming = 4;
|
||||
};
|
||||
|
||||
class Land_HouseV_1L2: Residential {
|
||||
maxRoaming = 3;
|
||||
lootPosZombie[] = {{-2.88257,4.3457,-2.1376},{2.77734,-5.9126,-2.14038}};
|
||||
lootPosSmall[] = {{0.183594,-5.47998,-1.08436}};
|
||||
}; // Qty: 101
|
||||
|
||||
class Land_Misc_PowerStation: Industrial {
|
||||
lootPos[] = {{4.22314,1.09888,-1.2678}};
|
||||
lootPosZombie[] = {{3.88232,-2.35083,-0.393564},{-6.12842,3.4292,-1.1761}};
|
||||
lootPosSmall[] = {{3.67725,4.86694,-1.2576}};
|
||||
class land_housev_1l2: Residential {
|
||||
lootPos[] = {{-2.58887,-4.8584,-0.789368},{-2.58887,-4.8584,-0.789368},{-2.37646,0.373047,-0.799377}};
|
||||
lootPosZombie[] = {{1.88721,-3.35938,0.0856323},{1.88721,-3.35938,0.0856323},{1.68408,-0.298828,0.0856323}};
|
||||
lootPosSmall[] = {{-1.37354,-3.26465,-0.789368},{4.48389,-3.06348,0.0406189},{4.53271,-3.61328,0.590637},{-1.37354,-3.26465,-0.789368},{4.48389,-3.06348,0.0406189},{4.53271,-3.61328,0.590637},{4.29126,-1.02441,0.0606384},{-0.199707,3.28711,-2.9292}};
|
||||
};
|
||||
|
||||
class Land_HouseV_3I3: HouseRoaming{
|
||||
lootPosZombie[] = {{0.915527,3.53455,-1.24826},{4.38135,3.39111,-1.36197}};
|
||||
class land_misc_powerstation: Industrial {
|
||||
lootPos[] = {{2.98767,-5.02051,1.54777},{3.67371,5.62207,-2.04407}};
|
||||
lootPosZombie[] = {{-1.06372,6.63672,-1.11913},{0.224365,-2.4873,-0.377583},{-0.857544,3.08789,-1.11905}};
|
||||
lootPosSmall[] = {{4.92017,6.24707,-1.26179},{1.62573,-6.4541,-1.13445},{1.33667,-6.37207,-0.374413},{-3.20825,-6.50195,0.315748},{-3.84949,-6.2627,-1.16402},{-1.35608,-6.3877,-0.374122},{-0.895142,-6.39453,-0.37413},{2.30383,2.21387,-2.04394},{0.0808105,-0.0566406,-1.204},{1.98657,3.49121,-0.623982}};
|
||||
};
|
||||
|
||||
class Land_Mil_Guardhouse: Military {
|
||||
lootPos[] = {{-2.43457,3.06396,-1.69939},{-2.36816,-0.151855,-1.69939}};
|
||||
lootPosZombie[] = {{-2.56885,0.749512,-0.794393},{5.69531,0.884766,-1.12091}};
|
||||
lootPosSmall[] = {{-2.14746,1.94531,-1.69939}};
|
||||
|
||||
class land_housev_3i3: Residential {
|
||||
lootPos[] = {{-4.2334,0.291992,-1.47064},{1.10059,-2.99854,-0.790649},{3.53027,-2.34033,-1.74265}};
|
||||
lootPosZombie[] = {{-4.18457,-1.68164,-0.525635},{0.419922,-1.00781,-0.525635},{4.35059,-1.37939,-0.98764}};
|
||||
lootPosSmall[] = {{-4.85645,0.550293,-0.340637},{2.21289,0.783691,-0.160645},{-0.833008,0.554199,-0.620636},{1.79785,-2.99902,-1.09064},{5.06055,-2.68164,-1.56265}};
|
||||
};
|
||||
|
||||
|
||||
class land_mil_guardhouse: Military {
|
||||
lootPos[] = {{4.65381,-3.61914,-1.46277},{2.99756,3.54102,-0.712769}};
|
||||
lootPosZombie[] = {{-1.73193,-1.90625,-0.56778},{3.26025,-1.55859,-0.56778}};
|
||||
lootPosSmall[] = {{-0.798828,-3.51758,-1.46277},{3.73047,-3.95996,-1.32278},{-0.283203,-3.15723,-1.32278},{-0.996582,3.81445,-1.14279},{-1.33008,2.26563,-0.762787},{0.289063,3.66211,-0.0827942},{-1.17383,-0.112305,-1.48279}};
|
||||
};
|
||||
|
||||
|
||||
// DAYZ AMP More buildings
|
||||
class Land_Shed_W02_EP1: FarmRoaming{};
|
||||
class Land_MBG_ApartmentsOne_W: HouseRoaming{};
|
||||
@@ -687,10 +695,12 @@ class Land_Mil_Repair_center_EP1: Industrial
|
||||
class Land_Ind_PowerStation_EP1: Industrial {
|
||||
lootPos[] = {{4.04248,-3.4917,-1.26547},{3.8645,3.5249,-1.28112}};
|
||||
};
|
||||
class land_repair_center: Industrial {
|
||||
lootPosZombie[] = {{0.629883,-3.35498,-1.64651},{-2.61719,3.68213,-0.653473}};
|
||||
lootPosSmall[] = {{-2.52832,1.68213,-1.54846}};
|
||||
class land_repair_center: Industrial {
|
||||
lootPos[] = {{0.327148,1.65479,-2.37888},{-2.35547,-0.163574,-1.71927},{-2.41016,4.45654,-1.71927}};
|
||||
lootPosZombie[] = {{0.982422,-0.634277,-1.51389}};
|
||||
lootPosSmall[] = {{1.80469,2.01709,-1.6489},{1.60352,4.57178,-0.862885},{0.771484,4.55713,-0.48288},{1.56348,4.50439,-1.24289}};
|
||||
};
|
||||
|
||||
class Land_Ind_TankBig: Industrial
|
||||
{
|
||||
lootChance = 0.1;
|
||||
@@ -29,4 +29,9 @@ class Category_512 {
|
||||
buy[] = {4,"ItemBriefcase100oz"};
|
||||
sell[] = {1,"ItemBriefcase100oz"};
|
||||
};
|
||||
class CH53_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {3,"ItemBriefcase100oz"};
|
||||
sell[] = {2,"ItemBriefcase100oz"};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
class Category_495 {
|
||||
class hilux1_civil_3_open_EP1 {
|
||||
class hilux1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_3_open {
|
||||
class datsun1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_1_open {
|
||||
class hilux1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_2_covered {
|
||||
class datsun1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_1_open {
|
||||
class datsun1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_2_covered {
|
||||
class hilux1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
class Category_535 {
|
||||
class hilux1_civil_3_open_EP1 {
|
||||
class hilux1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_3_open {
|
||||
class datsun1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_1_open {
|
||||
class hilux1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_2_covered {
|
||||
class datsun1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_1_open {
|
||||
class datsun1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_2_covered {
|
||||
class hilux1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
|
||||
@@ -29,4 +29,9 @@ class Category_493 {
|
||||
buy[] = {2,"ItemBriefcase100oz"};
|
||||
sell[] = {1,"ItemBriefcase100oz"};
|
||||
};
|
||||
class CH53_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {2,"ItemBriefcase100oz"};
|
||||
sell[] = {1,"ItemBriefcase100oz"};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,62 +1,62 @@
|
||||
class Category_659 {
|
||||
class hilux1_civil_3_open_EP1 {
|
||||
class hilux1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_3_open {
|
||||
class datsun1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_1_open {
|
||||
class hilux1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_2_covered {
|
||||
class datsun1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_1_open {
|
||||
class datsun1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_2_covered {
|
||||
class hilux1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
};
|
||||
class Category_590 {
|
||||
class hilux1_civil_3_open_EP1 {
|
||||
class hilux1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_3_open {
|
||||
class datsun1_civil_3_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_1_open {
|
||||
class hilux1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_2_covered {
|
||||
class datsun1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class datsun1_civil_1_open {
|
||||
class datsun1_civil_1_open_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
};
|
||||
class hilux1_civil_2_covered {
|
||||
class hilux1_civil_2_covered_DZE {
|
||||
type = "trade_any_vehicle";
|
||||
buy[] = {8,"ItemGoldBar"};
|
||||
sell[] = {4,"ItemGoldBar"};
|
||||
|
||||
@@ -3,7 +3,7 @@ class CfgPatches {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = 0.1;
|
||||
dayzVersion = "1.0.5";
|
||||
dayzVersion = "1.0.5.2";
|
||||
requiredAddons[] = {"dayz_code"};
|
||||
};
|
||||
};
|
||||
@@ -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>
|
||||
@@ -4804,7 +4804,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 1 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 1 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 1 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_198">
|
||||
<Original>Add 10 10oz Silver</Original>
|
||||
@@ -4814,7 +4814,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 10 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 10 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 10 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_199">
|
||||
<Original>Add 9 10oz Silver</Original>
|
||||
@@ -4824,7 +4824,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 9 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 9 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 9 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_200">
|
||||
<Original>Remove 1 10oz Silver</Original>
|
||||
@@ -4834,7 +4834,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Verwijder 1 10oz Goud</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Odebráno 1 10oz zlato</Czech> -->
|
||||
<Czech>Odebráno 1 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_202">
|
||||
<Original>Add 8 10oz Silver</Original>
|
||||
@@ -4844,7 +4844,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 8 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 8 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 8 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_203">
|
||||
<Original>Add 7 10oz Silver</Original>
|
||||
@@ -4854,7 +4854,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 7 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 7 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 7 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_204">
|
||||
<Original>Add 6 10oz Silver</Original>
|
||||
@@ -4864,7 +4864,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 6 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 6 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 6 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_205">
|
||||
<Original>Add 5 10oz Silver</Original>
|
||||
@@ -4874,7 +4874,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 5 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidáno 5 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 5 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_206">
|
||||
<Original>Add 4 10oz Silver</Original>
|
||||
@@ -4884,7 +4884,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 4 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidat 4 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 4 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_207">
|
||||
<Original>Add 3 10oz Silver</Original>
|
||||
@@ -4894,7 +4894,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 3 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Prodat 3 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 3 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_S_208">
|
||||
<Original>Add 2 10oz Silver</Original>
|
||||
@@ -4904,7 +4904,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch>Voeg 2 10oz Goud toe</Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech>Přidat 2 10oz zlata</Czech> -->
|
||||
<Czech>Přidat 2 10oz stříbra</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_209">
|
||||
<Original>Open %1</Original>
|
||||
@@ -5244,7 +5244,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<Dutch>Creëer houten vloer 1/2</Dutch>
|
||||
<!-- <French></French> -->
|
||||
<Czech>Vytvořit Poloviční dřevěnou podlahu</Czech>
|
||||
<Czech>Vytvořit 1/2 dřevěné podlahy</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_233">
|
||||
<Original>Craft Stair Supports</Original>
|
||||
@@ -5444,7 +5444,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<Czech>Vytvořit Poloviční zeď</Czech>
|
||||
<Czech>Vytvořit 1/2 zdi</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_253">
|
||||
<Original>Craft Garage Doorway</Original>
|
||||
@@ -5994,7 +5994,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Skombinovat cihly</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_307">
|
||||
<Original>Combined all bars in your inventory to highest denomination.</Original>
|
||||
@@ -6004,7 +6004,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Skombinovány cihly ve vašem inventáři na maximum.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_308">
|
||||
<Original>To driver's seat</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>\n\nNemůžete rybařit, když jste v boji.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_PLAYER_REPAIRV">
|
||||
<Original>Repair Vehicle</Original>
|
||||
<English>Repair Vehicle</English>
|
||||
@@ -6214,7 +6224,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Vylepšení zbraně na vozidle</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_VEHUP_ARM_DESC">
|
||||
<Original>Weapon install guide.</Original>
|
||||
@@ -6224,7 +6234,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Návod na instalaci zbraně na vozidlo.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_VEHUP_SUCCESS">
|
||||
<Original>Vehicle Upgrade Successful.</Original>
|
||||
@@ -6764,7 +6774,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<Dutch></Dutch>
|
||||
<French>Vous avez acheté %3 pour %1 %2, la clé a été ajoutée à votre ceinture.</French>
|
||||
<Czech>Koupeno %3 za 1% 2%, klíč byl přidán do opasku na nářadí.</Czech>
|
||||
<Czech>Koupeno %3 za %1 %2, klíč byl přidán do opasku na nářadí.</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_ACTIONS_12">
|
||||
<Original>Missing %1 more of %2</Original>
|
||||
@@ -6874,7 +6884,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Bedna zásob</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC">
|
||||
<Original>12 x Random Item</Original>
|
||||
@@ -6884,7 +6894,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x Náhodných předmětů</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_EMPTY">
|
||||
<Original>Empty Supply Crate</Original>
|
||||
@@ -6894,7 +6904,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Prázdná bedna</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_SODACOKE_HALF">
|
||||
<Original>6 x ItemSodaCoke</Original>
|
||||
@@ -6904,7 +6914,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>6x Soda s kolovou příchutí</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_SODACOKE_FULL">
|
||||
<Original>12 x ItemSodaCoke</Original>
|
||||
@@ -6914,7 +6924,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x Soda s kolovou příchutí</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_SODAPEPSI_HALF">
|
||||
<Original>6 x ItemSodaPepsi</Original>
|
||||
@@ -6924,7 +6934,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>6x Pepsi</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_SODAPEPSI_FULL">
|
||||
<Original>12 x ItemSodaPepsi</Original>
|
||||
@@ -6934,7 +6944,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x Pepsi</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_BACON_HALF">
|
||||
<Original>6 x FoodbaconCooked</Original>
|
||||
@@ -6944,7 +6954,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>6x Vepřové</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_BACON_FULL">
|
||||
<Original>12 x FoodbaconCooked</Original>
|
||||
@@ -6954,7 +6964,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x Vepřové</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_G17">
|
||||
<Original>12 x 17Rnd_9x19_glock17</Original>
|
||||
@@ -6964,7 +6974,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x 17Rnd_9x19_glock17</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_M9SD">
|
||||
<Original>12 x 15Rnd_9x19_M9SD</Original>
|
||||
@@ -6974,7 +6984,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x 15Rnd_9x19_M9SD</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_MP5SD">
|
||||
<Original>12 x 30Rnd_9x19_MP5SD</Original>
|
||||
@@ -6984,7 +6994,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x 30Rnd_9x19_MP5SD</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_SANDBAG">
|
||||
<Original>12 x SandBag</Original>
|
||||
@@ -6994,7 +7004,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12 Pytlů s pískem</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_TANKTRAP_HALF">
|
||||
<Original>6 x Tank Trap</Original>
|
||||
@@ -7004,7 +7014,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>6 Zátaras</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_TANKTRAP_FULL">
|
||||
<Original>12 x Tank Trap</Original>
|
||||
@@ -7014,7 +7024,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12 Zátaras</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_WIREKIT_HALF">
|
||||
<Original>6 x Wire Kit</Original>
|
||||
@@ -7024,7 +7034,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>6 Drátů</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_WIREKIT_FULL">
|
||||
<Original>12 x Wire Kit</Original>
|
||||
@@ -7034,7 +7044,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12 Drátů</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_GENERIC_HALF">
|
||||
<Original>6 x Scrap Metal</Original>
|
||||
@@ -7044,7 +7054,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>6x Železný šrot</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_BULK_DESC_GENERIC_FULL">
|
||||
<Original>12 x Scrap Metal</Original>
|
||||
@@ -7054,7 +7064,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>12x Železný šrot</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_TRADER_ENTER">
|
||||
<Original>Now entering %1</Original>
|
||||
@@ -7064,7 +7074,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Vstoupili jste do %1</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_EPOCH_TRADER_LEAVE">
|
||||
<Original>Now leaving %1</Original>
|
||||
@@ -7074,7 +7084,7 @@
|
||||
<!-- <Spanish></Spanish> -->
|
||||
<!-- <Dutch></Dutch> -->
|
||||
<!-- <French></French> -->
|
||||
<!-- <Czech></Czech> -->
|
||||
<Czech>Opustili jste %1</Czech>
|
||||
</Key>
|
||||
<Key ID="R3F_VERSION_WEIGHTED">
|
||||
<Original>1.04</Original>
|
||||
|
||||
@@ -9,13 +9,17 @@ if ((owner _victim) == (owner _attacker)) exitWith {
|
||||
};
|
||||
|
||||
_weapon = weaponState _attacker;
|
||||
if (_weapon select 0 == "Throw") then
|
||||
{
|
||||
_weapon = _weapon select 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
_weapon = _weapon select 0;
|
||||
if (!isNil "_weapon") then {
|
||||
if (count _weapon != 0) then {
|
||||
if (_weapon select 0 == "Throw") then
|
||||
{
|
||||
_weapon = _weapon select 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
_weapon = _weapon select 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
_vehicle = typeOf (vehicle _attacker);
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
private ["_invehicle","_isplayernearby","_playerObj","_myGroup","_id","_playerUID","_playerName","_characterID","_timeout","_message","_magazines","_playerPos"];
|
||||
private ["_invehicle","_isplayernearby","_playerObj","_myGroup","_PUID","_id","_playerUID","_playerName","_characterID","_timeout","_message","_magazines","_playerPos"];
|
||||
_playerUID = _this select 0;
|
||||
_playerName = _this select 1;
|
||||
_playerObj = nil;
|
||||
_playerPos = [];
|
||||
{
|
||||
if ((getPlayerUID _x) == _playerUID) exitWith {_playerObj = _x;};
|
||||
_PUID = [_x] call FNC_GetPlayerUID;
|
||||
if (_PUID == _playerUID) exitWith {_playerObj = _x;};
|
||||
} count playableUnits;
|
||||
|
||||
if (isNil "_playerObj") then {
|
||||
@@ -17,8 +18,8 @@ if (isNil "_playerObj") then {
|
||||
if (isNil "_playerObj") exitWith {
|
||||
diag_log format["%1: nil player object, _this:%2", __FILE__, _this];
|
||||
};
|
||||
|
||||
diag_log format["get: %1 (%2), sent: %3 (%4)",typeName (getPlayerUID _playerObj), getPlayerUID _playerObj, typeName _playerUID, _playerUID];
|
||||
_PUID = [_playerObj] call FNC_GetPlayerUID;
|
||||
diag_log format["get: %1 (%2), sent: %3 (%4)",typeName _PUID, _PUID, typeName _playerUID, _playerUID];
|
||||
|
||||
if (!isNull _playerObj) then {
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ _isInfected = 0;
|
||||
_model = "";
|
||||
|
||||
if (_playerID == "") then {
|
||||
_playerID = getPlayerUID _playerObj;
|
||||
_playerID = [_playerObj] call FNC_GetPlayerUID;
|
||||
};
|
||||
|
||||
if ((_playerID == "") || (isNil "_playerID")) exitWith {
|
||||
|
||||
@@ -4,7 +4,7 @@ private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state"
|
||||
|
||||
_characterID = _this select 0;
|
||||
_playerObj = _this select 1;
|
||||
_playerID = getPlayerUID _playerObj;
|
||||
_playerID = [_playerObj] call FNC_GetPlayerUID;
|
||||
|
||||
if (isNull _playerObj) exitWith {
|
||||
diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj));
|
||||
@@ -15,7 +15,7 @@ if (isNull _playerObj) exitWith {
|
||||
_playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}];
|
||||
|
||||
if (_playerID == "") then {
|
||||
_playerID = getPlayerUID _playerObj;
|
||||
_playerID = [_playerObj] call FNC_GetPlayerUID;
|
||||
};
|
||||
|
||||
if (_playerID == "") exitWith {
|
||||
@@ -23,7 +23,7 @@ if (_playerID == "") exitWith {
|
||||
};
|
||||
|
||||
private["_dummy"];
|
||||
_dummy = getPlayerUID _playerObj;
|
||||
_dummy = [_playerObj] call FNC_GetPlayerUID;
|
||||
if ( _playerID != _dummy ) then {
|
||||
diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID];
|
||||
_playerID = _dummy;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user