292 Commits

Author SHA1 Message Date
Zupa
7deb504253 [Core] #1662 Initiate beta branch from master 2015-07-01 21:57:17 +02:00
vbawol
f0782d9c89 Merge pull request #1648 from seb3sec/patch-5
Correct output for deconstruction round bagfence
2015-04-03 22:58:28 -05:00
vbawol
5790d1e129 Merge pull request #1633 from seb3sec/patch-3
Add BAF_L110A1_Aim_DZE
2015-04-03 22:58:18 -05:00
vbawol
386ce924a2 Merge pull request #1627 from SplenectomY/patch-2
Add female coughing sounds
2015-04-03 22:53:51 -05:00
vbawol
3156e02b3f Merge pull request #1641 from Mikeeeyy/patch-17
Update server_updateObject.sqf
2015-04-03 22:53:17 -05:00
vbawol
01536b7515 Merge pull request #1647 from Markokil321/patch-7
Remove useless setting
2015-04-03 22:50:12 -05:00
vbawol
c343541bb4 Merge pull request #1638 from seb3sec/patch-4
Remove hiddenSelections restrictions
2015-04-03 22:49:54 -05:00
vbawol
8d3239ad93 Merge pull request #1636 from Mikeeeyy/patch-15
Update Ammo.hpp
2015-04-03 22:49:25 -05:00
vbawol
444fd125d0 Merge pull request #1632 from seb3sec/patch-2
Fix for compile error "Item listed twice..."
2015-04-03 22:14:27 -05:00
vbawol
31c9f589af Merge pull request #1631 from seb3sec/patch-1
Fix for "Undefined base class" with FN FAL
2015-04-03 22:14:18 -05:00
seb3sec
d2bacf367e Correct output for deconstruction round bagfence 2015-03-18 12:32:08 +01:00
Marko
94601f3139 Update config.cfg 2015-03-13 18:07:46 +01:00
Marko
16639d9741 Update config.cfg 2015-03-13 18:07:30 +01:00
Marko
6e5beb409d Update config.cfg 2015-03-13 18:07:15 +01:00
Marko
e1d6f38ab5 Update config.cfg 2015-03-13 18:06:59 +01:00
Marko
04c933b318 Update config.cfg 2015-03-13 18:06:38 +01:00
Marko
db97941418 Update config.cfg 2015-03-13 18:06:21 +01:00
Marko
86b83a1843 Update config.cfg 2015-03-13 18:06:06 +01:00
Marko
26407165ac Update config.cfg 2015-03-13 18:05:46 +01:00
Marko
f734cb078f Update config.cfg 2015-03-13 18:05:25 +01:00
Marko
011c88d076 Update config.cfg 2015-03-13 18:05:04 +01:00
Marko
492caf6390 Update config.cfg 2015-03-13 18:04:49 +01:00
Marko
fa4bbc9f00 Update config.cfg 2015-03-13 18:04:34 +01:00
Marko
c398a419db Update config.cfg 2015-03-13 18:04:22 +01:00
Marko
be260bf4ea Update config.cfg 2015-03-13 18:03:52 +01:00
Marko
93f8b61f58 Update config.cfg 2015-03-13 18:03:29 +01:00
Marko
2938f08723 Update config.cfg 2015-03-13 18:03:12 +01:00
Marko
69ffe8f31c Update config.cfg 2015-03-13 18:02:58 +01:00
Marko
d41ee6b5de Update config.cfg 2015-03-13 18:02:30 +01:00
Marko
33b9fcffdb Update config.cfg
This option is deprecated and useless since OA STEAM update.

[10:10:19 | Edited 10:10:49] David Foltyn: secureID was deprecated and replaced with STEAMid, so imho that setting is now void
2015-03-13 18:01:39 +01:00
vbawol
ff77466cbf Merge pull request #1640 from deannreid/patch-2
Edited change-log to add loading fix
2015-03-04 16:52:24 -06:00
[VB]AWOL
342072177c push test build of redryder pbo 2015-03-04 09:17:23 -06:00
vbawol
ccd98e3a4c Merge pull request #1643 from arma2WillRobinson/rrpatch2
RedRyder post-server testing fixes
2015-03-04 08:55:52 -06:00
armaWillRobinson
10003f4ebf update 2015-03-03 19:43:17 -08:00
armaWillRobinson
5d36d84cb2 prefix change 2015-03-02 18:19:13 -08:00
armaWillRobinson
c8ded9b38d patch 2015-03-02 18:07:17 -08:00
arma2WillRobinson
8e5ad427b8 Merge pull request #2 from vbawol/master
updating my git
2015-03-02 17:56:44 -08:00
arma2WillRobinson
ade7d3f36d Merge pull request #1 from arma2WillRobinson/patch5
Patch5
2015-03-02 17:15:18 -08:00
armaWillRobinson
b165cade29 update 2015-03-02 17:12:32 -08:00
Mikeeeyy
fea1013a1c Update server_updateObject.sqf 2015-03-01 04:08:04 +00:00
Mikeeeyy
4814c4fd04 Update server_updateObject.sqf
Better formatting and some fixes, one major fix involving the saving of inventory. It was using format which has a limit. That could be a problem with a vehicle that can hold a lot of cargo with a ton of unique mags/weapons in it.
2015-02-28 01:30:09 +00:00
Dean Reid
3451892dab Edited change-log to add loading fix
#1610
2015-02-23 16:34:18 +00:00
vbawol
420df74924 Merge pull request #1639 from arma2WillRobinson/patch4
RedRyder added missing files
2015-02-22 14:44:04 -06:00
armaWillRobinson
96c3471d11 updated 2015-02-21 12:28:53 -08:00
seb3sec
e8430a49c5 removed hiddenSelections definition 2015-02-21 02:56:25 +01:00
seb3sec
70f232e0ff remove hiddenSelection definition 2015-02-21 02:55:25 +01:00
seb3sec
49d702b6b8 Keep hiddenSelections for armed Mi17
hiddenSelections = {}; removes the option to use custom textures on the armed version. The civilian one has these hiddenSelections.
2015-02-21 02:33:05 +01:00
Mikeeeyy
2e8fb3bd17 Update Ammo.hpp 2015-02-19 21:16:34 +00:00
seb3sec
3e62064a06 Rename BAF_L110A1_Aim to BAF_L110A1_Aim.hpp 2015-02-19 13:37:28 +01:00
seb3sec
4d141b17b1 Add variant which does not drop the backpack 2015-02-19 13:36:24 +01:00
seb3sec
ede660d09b Added include for BAF_L110A1_Aim.hpp 2015-02-19 13:33:51 +01:00
seb3sec
4ed8769e93 Fix for compile error "Item listed twice..."
The type attribute was defined twice for ItemHempPlant
2015-02-19 13:16:44 +01:00
seb3sec
5850efb0c6 Fix for "Undefined base class" with FN FAL 2015-02-19 12:21:52 +01:00
SplenectomY
192f255257 Add cough sound effects 2015-02-09 14:14:57 -05:00
SplenectomY
1dd9e0cb91 Update CfgSounds.hpp 2015-02-09 13:57:48 -05:00
SplenectomY
700ab86781 Update object_speak.sqf 2015-02-09 13:56:33 -05:00
SplenectomY
4c4b7133be Update object_speak.sqf 2015-02-09 11:21:08 -05:00
SplenectomY
9dc196d8bd Update CfgSounds.hpp 2015-02-09 11:17:28 -05:00
vbawol
86551302de Merge pull request #1626 from Mikeeeyy/patch-12
Fix rare occasion of gear not updating
2015-02-08 08:26:13 -06:00
Mikeeeyy
9623809d5b Update player_gearSync.sqf 2015-02-08 05:46:42 +00:00
vbawol
7fcb7ff657 Merge pull request #1610 from deannreid/patch-1
Fixed Black Screen on Loading
2015-02-06 09:31:05 -06:00
vbawol
d472450062 Merge pull request #1621 from ebaydayz/patch-7
[FIXED] Trader menu expected array error
2015-02-05 10:15:03 -06:00
vbawol
1c87cac11a Merge pull request #1620 from ebaydayz/patch-6
Fix trader menu expected array error
2015-02-05 10:14:55 -06:00
vbawol
0efa8ea37b Merge pull request #1619 from ebaydayz/patch-5
Fix trader menu expected array error
2015-02-05 10:14:48 -06:00
vbawol
cdb0399f19 Merge pull request #1618 from ebaydayz/patch-4
Fix trader menu expected array error
2015-02-05 10:14:37 -06:00
vbawol
a664da7b3e Merge pull request #1611 from Mikeeeyy/patch-9
Update server_updateObject.sqf
2015-02-05 10:12:02 -06:00
vbawol
172b9e21c7 Merge pull request #1615 from ebaydayz/patch-2
Update CHANGE LOG 1.0.5.2.txt
2015-02-05 10:10:27 -06:00
vbawol
23791fc1d8 Merge pull request #1614 from ebaydayz/patch-1
Compact mission.sqm port from DayZ Mod 1.8.3
2015-02-05 10:09:59 -06:00
ebaydayz
5b2949c33d [FIXED] Trader menu expected array error
[FIXED] Trader menu expected array error #1618-1620 @ebaydayz
2015-02-04 14:16:50 -05:00
ebaydayz
7151f6859f Fix trader menu expected array error
TraderItemList and TraderCatList should be initialized as arrays, not numbers. Fixes this error:
```
Error in expression < 0;
if (_index < 0) exitWith {};
while {count TraderItemList < 1} do { sleep 1; >
  Error position: <count TraderItemList < 1} do { sleep 1; >
  Error count: Type Number, expected Array,Config entry
File z\addons\dayz_code\compile\player_traderMenuHive.sqf, line 174
```
See: https://github.com/vbawol/DayZ-Epoch/issues/1616

Tested buying and selling to all the stary and base traders as well as the boat dealer with these changes. No more error or problems.
2015-02-04 14:13:08 -05:00
ebaydayz
3623b68112 Fix trader menu expected array error
TraderItemList and TraderCatList should be initialized as arrays, not numbers. Fixes this error:
```
Error in expression < 0;
if (_index < 0) exitWith {};
while {count TraderItemList < 1} do { sleep 1; >
  Error position: <count TraderItemList < 1} do { sleep 1; >
  Error count: Type Number, expected Array,Config entry
File z\addons\dayz_code\compile\player_traderMenuHive.sqf, line 174
```
See: https://github.com/vbawol/DayZ-Epoch/issues/1616

Tested buying and selling to all the stary and base traders as well as the boat dealer with these changes. No more error or problems.
2015-02-04 14:11:47 -05:00
ebaydayz
de4f50dad0 Fix trader menu expected array error
TraderItemList and TraderCatList should be initialized as arrays, not numbers. Fixes this error:
```
Error in expression < 0;
if (_index < 0) exitWith {};
while {count TraderItemList < 1} do { sleep 1; >
  Error position: <count TraderItemList < 1} do { sleep 1; >
  Error count: Type Number, expected Array,Config entry
File z\addons\dayz_code\compile\player_traderMenuHive.sqf, line 174
```
See: https://github.com/vbawol/DayZ-Epoch/issues/1616

Tested buying and selling to all Stary and Bash traders as well as the boat dealer with these changes. No more error or problems.
2015-02-04 14:09:16 -05:00
ebaydayz
13578d07ad Update CHANGE LOG 1.0.5.2.txt 2015-01-29 13:39:25 -05:00
ebaydayz
fd2eaaaa56 Update mission.sqm 2015-01-29 13:19:45 -05:00
ebaydayz
e3d57adbae Update mission.sqm 2015-01-29 13:19:21 -05:00
ebaydayz
720f50f443 Update mission.sqm 2015-01-29 13:18:54 -05:00
ebaydayz
ed575c818b Update mission.sqm 2015-01-29 13:18:16 -05:00
ebaydayz
dfb99cc867 Update mission.sqm 2015-01-29 13:17:40 -05:00
ebaydayz
737fd45f26 Update mission.sqm 2015-01-29 13:16:59 -05:00
ebaydayz
a1ae300b92 Update mission.sqm 2015-01-29 13:16:30 -05:00
ebaydayz
909ca991cd Update mission.sqm 2015-01-29 13:16:01 -05:00
ebaydayz
5d0b141b60 Update mission.sqm 2015-01-29 13:15:30 -05:00
ebaydayz
9ac6611ceb Update mission.sqm 2015-01-29 13:14:31 -05:00
ebaydayz
362fa9bbed Update mission.sqm 2015-01-29 13:14:02 -05:00
ebaydayz
d183859167 Update mission.sqm 2015-01-29 13:13:19 -05:00
ebaydayz
b204a23af6 Update mission.sqm 2015-01-29 13:12:50 -05:00
ebaydayz
282348c189 Update mission.sqm 2015-01-29 13:12:19 -05:00
ebaydayz
479cd0354a Update mission.sqm 2015-01-29 13:11:42 -05:00
ebaydayz
c13deff6aa Update mission.sqm 2015-01-29 13:10:58 -05:00
ebaydayz
3f04dbd243 Update mission.sqm 2015-01-29 13:10:25 -05:00
ebaydayz
4853b8db65 Update mission.sqm 2015-01-29 13:09:50 -05:00
ebaydayz
19a2e98d01 Update mission.sqm 2015-01-29 13:09:15 -05:00
ebaydayz
3683b72527 Update mission.sqm 2015-01-29 13:08:45 -05:00
ebaydayz
2df849403e Update mission.sqm 2015-01-29 13:08:01 -05:00
ebaydayz
a69bae2126 Update mission.sqm 2015-01-29 13:07:34 -05:00
ebaydayz
009a6c1c25 Update mission.sqm 2015-01-29 13:06:36 -05:00
ebaydayz
32096ce3a8 Update mission.sqm 2015-01-29 13:05:46 -05:00
ebaydayz
260c22af71 Update mission.sqm 2015-01-29 13:05:17 -05:00
ebaydayz
fc62f1076b Compact mission.sqm port from DayZ Mod 1.8.3 2015-01-29 13:03:21 -05:00
Mikeeeyy
5c88e790f4 Update server_updateObject.sqf 2015-01-21 20:15:10 +00:00
Dean Reid
547ba0018f Fixed Black Screen on Loading
which made users able to walk around but not see anything but DayZ Image
2015-01-21 14:23:02 +00:00
vbawol
26f51ad9f9 Merge pull request #1609 from Namindu/patch-32
Update CHANGE LOG 1.0.5.2.txt
2015-01-18 16:26:04 -06:00
Namindu
8ccc1e723b Update CHANGE LOG 1.0.5.2.txt 2015-01-18 14:25:27 -08:00
vbawol
9f17fe3f18 Merge pull request #1608 from deadeye2/patch-4
Update CHANGE LOG 1.0.5.2.txt
2015-01-18 12:56:40 -06:00
deadeye2
e0294796bc Update CHANGE LOG 1.0.5.2.txt 2015-01-18 12:04:14 -05:00
vbawol
ed0234139e Merge pull request #1457 from Namindu/patch-8
Added RedRyder BB Gun Ammo to Loot Table
2015-01-18 00:44:18 -06:00
vbawol
9c70f0f2d4 Merge pull request #1456 from Namindu/patch-7
Added RedRyder BB Gun to Loot Table
2015-01-18 00:44:11 -06:00
vbawol
dc772e7384 Merge pull request #1581 from Jamie-Booth/master
Add the _ to the Land and escape the character
2015-01-18 00:42:16 -06:00
[VB]AWOL
b21afc8d0a red ryder model path changes 2015-01-18 00:45:00 -06:00
vbawol
196a8b2e94 Merge pull request #1600 from BangL/master
custom CfgVehicles? i dont think so
2015-01-18 00:37:17 -06:00
vbawol
32bcb8515b Merge pull request #1592 from raginruffalo/patch-1
Fixed a sound error and organized file more
2015-01-18 00:36:31 -06:00
vbawol
010c164d22 Merge pull request #1589 from Markokil321/patch-5
Update HiveExt.ini
2015-01-18 00:36:17 -06:00
vbawol
665de9d917 Merge pull request #1580 from deadeye2/patch-3
DZE_MissionLootTable fix
2015-01-18 00:35:02 -06:00
vbawol
4c62c1a55e Merge pull request #1582 from Geodar/master
Another batch of czech
2015-01-18 00:34:38 -06:00
vbawol
54f4cc5024 Merge pull request #1561 from ebaydayz/patch-1
Delete old group after changing clothes
2015-01-18 00:33:57 -06:00
vbawol
21098f9b73 Merge pull request #1556 from raginruffalo/patch-3
Should fix #1555
2015-01-18 00:33:10 -06:00
vbawol
211a74a645 Merge pull request #1540 from deadeye2/patch-2
Update player_drink.sqf
2015-01-18 00:32:38 -06:00
vbawol
a5e8aae13b Merge pull request #1539 from deadeye2/patch-1
undefined variable _itemtodrop     fixes #1535
2015-01-18 00:31:54 -06:00
vbawol
1187207dcf Merge pull request #1606 from Mikeeeyy/patch-8
Update server_updateObject.sqf
2015-01-18 00:26:58 -06:00
Mikeeeyy
4ad1a72db2 Update server_updateObject.sqf 2015-01-18 04:28:04 +00:00
BangL
d0a1463425 custom CfgVehicles? i dont think so 2014-12-12 13:19:37 +01:00
Wargog
d8105936e5 Added RedRyder to loot 2014-11-25 09:08:13 -05:00
Wargog
92a14789ae Create $PBOPREFIX$ 2014-11-25 09:02:26 -05:00
Wargog
6af912a200 Fixed a sound error and organized file more 2014-11-25 09:00:13 -05:00
Skaronator.com
2f196bb146 Include FN_FAL_ANPVS4 #1587 2014-11-22 22:40:54 +01:00
Skaronator.com
aedaf4a558 Fix Typo 2014-11-22 22:40:18 +01:00
Marko
f5e80520bb Update HiveExt.ini
Small clarification. Pretty sure i was having issues with cleanups caused by this a long time ago, and have spoken to someone else who was also confused by this.

Please correct me if i'm wrong otherwise i could also do this for all other config examples?
2014-11-14 00:41:41 +01:00
Skaronator.com
62b711ecd8 Fix typo 2014-11-09 18:00:33 +01:00
Geodar
666b0fd7b2 Another batch of Czech
Fix not showing Bought vehicles in Czech language
2014-11-06 13:40:12 +01:00
Geodar
348e102ef0 Another batch of czech for latest commits 2014-11-01 20:55:20 +01:00
Geodar
af8382a5e6 Czech for latest commits 2014-11-01 20:19:10 +01:00
Jamie Booth
6902efa63a Add the _ to the Land and escape the character
LandRover vehicles are being ignored with this script.  If you escape the '_' with '\' it will only look for the '_' character used with all build able land objects.  Currently LandRover vehicles will not be unlocked or deleted, as they are ignored with the current 'Land%' match.
2014-10-30 17:33:26 +11:00
deadeye2
7345f46fed DZE_MissionLootTable fix
Fixes a zombie loot error when using loot tables in mission file.
2014-10-22 10:20:42 -04:00
vbawol
e8c0f6da6a Merge pull request #1574 from RimBlock/master
Minor DB dump batch file change.
2014-10-12 18:31:01 -05:00
vbawol
4bac499c74 Merge pull request #1578 from Markokil321/patch-5
Update add_recommended_mysql_events.sql
2014-10-12 18:30:42 -05:00
Marko
03e0087f54 Update add_recommended_mysql_events.sql
Added 2 objects which were forgotten to this array. Would result in CharacterID 0 being set for these objects, which is not the point.
2014-10-13 01:16:35 +02:00
RimBlock
4976e7965f Added DB dump batch file options to dump events and triggers as well as doing a quick (row level streaming) dump. 2014-10-06 10:06:27 +08:00
vbawol
d8dd028c5f Merge pull request #1572 from MadHatter05/patch-1
OCD update to init.sqf - 11.chernarus
2014-10-01 16:43:24 -05:00
vbawol
76000d59f9 Merge pull request #1573 from MadHatter05/patch-2
OCD update to description.ext - 11.chernarus
2014-10-01 16:43:14 -05:00
MadHatter05
8f37e9c106 OCD update to description.ext 2014-10-01 17:30:59 -04:00
MadHatter05
d4028afa65 OCD update to init.sqf - 11.chernarus 2014-10-01 17:28:40 -04:00
vbawol
b0ae579875 Update spawn_loot_small.sqf 2014-09-22 13:23:56 -05:00
ebaydayz
77d9951f23 Delete old group after changing clothes
The deleteGroup command requires the group to be local to the machine executing it:
https://community.bistudio.com/wiki/deleteGroup

When a player changes clothes a new group is created. The player is switched into a new unit in the new group, and then his old group is left empty. Because the old group is local to the player, it will not be deleted by server_cleanupGroups until he disconnects and it is transferred to the server. 

We should delete the old group immediately rather than wait for the player to disconnect. This will prevent the excessive accumulation of empty groups when players change clothes a lot. It will help with the seagull spawn issue which happens when there are more than 144 groups on side WEST:
https://community.bistudio.com/wiki/createGroup
2014-09-05 14:12:04 -04:00
Wargog
0c3173826e Done, pull please. 2014-09-03 09:40:36 -04:00
Skaronator.com
f7144334ea Merge pull request #1557 from raymix/master
rare bug with snap
2014-08-31 04:40:24 +02:00
Wargog
1c2511bc55 Maybe? 2014-08-30 12:24:02 -04:00
Wargog
5a54f26c4d I didn't do that 2014-08-30 12:20:54 -04:00
raymix
d59c5b8278 rare bug 2014-08-30 12:55:58 +01:00
Wargog
6bddf7513e Fixed AWOL's pointer 2014-08-28 14:17:43 -04:00
Wargog
064d50778a Should fix #1555 2014-08-28 13:59:22 -04:00
vbawol
b7e2462188 Merge pull request #1552 from raginruffalo/patch-3
Fixed a ton of errors
2014-08-28 11:03:10 -05:00
vbawol
1e8f146860 Merge pull request #1553 from ADK-DAYZMOD-EPOCH/master
UPDATED rotate_logs.bat
2014-08-28 11:02:50 -05:00
raziel23x
420f832210 added missing echo info 2014-08-28 11:45:00 -04:00
raziel23x
5c1833fc99 Removed extra variable used in debug testing 2014-08-28 10:04:43 -04:00
raziel23x
37234e5209 UPDATED rotate_logs.bat
Tweaked rotate_logs.bat to incorporate the day of the week for better
organization
2014-08-28 10:01:30 -04:00
vbawol
d52eb620e6 Merge pull request #1541 from raymix/master
code optimization, bugs, improvements
2014-08-28 00:28:20 -05:00
vbawol
9762dad8ee Merge pull request #1543 from Beefheart/master
Update player_onPause.sqf
2014-08-28 00:28:09 -05:00
Wargog
1c839f47fd Fixed a ton of errors
Made it look nicer as well, separated some lines and vars and values.
2014-08-27 14:48:54 -04:00
vbawol
6f58a882aa Merge pull request #1544 from arma2WillRobinson/master
Corrected all Red Ryder paths
2014-08-27 11:04:58 -05:00
vbawol
727a2d211a Merge pull request #1551 from Uro1/master
Update CfgServerTrader to match #1508
2014-08-27 11:01:36 -05:00
Uro1
b3246ec80d Update CfgServerTraders to match #1508
Updated the CfgServerTrader to match my changes in dynamic_vehicles &
SQL changes.
2014-08-27 16:40:33 +01:00
Beefheart
f3c0b582b4 Update player_onPause.sqf 2014-08-26 10:22:47 +02:00
raymix
efca644b46 fix for db ATL limitation 2014-08-23 19:02:49 +01:00
Uro1
9984923462 Merge pull request #13 from vbawol/master
merge
2014-08-22 20:56:27 +01:00
arma2WillRobinson
e35e5e326b Update config.cpp 2014-08-22 10:34:51 -07:00
Beefheart
9cdae44069 Update player_onPause.sqf
fixes players logging out in selfmade no-building-zones
2014-08-22 08:31:33 +02:00
raymix
903f5d8572 code optimization, bugs, improvements 2014-08-21 06:23:42 +01:00
deadeye2
5b4d53d3b9 Update player_drink.sqf
eliminate redundant declaring of _itemtodrop and change to match player_eat.sqf
2014-08-20 19:58:43 -04:00
deadeye2
e4982dc313 fixes #1535
After eating in a vehicle that should drop an empty can, client RPT would show:

Error Undefined variable in expression: _itemtodrop
2014-08-20 19:41:06 -04:00
vbawol
740f4144f1 Merge pull request #1534 from raymix/master
updated stringtable compatibility with modular build
2014-08-18 00:59:52 -05:00
raymix
1c4be9a043 Merge remote-tracking branch 'upstream/master' 2014-08-18 04:08:14 +01:00
raymix
34a2d03163 compatibility for issue 1526 45m plotpole 2014-08-18 04:03:11 +01:00
vbawol
2542d94c21 Merge pull request #1531 from McKeighan/patch-10
Update UAZ.hpp
2014-08-17 14:04:00 -05:00
vbawol
a8a0e0ca5c Merge pull request #1532 from McKeighan/patch-11
Update Volha.hpp
2014-08-17 14:03:31 -05:00
vbawol
fe5af9425a Merge pull request #1526 from Mikeeeyy/patch-4
Update cannot build plot pole within 45m.
2014-08-17 14:02:09 -05:00
vbawol
ac07359c80 Merge pull request #1525 from Mikeeeyy/patch-3
Update cannot build plot pole within 45m.
2014-08-17 14:02:03 -05:00
Uro1
dccbb19131 Merge pull request #12 from vbawol/master
merge
2014-08-15 22:51:54 +01:00
McKeighan
1bdd96cd88 Update Volha.hpp
added armor damage resistance on upgrade.
2014-08-15 13:39:06 -04:00
McKeighan
5bb15f0c66 Update UAZ.hpp
Armor of only 50 on the upgrade seemed light since it's baseline is 40. The normal ratio of armor increase is X 2.5, so this has been applied to the 40.  (results in 100 armor).  Added damage resistance to the armor to increase it's effectiveness.
2014-08-15 13:36:47 -04:00
vbawol
a6f55498b7 Merge pull request #1528 from raymix/master
modular build code optimization + some extras
2014-08-15 01:52:04 -05:00
raymix
c66b229a96 modular build code optimization + some extras 2014-08-15 05:40:26 +01:00
Mikeeeyy
49fe5f4846 Update cannot build plot pole within 45m.
Updates the cannot build plot pole within 45m message to use the DZE_PlotPole variable.
2014-08-15 00:10:24 +01:00
Mikeeeyy
5ae7f920dd Update cannot build plot pole within 45m.
Updates the cannot build plot pole within 45m message to use the DZE_PlotPole variable.
2014-08-15 00:08:21 +01:00
vbawol
59124e6eef Merge pull request #1523 from Legodev/master
added Items for a simple Plantingsystem
2014-08-14 12:20:58 -05:00
vbawol
8192dd7b50 Merge pull request #1519 from McKeighan/patch-7
Update Offroad_DSHKM.hpp
2014-08-14 12:09:57 -05:00
vbawol
8bd438f4c6 Merge pull request #1515 from McKeighan/patch-3
Update AH6.hpp
2014-08-14 12:08:06 -05:00
vbawol
ba6a5c7dc1 Merge pull request #1513 from McKeighan/patch-1
Update cfgVehicles.hpp
2014-08-14 12:06:59 -05:00
vbawol
c7b400f36a Merge pull request #1524 from Mikeeeyy/patch-2
Fix Maintain Area/Preview not disappearing
2014-08-14 12:06:31 -05:00
vbawol
d8841474c6 Merge pull request #1521 from SJossy/patch-3
Update fn_damageActions.sqf
2014-08-14 12:05:27 -05:00
vbawol
ef0a157eb2 Merge pull request #1512 from raymix/master
minor range adjustments
2014-08-14 12:01:52 -05:00
vbawol
a0372bc88d Merge pull request #1509 from SJossy/patch-2
Update server_functions.sqf
2014-08-14 12:01:34 -05:00
Mikeeeyy
3e42af0bb4 Fix Maintain Area/Preview not disappearing
When players would look at a plot pole, they would get the maintain/preview option and if they looked away they would still have it.
2014-08-13 14:10:43 +01:00
Legodev
688c1f15b6 added Items for a simple Plantingsystem 2014-08-13 00:18:35 +02:00
Uro1
d1b40385a9 Merge pull request #11 from vbawol/master
pull from epoch master
2014-08-11 14:32:19 +01:00
vbawol
ca37210345 Merge pull request #1511 from Markokil321/patch-5
Update player_goFishing.sqf
2014-08-10 23:47:49 -05:00
vbawol
29adecc2e9 Merge pull request #1510 from Markokil321/patch-4
Add "Cannot fish while in combat"  text
2014-08-10 23:47:36 -05:00
vbawol
db15170622 Merge pull request #1508 from Uro1/master
Dynamic_vehicle & Traders spawning non-upgradable classes of hilux1 & datsun1 vehicles
2014-08-10 23:47:13 -05:00
vbawol
95676f0db7 Merge pull request #1507 from Beefheart/patch-1
Update Lada.hpp
2014-08-10 23:41:41 -05:00
Steven
04ee8578ff Update fn_damageActions.sqf
Bikes can currently be unlimited siphon sources
2014-08-11 12:09:15 +08:00
McKeighan
06b7eca2c8 Update Offroad_DSHKM.hpp
Drop in the segments that actually ALLOWS the player to upgrade to the different variants.
2014-08-10 13:09:16 -04:00
McKeighan
a79a86889d Update AH6.hpp 2014-08-09 13:40:23 -04:00
McKeighan
18d283428b Update cfgVehicles.hpp
Added definition for class TANK.

This will make vehicles like the M113 much easier to correct in future roll outs as currently many of them have turret issues.
2014-08-09 13:17:07 -04:00
raymix
14ebc32bd4 minor range adjustments 2014-08-09 14:21:21 +01:00
Marko
64d9be9169 Update player_goFishing.sqf
Added better message when trying to fish while in combat, to avoid confusion.
2014-08-09 11:41:43 +02:00
Marko
f2145b6b8d Add "Cannot fish ehile in combat" text
To avoid confusion when players try to fish while in combat, google translate was used, so excuse any wonky translations.
2014-08-09 11:38:36 +02:00
Steven
29c9f979df Update server_functions.sqf
Cut & paste casualty
2014-08-09 11:26:18 +08:00
Uro1
7dd6aac669 Typo 2014-08-08 21:26:27 +01:00
Uro1
589bf3eaa1 Update changlog 2014-08-08 21:24:43 +01:00
Uro1
2573bd184c Server & Traders spawning non-upgradable vehicles
Server and Traders spawning non-upgradable hilux1 & datsun1 variants
2014-08-08 21:18:48 +01:00
Beefheart
b1764bff8e Update Lada.hpp
fixed some copy-paste errors
2014-08-08 21:50:19 +02:00
Uro1
504503a46e Merge pull request #10 from vbawol/master
merge from epoch master
2014-08-08 20:19:22 +01:00
vbawol
2bd68a04f6 Merge pull request #1506 from raymix/master
bug fix & adjustable snap range
2014-08-08 12:19:48 -05:00
raymix
176c0372b4 bug fix & adjustable snap range 2014-08-08 13:30:25 +01:00
vbawol
ff706fde43 Merge pull request #1505 from raymix/master
function based player_build
2014-08-07 11:19:18 -05:00
raymix
73470f1e90 modular player_build 2014-08-07 13:22:09 +01:00
raymix
361ab3a3e5 function based player_build 2014-08-07 13:03:14 +01:00
vbawol
676bb91122 Merge pull request #1501 from infiSTAR/patch-1
delete promptRName.sqf
2014-08-05 17:56:13 -05:00
infiSTAR.de
d4f978e461 delete promptRName.sqf
Delete promptRName.sqf - only used for hacks and not the mod anymore
2014-08-05 19:42:40 +02:00
Skaronator.com
dd582d28ec Merge pull request #1496 from ebaydayz/patch-1
Update CHANGE LOG 1.0.5.2.txt
2014-08-02 16:46:18 +02:00
ebaydayz
12400b1a2b Update CHANGE LOG 1.0.5.2.txt 2014-08-01 14:58:20 -04:00
ebaydayz
e52790d8fb Update CHANGE LOG 1.0.5.2.txt 2014-08-01 14:56:41 -04:00
ebaydayz
a5e0f665e9 Update CHANGE LOG 1.0.5.2.txt 2014-08-01 13:56:49 -04:00
Skaronator.com
1fb0e07ebd Merge pull request #1490 from Namindu/patch-30
Update CHANGE LOG 1.0.5.2.txt
2014-07-31 23:36:27 +02:00
Skaronator.com
b8e07f3cc2 Merge pull request #1495 from ebaydayz/patch-5
Change count back to forEach
2014-07-31 22:34:16 +02:00
Skaronator.com
29c2b09175 Merge pull request #1494 from ebaydayz/patch-4
Change count back to forEach
2014-07-31 22:34:13 +02:00
Skaronator.com
923b2833c9 Merge pull request #1493 from ebaydayz/patch-3
Change count back to forEach
2014-07-31 22:34:09 +02:00
Skaronator.com
743ddf5b6b Merge pull request #1492 from ebaydayz/patch-2
Change count back to forEach
2014-07-31 22:34:02 +02:00
Skaronator.com
5603413f6e Merge pull request #1489 from Namindu/patch-14
Updated Steam Ports
2014-07-31 20:02:38 +02:00
Skaronator.com
1548ee19a6 Merge pull request #1488 from Namindu/patch-15
Updated Steam Ports
2014-07-31 20:02:27 +02:00
Skaronator.com
15f12c4861 Merge pull request #1487 from Namindu/patch-29
Updated Steam Ports
2014-07-31 20:02:23 +02:00
Skaronator.com
13bd5c554a Merge pull request #1486 from Namindu/patch-28
Updated Steam Ports
2014-07-31 20:02:21 +02:00
Skaronator.com
ee0a6b8bca Merge pull request #1485 from Namindu/patch-27
Updated Steam Ports
2014-07-31 20:02:18 +02:00
Skaronator.com
c0c8e0ecc0 Merge pull request #1484 from Namindu/patch-26
Updated Steam Ports
2014-07-31 20:02:15 +02:00
Skaronator.com
6ca0550a2a Merge pull request #1483 from Namindu/patch-25
Updated Steam Ports
2014-07-31 20:02:13 +02:00
Skaronator.com
9628b8845f Merge pull request #1482 from Namindu/patch-24
Updated Steam Ports
2014-07-31 20:02:10 +02:00
Skaronator.com
c63a7d5cb4 Merge pull request #1481 from Namindu/patch-23
Updated Steam Ports
2014-07-31 20:01:34 +02:00
Skaronator.com
25e461df99 Merge pull request #1480 from Namindu/patch-22
Updated Steam Ports
2014-07-31 20:01:30 +02:00
Skaronator.com
6eff337579 Merge pull request #1479 from Namindu/patch-21
Updated Steam Ports
2014-07-31 20:01:27 +02:00
Skaronator.com
6b4935669d Merge pull request #1478 from Namindu/patch-20
Updated Steam Ports
2014-07-31 20:01:22 +02:00
Skaronator.com
8250dcbec2 Merge pull request #1477 from Namindu/patch-19
Updated Steam Ports
2014-07-31 20:01:15 +02:00
Skaronator.com
ee179e1fc4 Merge pull request #1476 from Namindu/patch-18
Updated Steam Ports
2014-07-31 20:01:12 +02:00
Skaronator.com
a6d51c7e63 Merge pull request #1475 from Namindu/patch-17
Updated Steam Ports
2014-07-31 20:01:07 +02:00
Skaronator.com
0b2436fbb5 Merge pull request #1474 from Namindu/patch-16
Updated Steam Ports
2014-07-31 20:01:03 +02:00
Skaronator.com
1ab7f14a87 Merge pull request #1473 from Namindu/patch-13
Updated Steam Ports
2014-07-31 20:00:59 +02:00
Skaronator.com
1592885121 Merge pull request #1472 from Namindu/patch-12
Updated Steam Ports
2014-07-31 20:00:51 +02:00
ebaydayz
6d1d4c998a Change count back to forEach
Can not nest count loops inside other count loops:
https://community.bistudio.com/wiki/Code_Optimisation#forEach_vs_count
2014-07-31 14:00:50 -04:00
Skaronator.com
ceae17af98 Merge pull request #1471 from Namindu/patch-10
Updated Steam Ports
2014-07-31 20:00:39 +02:00
ebaydayz
d19001d87b Change count back to forEach
Can not nest count loops inside other count loops:
https://community.bistudio.com/wiki/Code_Optimisation#forEach_vs_count
2014-07-31 13:45:26 -04:00
ebaydayz
445556ff12 Change count back to forEach
Can not nest count loops inside other count loops:
https://community.bistudio.com/wiki/Code_Optimisation#forEach_vs_count
2014-07-31 13:41:02 -04:00
ebaydayz
81729c26f4 Change count back to forEach
Can not nest count loops inside other count loops:
https://community.bistudio.com/wiki/Code_Optimisation#forEach_vs_count
2014-07-31 13:33:51 -04:00
vbawol
573bacdfc3 Merge pull request #1491 from ebaydayz/patch-1
Change count back to forEach
2014-07-31 12:23:20 -05:00
ebaydayz
0111a8f580 Change count back to forEach
You can not nest count loops inside other count loops:
https://community.bistudio.com/wiki/Code_Optimisation#forEach_vs_count
2014-07-31 13:14:10 -04:00
Namindu
d4028a8b88 Update CHANGE LOG 1.0.5.2.txt 2014-07-30 16:23:50 -07:00
Namindu
18d76b13c6 Updated Steam Ports 2014-07-30 16:07:22 -07:00
Namindu
e302195c43 Updated Steam Ports 2014-07-30 16:06:58 -07:00
Namindu
b77d959572 Updated Steam Ports 2014-07-30 16:06:35 -07:00
Namindu
5ca6aab0c8 Updated Steam Ports 2014-07-30 16:06:12 -07:00
Namindu
a624c81653 Updated Steam Ports 2014-07-30 16:05:51 -07:00
Namindu
b6d8a8b686 Updated Steam Ports 2014-07-30 16:05:21 -07:00
Namindu
f0d041a8b3 Updated Steam Ports 2014-07-30 16:04:52 -07:00
Namindu
47ec14e9fa Updated Steam Ports 2014-07-30 16:04:24 -07:00
Namindu
329147da65 Updated Steam Ports 2014-07-30 16:03:56 -07:00
Namindu
c8ec9f545b Updated Steam Ports 2014-07-30 16:03:31 -07:00
Namindu
a340b10084 Updated Steam Ports 2014-07-30 16:03:08 -07:00
Namindu
427b9efd0f Updated Steam Ports 2014-07-30 16:02:43 -07:00
Namindu
ed42233c92 Update config.cfg 2014-07-30 16:01:51 -07:00
Namindu
383ec9a70d Updated Steam Ports 2014-07-30 16:01:32 -07:00
Namindu
640a496316 Updated Steam Ports 2014-07-30 16:01:12 -07:00
Namindu
05bfcd9299 Updated Steam Ports 2014-07-30 16:00:51 -07:00
Namindu
de538db0a4 Updated Steam Ports 2014-07-30 16:00:16 -07:00
Namindu
0ff822200a Updated Steam Ports 2014-07-30 15:59:48 -07:00
Namindu
c464d17c76 Updated Steam Ports 2014-07-30 15:51:18 -07:00
vbawol
3bc4909c6f Merge pull request #1468 from ebaydayz/patch-1
Update CHANGE LOG 1.0.5.2.txt
2014-07-29 15:00:07 -05:00
ebaydayz
94aaf929f2 Update CHANGE LOG 1.0.5.2.txt 2014-07-29 15:58:38 -04:00
vbawol
f63ad88dbd Merge pull request #1467 from ebaydayz/patch-2
Change count back to forEach - fix empty safes
2014-07-29 14:57:54 -05:00
ebaydayz
0d5d0b9b8e Change count back to forEach - fix empty safes
See Kronzky's note:
https://community.bistudio.com/wiki/count

You can only use count to iterate through an array if all elements in the array are of the same data type. In this case you have an array with strings (type), arrays (worldspace, inventory, hitpoints) and numbers (fuel, ownerID). You need to use forEach instead. 

This error explains the problem people were having with safe inventories being empty when they open them after a restart:
http://epochmod.com/forum/index.php?/topic/13423-safe-is-empty-after-restart-if-you-open-it/
https://github.com/vbawol/DayZ-Epoch/issues/1368
https://github.com/vbawol/DayZ-Epoch/issues/1422
2014-07-29 15:50:53 -04:00
vbawol
ec1308afd6 Merge pull request #1466 from ebaydayz/patch-1
Fix typo _intentory > _inventory
2014-07-29 13:33:10 -05:00
vbawol
3ec0b2be60 Merge pull request #1465 from Mikeeeyy/patch-1
Fix for glitching through doors (dayz_spaceInterrupt.sqf)
2014-07-29 13:33:03 -05:00
ebaydayz
a8389ba2bc Fix typo _intentory > _inventory
_intentory should be _inventory
2014-07-29 14:26:48 -04:00
Mikeeeyy
a4ade23086 Update dayz_spaceInterrupt.sqf
Changed starts at line 87 and end at line 93.
Fix for glitching through doors.
2014-07-29 17:47:29 +01:00
Uro1
1f2bc80070 Merge pull request #9 from vbawol/master
pull from master
2014-07-28 21:17:09 +01:00
[VB]AWOL
cb633715fa typo 2014-07-27 23:17:00 -05:00
[VB]AWOL
abc4c2f6ce push PHP steam server list query code
Example of how to get from server list from steam works for both Arma 2
and 3 servers
Original Source:
https://developer.valvesoftware.com/wiki/User:Pizzahut/test.php
2014-07-27 23:11:49 -05:00
vbawol
fc1ce8421e Merge pull request #1459 from raymix/master
some missing defines
2014-07-26 15:29:25 -05:00
vbawol
29fe8ced1a Update CHANGE LOG 1.0.5.2.txt 2014-07-26 15:28:02 -05:00
icomrade
f284fc1b92 Don't play anim for unconscious if in vehicle 2014-07-26 14:15:38 -04:00
raymix
411055260f some missing defines 2014-07-26 03:36:26 +01:00
Namindu
cb6ed37846 Added RedRyder BB Gun Ammo to Loot Table
Forgot to add the ammo.

Added ammo to "hunter", "generic" and "office". Chance of spawn is 0.05

Classname: "350Rnd_BB_Magazine"
2014-07-25 14:55:12 -07:00
Namindu
1693b33d42 Added RedRyder BB Gun to Loot Table
Available as "farmweapons" and "shotgunsingleshot". Chance of spawn is 0.06.
2014-07-25 14:48:35 -07:00
vbawol
c479fe45f3 Merge pull request #1452 from Markokil321/patch-2
Update player_build.sqf
2014-07-25 16:02:32 -05:00
vbawol
327e7677e7 Update 1.0.5_Updates.sql 2014-07-25 13:07:01 -05:00
Marko
e330fe17aa Update player_build.sqf
Would this work for adding built item code into systemchat? This way people can PageUp to view it, even after its gone from the screen.
2014-07-25 00:34:19 +02:00
159 changed files with 5311 additions and 29016 deletions

View File

@@ -1,13 +1,16 @@
[NEW] RedRyder BB Gun by @arma2WillRobinson
[NEW] DB Backup script. @raziel23x
[NEW] DB Backup script. @RimBlock
[NEW] Use DayZ_UseSteamID = false; in your init.sqf to use the old PlayerUID, instead of SteamID @icomrade
[NEW] UI Update - Graphical and code changes, enable using Dayz_Dark_UI = true; in init.sqf. @hogscraper http://epochmod.com/forum/index.php?/topic/13654-proposed-ui-change/
[NOTE] It's recommend to convert to the new SteamID system if possible, new servers should not use DayZ_UseSteamID = false;
[NEW] Snap building (disabled by default), use DZE_snapBuilding = true; in your init.sqf to enable. @raymix
[NEW] Snap building (disabled by default), use DZE_modularBuild = true; in your init.sqf to enable. @raymix
[NEW] Modular/Function based player_build for addon makers and modders. @raymix (more info and concepts - http://epochmod.com/forum/index.php?/topic/14628-modular-function-based-player-buildsqf/ )
[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. @raziel23x
[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
@@ -19,9 +22,19 @@
[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.

View File

@@ -1,6 +1,8 @@
**DayZ Epoch**
================
## This is the experimental beta branch
Experimental DayZ mod
http://dayzepoch.com

View File

@@ -123,7 +123,7 @@ class SnapBuilding {
"CinderWallDoorSmall_DZ",
"MetalFloor_DZ"
};
radius = 5;
radius = 7;
};
class WoodFloorQuarter_Preview_DZ: FloorsWallsStairs { //fix for broken offsets in ghost
@@ -246,7 +246,7 @@ class SnapBuilding {
{2.752, 0, 1.5,"Right"},
{0, 0, 3.37042,"Top"}
};
radius = 5;
radius = 10;
};
class CinderWall_Preview_DZ: Cinder_DZE {};
class CinderWallDoorway_Preview_DZ: Cinder_DZE {};
@@ -283,7 +283,7 @@ class SnapBuilding {
{-2.64, 0, 0.009,"Left"},
{2.64, 0, 0.009,"Right"}
};
radius = 10;
radius = 12;
};
class MetalFloor_DZ: FloorsWallsStairs{
points[] = {
@@ -293,7 +293,7 @@ class SnapBuilding {
{-2.64, 0, 0.15,"Left"},
{2.64, 0, 0.15,"Right"}
};
radius = 10;
radius = 12;
};
@@ -340,7 +340,7 @@ class SnapBuilding {
snapTo[] = {
"StickFence_DZ"
};
radius = 5;
radius = 10;
points[] = {
{0,0,0,"Pivot"},
{-2.95,0,0.3,"Left"},
@@ -352,7 +352,7 @@ class SnapBuilding {
snapTo[] = {
"Fence_corrugated_DZ"
};
radius = 5;
radius = 10;
points[] = {
{0,0,0,"Pivot"},
{-1.95,0,0.88,"Left"},
@@ -364,7 +364,7 @@ class SnapBuilding {
snapTo[] = {
"WoodRamp_DZ"
};
radius = 5;
radius = 7;
points[] = {
{0,0,0,"Pivot"},
{0.65,-1.7,1.2,"Back"},

View File

@@ -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}

View File

@@ -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}};
};
};
};
};

View File

@@ -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;

View File

@@ -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;

View 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
};
};
};

View File

@@ -42,7 +42,7 @@ class AH6J_EP1_DZE: AH6J_EP1_DZ
scope = 2;
side = 2;
displayName = "AH6J_DZE";
magazines[] = {};
magazines[] = {"60Rnd_CMFlareMagazine"};
};
class AH6X_DZ: AH6_Base_EP1 {
displayname = "AH6X Little Bird";

View File

@@ -8,7 +8,6 @@ class AN2_DZ: An2_Base_EP1
side = 2;
crew = "";
typicalCargo[] = {};
hiddenSelections[] = {};
class TransportMagazines{};
class TransportWeapons{};
weapons[] = {};

View File

@@ -17,7 +17,6 @@ class Mi17_DZ: Mi17_base {
side = 2;
crew = "";
typicalCargo[] = {};
hiddenSelections[] = {};
class TransportMagazines{};
class TransportWeapons{};
commanderCanSee = 2+16+32;

View File

@@ -17,7 +17,6 @@ class UH1Y_DZ: UH1_Base {
side = 2;
crew = "";
typicalCargo[] = {};
hiddenSelections[] = {};
class TransportMagazines{};
class TransportWeapons{};
commanderCanSee = 2+16+32;
@@ -65,7 +64,6 @@ class UH1H_DZ: UH1H_base {
side = 2;
crew = "";
typicalCargo[] = {};
hiddenSelections[] = {};
class TransportMagazines{};
class TransportWeapons{};
commanderCanSee = 2+16+32;

View File

@@ -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}}};
};
};

View File

@@ -333,17 +333,95 @@ 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
@@ -351,7 +429,16 @@ class Offroad_DSHKM_Gue_DZE3: Offroad_DSHKM_Gue_DZE2
transportMaxWeapons = 20; // car 10
transportMaxMagazines = 100; // car 50
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
{

View File

@@ -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;

View File

@@ -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;

View File

@@ -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"
};

View File

@@ -0,0 +1,4 @@
class BAF_L110A1_Aim;
class BAF_L110A1_Aim_DZE:BAF_L110A1_Aim {
type = "1";
};

View File

@@ -1,3 +1,4 @@
class FN_FAL_ANPVS4;
class FN_FAL_ANPVS4_DZE:FN_FAL_ANPVS4 {
visionMode[] = {"Normal", NVG};
visionMode[] = {"Normal", "NVG"};
};

View File

@@ -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;
};

View File

@@ -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; };

View File

@@ -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";

View 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;
};
};

View File

@@ -137,7 +137,7 @@ _findNearestPole = [];
_IsNearPlot = count (_findNearestPole);
// If item is plot pole && another one exists within 45m
if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };
if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(format [localize "str_epoch_player_44", DZE_PlotPole select 1]) , "PLAIN DOWN"]; };
if(_IsNearPlot == 0) then {
@@ -521,7 +521,7 @@ if (_hasrequireditem) then {
publicVariableServer "PVDZE_obj_Publish";
cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
systemChat format [(localize "str_epoch_player_140"),_combinationDisplay,_text];
} else {
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];

View File

@@ -1,627 +0,0 @@
/*
DayZ Base Building
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
*/
private ["_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo",
"_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_needNear","_vehicle","_inVehicle","_requireplot","_objHDiff","_isLandFireDZ","_isTankTrap"];
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
DZE_ActionInProgress = true;
// disallow building if too many objects are found within 30m
if((count ((getPosATL player) nearObjects ["All",30])) >= DZE_BuildingLimit) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_41"), "PLAIN DOWN"];};
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_isWater = dayz_isSwimming;
_cancel = false;
_reason = "";
_canBuildOnPlot = false;
_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
//snap
helperDetach = false;
_canDo = (!r_drag_sqf and !r_player_unconscious);
DZE_Q = false;
DZE_Z = false;
DZE_Q_alt = false;
DZE_Z_alt = false;
DZE_Q_ctrl = false;
DZE_Z_ctrl = false;
DZE_5 = false;
DZE_4 = false;
DZE_6 = false;
DZE_F = false;
DZE_cancelBuilding = false;
call gear_ui_init;
closeDialog 1;
if (_isWater) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"];};
if (_inVehicle) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];};
if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_21", "PLAIN DOWN"];};
if (player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];};
_item = _this;
// Need Near Requirements
_abort = false;
_reason = "";
_needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "neednearby");
{
switch(_x) do{
case "fire":
{
_distance = 3;
_isNear = {inflamed _x} count (getPosATL player nearObjects _distance);
if(_isNear == 0) then {
_abort = true;
_reason = "fire";
};
};
case "workshop":
{
_distance = 3;
_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]);
if(_isNear == 0) then {
_abort = true;
_reason = "workshop";
};
};
case "fueltank":
{
_distance = 30;
_isNear = count (nearestObjects [player, dayz_fuelsources, _distance]);
if(_isNear == 0) then {
_abort = true;
_reason = "fuel tank";
};
};
};
} forEach _needNear;
if(_abort) exitWith {
cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
DZE_ActionInProgress = false;
};
_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
_classnametmp = _classname;
_require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
_lockable = 0;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then {
_lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable");
};
_requireplot = DZE_requireplot;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
};
_isAllowedUnderGround = 1;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
};
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
if((count _offset) <= 0) then {
_offset = [0,1.5,0];
};
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
_isLandFireDZ = (_classname == "Land_Fire_DZ");
_distance = DZE_PlotPole select 0;
_needText = localize "str_epoch_player_246";
if(_isPole) then {
_distance = DZE_PlotPole select 1;
};
// check for near plot
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
_findNearestPole = [];
{
if (alive _x) then {
_findNearestPole set [(count _findNearestPole),_x];
};
} count _findNearestPoles;
_IsNearPlot = count (_findNearestPole);
// If item is plot pole && another one exists within 45m
if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };
if(_IsNearPlot == 0) then {
// Allow building of plot
if(_requireplot == 0 || _isLandFireDZ) then {
_canBuildOnPlot = true;
};
} else {
// Since there are plots nearby we check for ownership && then for friend status
// check nearby plots ownership && then for friend status
_nearestPole = _findNearestPole select 0;
// Find owner
_ownerID = _nearestPole getVariable ["CharacterID","0"];
// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
// check if friendly to owner
if(dayz_characterID == _ownerID) then { //Keep ownership
// owner can build anything within his plot except other plots
if(!_isPole) then {
_canBuildOnPlot = true;
};
} else {
// disallow building plot
if(!_isPole) then {
_friendlies = player getVariable ["friendlyTo",[]];
// check if friendly to owner
if(_ownerID in _friendlies) then {
_canBuildOnPlot = true;
};
};
};
};
// _message
if(!_canBuildOnPlot) exitWith { DZE_ActionInProgress = false; cutText [format[(localize "STR_EPOCH_PLAYER_135"),_needText,_distance] , "PLAIN DOWN"]; };
_missing = "";
_hasrequireditem = true;
{
_hastoolweapon = _x in weapons player;
if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); };
} count _require;
_hasbuilditem = _this in magazines player;
if (!_hasbuilditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]; };
if (!_hasrequireditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_137"),_missing] , "PLAIN DOWN"]; };
if (_hasrequireditem) then {
_location = [0,0,0];
_isOk = true;
// get inital players position
_location1 = getPosATL player;
_dir = getDir player;
// if ghost preview available use that instead
if (_ghost != "") then {
_classname = _ghost;
};
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
//Build gizmo
_objectHelper = "Sign_sphere10cm_EP1" createVehicle _location;
_helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)";
_objectHelper setobjecttexture [0,_helperColor];
_objectHelper attachTo [player,_offset];
_object attachTo [_objectHelper,[0,0,0]];
_position = getPosATL _objectHelper;
//cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"];
_objHDiff = 0;
if (isClass (configFile >> "SnapBuilding" >> _classname)) then {
["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build;
};
while {_isOk} do {
_zheightchanged = false;
_zheightdirection = "";
_rotate = false;
if (DZE_Q) then {
DZE_Q = false;
_zheightdirection = "up";
_zheightchanged = true;
};
if (DZE_Z) then {
DZE_Z = false;
_zheightdirection = "down";
_zheightchanged = true;
};
if (DZE_Q_alt) then {
DZE_Q_alt = false;
_zheightdirection = "up_alt";
_zheightchanged = true;
};
if (DZE_Z_alt) then {
DZE_Z_alt = false;
_zheightdirection = "down_alt";
_zheightchanged = true;
};
if (DZE_Q_ctrl) then {
DZE_Q_ctrl = false;
_zheightdirection = "up_ctrl";
_zheightchanged = true;
};
if (DZE_Z_ctrl) then {
DZE_Z_ctrl = false;
_zheightdirection = "down_ctrl";
_zheightchanged = true;
};
if (DZE_4) then {
_rotate = true;
DZE_4 = false;
if (helperDetach) then {
_dir = -45;
} else {
_dir = 180;
};
};
if (DZE_6) then {
_rotate = true;
DZE_6 = false;
if (helperDetach) then {
_dir = 45;
} else {
_dir = 0;
};
};
if (DZE_F and _canDo) then {
if (helperDetach) then {
_objectHelperDir = getDir _objectHelper;
_objectHelper attachTo [player];
_objectHelper setDir _objectHelperDir-(getDir player);
helperDetach = false;
} else {
_objectHelperPos = getPosATL _objectHelper;
detach _objectHelper;
_objectHelper setPosATL _objectHelperPos;
_objectHelperDir = getDir _objectHelper;
_objectHelper setVelocity [0,0,0]; //fix sliding glitch
helperDetach = true;
};
DZE_F = false;
};
if(_rotate) then {
if (helperDetach) then {
_objectHelperDir = getDir _objectHelper;
_objectHelperPos = getPosATL _objectHelper;
_objectHelper setDir _objectHelperDir+_dir;
_objectHelper setPosATL _objectHelperPos;
} else {
_objectHelper setDir _dir;
_objectHelper setPosATL _position;
//diag_log format["DEBUG Rotate BUILDING POS: %1", _position];
};
};
if(_zheightchanged) then {
if (!helperDetach) then {
detach _objectHelper;
};
_position = getPosATL _objectHelper;
if(_zheightdirection == "up") then {
_position set [2,((_position select 2)+0.1)];
_objHDiff = _objHDiff + 0.1;
};
if(_zheightdirection == "down") then {
_position set [2,((_position select 2)-0.1)];
_objHDiff = _objHDiff - 0.1;
};
if(_zheightdirection == "up_alt") then {
_position set [2,((_position select 2)+1)];
_objHDiff = _objHDiff + 1;
};
if(_zheightdirection == "down_alt") then {
_position set [2,((_position select 2)-1)];
_objHDiff = _objHDiff - 1;
};
if(_zheightdirection == "up_ctrl") then {
_position set [2,((_position select 2)+0.01)];
_objHDiff = _objHDiff + 0.01;
};
if(_zheightdirection == "down_ctrl") then {
_position set [2,((_position select 2)-0.01)];
_objHDiff = _objHDiff - 0.01;
};
_objectHelper setDir (getDir _objectHelper);
if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then {
_position set [2,0];
};
_objectHelper setPosATL _position;
//diag_log format["DEBUG Change BUILDING POS: %1", _position];
if (!helperDetach) then {
_objectHelper attachTo [player];
};
};
sleep 0.5;
_location2 = getPosATL player;
if(DZE_5) exitWith {
_isOk = false;
detach _object;
_dir = getDir _object;
_position = getPosATL _object;
//diag_log format["DEBUG BUILDING POS: %1", _position];
deleteVehicle _object;
detach _objectHelper;
deleteVehicle _objectHelper;
};
if(_location1 distance _location2 > 10) exitWith {
_isOk = false;
_cancel = true;
_reason = "You've moved to far away from where you started building (within 10 meters)";
detach _object;
deleteVehicle _object;
detach _objectHelper;
deleteVehicle _objectHelper;
};
if(_location1 distance _objectHelperPos > 10) exitWith {
_isOk = false;
_cancel = true;
_reason = "Object is placed to far away from where you started building (within 10 meters)";
detach _object;
deleteVehicle _object;
detach _objectHelper;
deleteVehicle _objectHelper;
};
if(abs(_objHDiff) > 10) exitWith {
_isOk = false;
_cancel = true;
_reason = "Cannot move up or down more than 10 meters";
detach _object;
deleteVehicle _object;
detach _objectHelper;
deleteVehicle _objectHelper;
};
if (player getVariable["combattimeout", 0] >= time) exitWith {
_isOk = false;
_cancel = true;
_reason = (localize "str_epoch_player_43");
detach _object;
deleteVehicle _object;
detach _objectHelper;
deleteVehicle _objectHelper;
};
if (DZE_cancelBuilding) exitWith {
_isOk = false;
_cancel = true;
_reason = "Cancelled building.";
detach _object;
deleteVehicle _object;
detach _objectHelper;
deleteVehicle _objectHelper;
};
};
//No building on roads unless toggled
if (!DZE_BuildOnRoads) then {
if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; };
};
// No building in trader zones
if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
if(!_cancel) then {
_classname = _classnametmp;
// Start Build
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
_tmpbuilt setdir _dir;
// Get position based on object
_location = _position;
if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then {
_location set [2,0];
};
_tmpbuilt setPosATL _location;
cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];
_limit = 3;
if (DZE_StaticConstructionCount > 0) then {
_limit = DZE_StaticConstructionCount;
}
else {
if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then {
_limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount");
};
};
_isOk = true;
_proceed = false;
_counter = 0;
while {_isOk} do {
[10,10] call dayz_HungerThirst;
player playActionNow "Medic";
_dis=20;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
r_interrupt = false;
r_doLoop = true;
_started = false;
_finished = false;
while {r_doLoop} do {
_animState = animationState player;
_isMedic = ["medic",_animState] call fnc_inString;
if (_isMedic) then {
_started = true;
};
if (_started && !_isMedic) then {
r_doLoop = false;
_finished = true;
};
if (r_interrupt || (player getVariable["combattimeout", 0] >= time)) then {
r_doLoop = false;
};
if (DZE_cancelBuilding) exitWith {
r_doLoop = false;
};
sleep 0.1;
};
r_doLoop = false;
if(!_finished) exitWith {
_isOk = false;
_proceed = false;
};
if(_finished) then {
_counter = _counter + 1;
};
cutText [format[(localize "str_epoch_player_139"),_text, _counter,_limit], "PLAIN DOWN"];
if(_counter == _limit) exitWith {
_isOk = false;
_proceed = true;
};
};
if (_proceed) then {
_num_removed = ([player,_item] call BIS_fnc_invRemove);
if(_num_removed == 1) then {
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
if (_isPole) then {
[] spawn player_plotPreview;
};
_tmpbuilt setVariable ["OEMPos",_location,true];
if(_lockable > 1) then {
_combinationDisplay = "";
switch (_lockable) do {
case 2: { // 2 lockbox
_combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue
_combination_2 = floor(random 10);
_combination_3 = floor(random 10);
_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
dayz_combination = _combination;
if (_combination_1 == 100) then {
_combination_1_Display = "Red";
};
if (_combination_1 == 101) then {
_combination_1_Display = "Green";
};
if (_combination_1 == 102) then {
_combination_1_Display = "Blue";
};
_combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3];
};
case 3: { // 3 combolock
_combination_1 = floor(random 10);
_combination_2 = floor(random 10);
_combination_3 = floor(random 10);
_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
dayz_combination = _combination;
_combinationDisplay = _combination;
};
case 4: { // 4 safe
_combination_1 = floor(random 10);
_combination_2 = floor(random 10);
_combination_3 = floor(random 10);
_combination_4 = floor(random 10);
_combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4];
dayz_combination = _combination;
_combinationDisplay = _combination;
};
};
_tmpbuilt setVariable ["CharacterID",_combination,true];
PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location],_classname];
publicVariableServer "PVDZE_obj_Publish";
cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
systemChat format [(localize "str_epoch_player_140"),_combinationDisplay,_text];
} else {
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
// fire?
if(_tmpbuilt isKindOf "Land_Fire_DZ") then {
_tmpbuilt spawn player_fireMonitor;
} else {
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
publicVariableServer "PVDZE_obj_Publish";
};
};
} else {
deleteVehicle _tmpbuilt;
cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
};
} else {
r_interrupt = false;
if (vehicle player == player) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
deleteVehicle _tmpbuilt;
cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
};
} else {
cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
};
};
DZE_ActionInProgress = false;

View 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]

View 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]

View 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

View 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]

View 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]

View 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;
};

View 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]

View 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.

View 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

View File

@@ -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 (!_invehicle) then {
if (_hasoutput) then {
// Selecting output
_itemtodrop = drink_output select (drink_with_output find _itemorignal);
if (!_invehicle) then {
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",

View File

@@ -48,26 +48,26 @@ if (dayz_lastMeal < 3600) then {
};
};
if (_hasoutput && !_invehicle) then {
if (_hasoutput) then {
// Selecting output
_itemtodrop = food_output select (food_with_output find _itemorignal);
if (!_invehicle) then {
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 (_hasoutput && _invehicle) then {
} else {
sleep 2;
(vehicle player) addMagazineCargoGlobal [_itemtodrop,1];
};
};
if (_rawfood && !_rawexceptions && (random 15 < 1)) then {

View File

@@ -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;

View File

@@ -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 = [];

View File

@@ -3,7 +3,7 @@
// July 10 2014 //
/*--------------------------------*/
private ["_object","_objectSnapGizmo","_objColorActive","_objColorInactive","_classname","_whitelist","_points","_radius","_cfg","_cnt","_pos","_findWhitelisted","_nearbyObject","_posNearby","_selectedAction","_newPos","_pointsNearby","_onWater"];
private ["_object","_objectSnapGizmo","_objColorActive","_objColorInactive","_classname","_whitelist","_points","_radius","_cfg","_cnt","_pos","_findWhitelisted","_nearbyObject","_posNearby","_selectedAction","_newPos","_pointsNearby","_onWater","_waterBase"];
//Args
snapActionState = _this select 3 select 0;
_object = _this select 3 select 1;
@@ -57,24 +57,23 @@ fnc_initSnapPoints = {
};
fnc_initSnapPointsNearby = {
_pos = getPosATL _object;
_pos = [_object] call FNC_GetPos;
_findWhitelisted = []; _pointsNearby = [];
_findWhitelisted = nearestObjects [_pos,_whitelist,_radius]-[_object];
_findWhitelisted = nearestObjects [_pos,_whitelist,(_radius + DZE_snapExtraRange)]-[_object];
snapGizmosNearby = [];
{
_nearbyObject = _x;
_pointsNearby = getArray (configFile >> "SnapBuilding" >> (typeOf _x) >> "points");
{
_onWater = surfaceIsWater position _nearbyObject;
_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 (_onWater) then {
if (surfaceIsWater _posNearby) then {
_objectSnapGizmo setPosASL [(_posNearby) select 0,(_posNearby) select 1,(getPosASL _nearbyObject select 2) + (_x select 2)];
} else {
_objectSnapGizmo setPosATL _posNearby;
};
_objectSnapGizmo setDir (getDir _nearbyObject);
snapGizmosNearby set [count snapGizmosNearby,_objectSnapGizmo];
} count _pointsNearby;
} forEach _findWhitelisted;
@@ -82,7 +81,7 @@ fnc_initSnapPointsNearby = {
fnc_initSnapPointsCleanup = {
{detach _x;deleteVehicle _x;}count snapGizmos;snapGizmos=[];
{deleteVehicle _x;}count snapGizmosNearby;snapGizmosNearby=[];
{detach _x;deleteVehicle _x;}count snapGizmosNearby;snapGizmosNearby=[];
snapActionState = "OFF";
};
@@ -92,12 +91,7 @@ fnc_snapDistanceCheck = {
_distClosestPointFound = objNull; _distCheck = 0; _distClosest = 10; _distClosestPoint = objNull; _testXPos = []; _distClosestPointFoundPos =[]; _distClosestPointFoundDir = 0;
{
if (_x !=_distClosestPointFound) then {_x setobjecttexture [0,_objColorInactive];};
_onWater = surfaceIsWater position _x;
if (_onWater) then {
_testXPos = [(getPosASL _x select 0),(getPosASL _x select 1),(getPosASL _x select 2)];
} else {
_testXPos = [(getPosATL _x select 0),(getPosATL _x select 1),(getPosATL _x select 2)];
};
_testXPos = [_x] call FNC_GetPos;
_distCheck = _objectHelper distance _testXPos;
_distClosestPoint = _x;
if (_distCheck < _distClosest) then {
@@ -127,12 +121,7 @@ fnc_snapDistanceCheck = {
_distClosestAttached = objNull; _distCheckAttached = 0; _distClosest = 10; _distClosestAttachedFoundPos = [];
{
if (_x !=_distClosestAttached) then {_x setobjecttexture [0,_objColorInactive];};
_onWater = surfaceIsWater position _x;
if (_onWater) then {
_testXPos = [(getPosASL _x select 0),(getPosASL _x select 1),(getPosASL _x select 2)];
} else {
_testXPos = [(getPosATL _x select 0),(getPosATL _x select 1),(getPosATL _x select 2)];
};
_testXPos = [_x] call FNC_GetPos;
_distCheckAttached = _distClosestPointFound distance _testXPos;
_distClosestPoint = _x;
if (_distCheckAttached < _distClosest) then {
@@ -242,7 +231,7 @@ switch (snapActionState) do {
[1,0,0] call fnc_snapActionCleanup;
[] spawn {
while {true} do {
if(!DZE_ActionInProgress) exitWith {call fnc_initSnapPointsCleanup;[0,0,0] call fnc_snapActionCleanup; ["",false] call fnc_initSnapTutorial; snapActionState = "OFF";};
if(!DZE_ActionInProgress || DZE_cancelBuilding) exitWith {call fnc_initSnapPointsCleanup;[0,0,0] call fnc_snapActionCleanup; ["",false] call fnc_initSnapTutorial; snapActionState = "OFF";};
sleep 2;
};
};
@@ -283,10 +272,11 @@ switch (snapActionState) do {
_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];};
if (!helperDetach) then {_objectHelper attachTo [player]; _objectHelper setDir ((getDir _objectHelper)-(getDir player));};
};
_cnt = _cnt+1;
}count snapGizmos;

View File

@@ -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

View File

@@ -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);

View File

@@ -13,7 +13,7 @@ _isOk = false;
_isOk = _cTarget isKindOf _x;
};
} count ["LandVehicle","Air", "Ship"];
_Dis = if (_cTarget isKindOf "USEC_ch53_E") then {25;} else {12;};
_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;

View File

@@ -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;

View File

@@ -11,7 +11,9 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then {
_timeout = 0;
r_handlerCount = r_handlerCount + 1;
r_player_handler1 = true;
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;

View File

@@ -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]);

View File

@@ -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);

View File

@@ -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"];

View File

@@ -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;

View File

@@ -150,4 +150,4 @@ if (_nearbyCount < 1) exitwith
};
};
};
} count _nearby;
} forEach _nearby;

View File

@@ -1,4 +1,4 @@
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"];
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;
@@ -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

View File

@@ -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 = [];
};

View File

@@ -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 = [];
};

View File

@@ -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{

View File

@@ -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");
};
if (DZE_MissionLootTable) then {
_lootTypeCfg = getArray (missionConfigFile >> "CfgLoot" >> _lootType);

View File

@@ -89,9 +89,15 @@ if ((dayz_spawnZombies < _maxControlledZombies) && (dayz_CurrentNearByZombies <
_lootType = configFile >> "CfgVehicles" >> _type >> "zombieLoot";
if (isText _lootType) then {
_array = [];
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;

View File

@@ -99,7 +99,23 @@ if (!isDedicated) then {
player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";
player_harvestPlant = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_harvestPlant.sqf";
player_goFishing = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_goFishing.sqf";
if (DZE_modularBuild) then {
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\modular_build.sqf";
player_build_countNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_countNearby.sqf";
player_build_states = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_states.sqf";
player_build_needNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_needNearby.sqf";
player_build_getConfig = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_getConfig.sqf";
player_build_plotCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_plotCheck.sqf";
player_build_buildReq = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_buildReq.sqf";
player_build_create = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_create.sqf";
player_build_controls = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_controls.sqf";
player_build_publish = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build_publish.sqf";
snap_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\snap_build.sqf";
} else {
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";
};
player_wearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
@@ -107,12 +123,6 @@ if (!isDedicated) then {
player_antiWall = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_antiWall.sqf";
player_deathBoard = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\list_playerDeathsAlt.sqf";
//Snap building - disabled by default, not sure about your stance towards this mod yet, feel free to edit
if (DZE_snapBuilding) then {
player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build2.sqf";
snap_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\snap_build.sqf";
};
player_plotPreview = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_showPlotRadius.sqf";
player_upgradeVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_upgradeVehicle.sqf";
@@ -440,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; };

View File

@@ -274,6 +274,10 @@ s_player_madsci = [];
s_player_parts = [];
s_player_combi = [];
//Modular player_build
snapGizmos = [];
snapGizmosNearby = [];
//Initialize Medical Variables
r_interrupt = false;
r_doLoop = false;
@@ -538,8 +542,17 @@ if(isNil "DZE_StaticConstructionCount") then {
if (isNil "DZE_selfTransfuse_Values") then {
DZE_selfTransfuse_Values = [12000, 15, 300];
};
if (isNil "DZE_snapBuilding") then {
DZE_snapBuilding = false;
if (isNil "helperDetach") then {
helperDetach = false;
};
if (isNil "DZE_modularBuild") then {
DZE_modularBuild = false;
};
if (isNil "DZE_snapExtraRange") then {
DZE_snapExtraRange = 0;
};
if (isNil "DZE_checkNearbyRadius") then {
DZE_checkNearbyRadius = 30;
};
// needed on server
@@ -790,6 +803,8 @@ if(!isDedicated) then {
DZE_4 = false;
DZE_6 = false;
DZE_F = false;
DZE_cancelBuilding = false;
DZE_PZATTACK = false;

View File

@@ -1,6 +0,0 @@
// promptRName.sqf
private ["_unit"];
_unit = _this select 0;
call compile format ["server globalChat reviver_%1", _unit];

View File

@@ -260,7 +260,9 @@ fnc_usec_recoverUncons = {
sleep 1;
disableUserInput false;
if (vehicle player == player) then {
[objNull,player,rSwitchMove,"AinjPpneMstpSnonWnonDnon"] call RE;
player switchMove "AinjPpneMstpSnonWnonDnon";
player playMoveNow "AmovPpneMstpSnonWnonDnon_healed";
};
};

View File

@@ -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;

View File

@@ -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"};

View File

@@ -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"};

View File

@@ -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"};

View File

@@ -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>

View File

@@ -1,16 +1,18 @@
/*
[_object,_type] spawn server_updateObject;
USAGE:
[_object, _type] spawn server_updateObject;
*/
private ["_object","_type","_objectID","_uid","_lastUpdate","_needUpdate","_object_position","_object_inventory","_object_damage","_isNotOk","_parachuteWest","_firstTime","_object_killed","_object_repair","_isbuildable"];
_object = _this select 0;
if(isNull(_object)) exitWith {
diag_log format["Skipping Null Object: %1", _object];
if (isNull _object) exitWith {
diag_log format ["Skipping Null Object: %1", _object];
};
_type = _this select 1;
_parachuteWest = ((typeOf _object == "ParachuteWest") || (typeOf _object == "ParachuteC"));
_parachuteWest = (typeOf _object) in ["ParachuteWest","ParachuteC"];
_isbuildable = (typeOf _object) in dayz_allowedObjects;
_isNotOk = false;
_firstTime = false;
@@ -18,45 +20,37 @@ _firstTime = false;
_objectID = _object getVariable ["ObjectID","0"];
_uid = _object getVariable ["ObjectUID","0"];
if ((typeName _objectID != "string") || (typeName _uid != "string")) then
{
diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
//force fail
if (typeName _objectID != "STRING" || typeName _uid != "STRING") then {
diag_log format ["Non-string Object: ID %1 UID %2", _objectID, _uid];
_objectID = "0";
_uid = "0";
};
if (!_parachuteWest && !(locked _object)) then {
if (_objectID == "0" && _uid == "0") then
{
if (!_parachuteWest && !locked _object) then {
if (_objectID == "0" && _uid == "0") then {
_object_position = getPosATL _object;
_isNotOk = true;
};
};
// do not update if buildable && not ok
if (_isNotOk && _isbuildable) exitWith { };
if (_isNotOk && _isbuildable) exitWith {};
if (_isNotOk) exitWith {
deleteVehicle _object;
diag_log format ["Deleting object %1 with invalid ID at pos [%2,%3,%4]", typeOf _object, _object_position select 0, _object_position select 1, _object_position select 2];
};
// delete if still not ok
if (_isNotOk) exitWith { deleteVehicle _object; diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]); };
_lastUpdate = _object getVariable ["lastUpdate",time];
_lastUpdate = _object getVariable ["lastUpdate", time];
_needUpdate = _object in needUpdate_objects;
// TODO ----------------------
_object_position = {
private["_position","_worldspace","_fuel","_key"];
private ["_position","_worldspace","_fuel","_key"];
_position = getPosATL _object;
_worldspace = [
round(direction _object),
round (getDir _object),
_position
];
_fuel = 0;
if (_object isKindOf "AllVehicles") then {
_fuel = fuel _object;
};
_key = format["CHILD:305:%1:%2:%3:",_objectID,_worldspace,_fuel];
//diag_log ("HIVE: WRITE: "+ str(_key));
_fuel = if (_object isKindOf "AllVehicles") then { fuel _object } else { 0 };
_key = format ["CHILD:305:%1:%2:%3:", _objectID, _worldspace, _fuel];
_key call server_hiveWrite;
};
@@ -67,124 +61,122 @@ _object_inventory = {
getMagazineCargo _object,
getBackpackCargo _object
];
_previous = str(_object getVariable["lastInventory",[]]);
if (str(_inventory) != _previous) then {
_object setVariable["lastInventory",_inventory];
if (_objectID == "0") then {
_key = format["CHILD:309:%1:%2:",_uid,_inventory];
} else {
_key = format["CHILD:303:%1:%2:",_objectID,_inventory];
};
//diag_log ("HIVE: WRITE: "+ str(_key));
_previous = str (_object getVariable ["lastInventory", []]);
if (str _inventory != _previous) then {
_object setVariable ["lastInventory", _inventory];
_key = if (_objectID == "0") then { format ["CHILD:309:%1:", _uid] + str _inventory + ":" } else { format ["CHILD:303:%1:", _objectID] + str _inventory + ":" };
_key call server_hiveWrite;
};
};
_object_damage = {
private["_hitpoints","_array","_hit","_selection","_key","_damage"];
private ["_hitpoints","_array","_hit","_selection","_key","_damage"];
_hitpoints = _object call vehicle_getHitpoints;
_damage = damage _object;
_array = [];
{
_hit = [_object,_x] call object_getHit;
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
_object setHit ["_selection", _hit];
_hit = [_object, _x] call object_getHit;
_selection = getText (configFile >> "CfgVehicles" >> typeOf _object >> "HitPoints" >> _x >> "name");
if (_hit > 0) then {
_array set [count _array, [_selection,_hit]];
};
_object setHit [_selection, _hit];
} count _hitpoints;
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
//diag_log ("HIVE: WRITE: "+ str(_key));
_key = "CHILD:306:" + _objectID + ":" + str _array + ":" + str _damage + ":";
_key call server_hiveWrite;
_object setVariable ["needUpdate",false,true];
};
_object setVariable ["needUpdate", false, true];
};
_object_killed = {
private["_hitpoints","_array","_hit","_PUID","_selection","_key","_damage"];
private ["_hitpoints","_array","_hit","_PUID","_selection","_key","_damage"];
_hitpoints = _object call vehicle_getHitpoints;
//_damage = damage _object;
_damage = 1;
_array = [];
{
_hit = [_object,_x] call object_getHit;
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
_hit = 1;
_object setHit ["_selection", _hit];
_hit = [_object, _x] call object_getHit;
_selection = getText (configFile >> "CfgVehicles" >> typeOf _object >> "HitPoints" >> _x >> "name");
if (_hit > 0) then {
_array set [count _array, [_selection, _hit]];
};
_object setHit [_selection, 1];
} count _hitpoints;
if (_objectID == "0") then {
_key = format["CHILD:306:%1:%2:%3:",_uid,_array,_damage];
} else {
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
};
//diag_log ("HIVE: WRITE: "+ str(_key));
_key = "CHILD:306:" + _objectID + ":" + str _array + ":" + str _damage + ":";
_key call server_hiveWrite;
_object setVariable ["needUpdate",false,true];
if ((count _this) > 2) then {
_object setVariable ["needUpdate", false, true];
if (count _this > 2) then {
_killer = _this select 2;
_charID = _object getVariable ['CharacterID','0'];
_objID = _object getVariable['ObjectID','0'];
_objUID = _object getVariable['ObjectUID','0'];
_charID = _object getVariable ["CharacterID", "0"];
_objID = _object getVariable ["ObjectID", "0"];
_objUID = _object getVariable ["ObjectUID", "0"];
_worldSpace = getPosATL _object;
_PUID = [_killer] call FNC_GetPlayerUID;
if (_PUID != "") then {
_name = if (alive _killer) then { name _killer; } else { format["OBJECT %1", _killer]; };
diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6, Killer: %7 (UID: %8)", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace, _name, _PUID];
_name = if (alive _killer) then { name _killer } else { format["OBJECT %1", _killer] };
diag_log format ["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6, Killer: %7 (UID: %8)", _object, typeOf _object, _charID, _objID, _objUID, _worldSpace, _name, _PUID];
} else {
diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace];
diag_log format ["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6", _object, typeOf _object, _charID, _objID, _objUID, _worldSpace];
};
};
};
_object_repair = {
private["_hitpoints","_array","_hit","_selection","_key","_damage"];
private ["_hitpoints","_array","_hit","_selection","_key","_damage"];
_hitpoints = _object call vehicle_getHitpoints;
_damage = damage _object;
_array = [];
{
_hit = [_object,_x] call object_getHit;
_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
_object setHit ["_selection", _hit];
if (_hit > 0) then {
_array set [count _array, [_selection, _hit]];
};
_object setHit [_selection, _hit];
} count _hitpoints;
_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
//diag_log ("HIVE: WRITE: "+ str(_key));
_key = "CHILD:306:" + _objectID + ":" + str _array + ":" + str _damage + ":";
_key call server_hiveWrite;
_object setVariable ["needUpdate",false,true];
_object setVariable ["needUpdate", false, true];
};
// TODO ----------------------
_object setVariable ["lastUpdate",time,true];
switch (_type) do {
case "all": {
_object setVariable ["lastUpdate", time, true];
if (_type == "all") exitWith {
call _object_position;
call _object_inventory;
call _object_damage;
};
case "position": {
if (!(_object in needUpdate_objects)) then {
//diag_log format["DEBUG Position: Added to NeedUpdate=%1",_object];
};
if (_type == "position") exitWith {
if !(_object in needUpdate_objects) then {
needUpdate_objects set [count needUpdate_objects, _object];
};
};
case "gear": {
call _object_inventory;
};
case "damage": {
if ( (time - _lastUpdate) > 5) then {
call _object_damage;
} else {
if (!(_object in needUpdate_objects)) then {
//diag_log format["DEBUG Damage: Added to NeedUpdate=%1",_object];
needUpdate_objects set [count needUpdate_objects, _object];
};
};
};
case "killed": {
call _object_killed;
};
case "repair": {
call _object_damage;
};
};
if (_type == "gear") exitWith {
call _object_inventory;
};
if (_type == "damage") exitWith {
if (time - _lastUpdate > 5) then {
call _object_damage;
} else {
if !(_object in needUpdate_objects) then {
needUpdate_objects set [count needUpdate_objects, _object];
};
};
};
if (_type == "killed") exitWith {
call _object_killed;
};
if (_type == "repair") exitWith {
call _object_damage;
};

View File

@@ -863,7 +863,7 @@ server_spawnCleanLoot = {
};
};
sleep 0.001;
} count _missionObjs;
} forEach _missionObjs;
if (_delQty > 0) then {
_qty = count _missionObjs;
diag_log (format["CLEANUP: Deleted %1 Loot Piles out of %2",_delQty,_qty]);
@@ -894,7 +894,7 @@ server_spawnCleanAnimals = {
};
};
sleep 0.001;
} count _missonAnimals;
} forEach _missonAnimals;
if (_delQtyAnimal > 0) then {
_qty = count _missonAnimals;
diag_log (format["CLEANUP: Deleted %1 Animals out of %2",_delQtyAnimal,_qty]);
@@ -914,7 +914,7 @@ server_logUnlockLockEvent = {
[_obj, "gear"] call server_updateObject;
_statusText = "LOCKED";
};
_PUID = [_killer] call FNC_GetPlayerUID;
_PUID = [_player] call FNC_GetPlayerUID;
diag_log format["SAFE %5: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), _PUID, _statusText];
};
};

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["Fishing_Boat",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
@@ -23,9 +23,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -11,9 +11,9 @@ AllowedVehiclesList = [
["CSJ_GyroC",3],
["CSJ_GyroCover",3],
["CSJ_GyroP",3],
["datsun1_civil_1_open",3],
["datsun1_civil_2_covered",3],
["datsun1_civil_3_open",3],
["datsun1_civil_1_open_DZE",3],
["datsun1_civil_2_covered_DZE",3],
["datsun1_civil_3_open_DZE",3],
["GAZ_Vodnik_DZE",1],
["GAZ_Vodnik_MedEvac",1],
["GLT_M300_LT",3],
@@ -22,9 +22,9 @@ AllowedVehiclesList = [
["GNT_C185C",1],
["GNT_C185R",1],
["GNT_C185U",1],
["hilux1_civil_1_open",3],
["hilux1_civil_2_covered",3],
["hilux1_civil_3_open_EP1",3],
["hilux1_civil_1_open_DZE",3],
["hilux1_civil_2_covered_DZE",3],
["hilux1_civil_3_open_DZE",3],
["HMMWV_Ambulance",1],
["HMMWV_Ambulance_CZ_DES_EP1",1],
["HMMWV_DES_EP1",3],

View File

@@ -1,4 +1,4 @@
private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded"];
private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_inventory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded"];
dayz_versionNo = getText(configFile >> "CfgMods" >> "DayZ" >> "version");
dayz_hiveVersionNo = getNumber(configFile >> "CfgMods" >> "DayZ" >> "hiveVersion");
@@ -91,7 +91,7 @@ if (isServer && isNil "sm_done") then {
_ownerID = _x select 3;
_worldspace = _x select 4;
_intentory = _x select 5;
_inventory = _x select 5;
_hitPoints = _x select 6;
_fuel = _x select 7;
_damage = _x select 8;
@@ -176,17 +176,17 @@ if (isServer && isNil "sm_done") then {
};
if (count _intentory > 0) then {
if (count _inventory > 0) then {
if (_type in DZE_LockedStorage) then {
// Fill variables with loot
_object setVariable ["WeaponCargo", (_intentory select 0),true];
_object setVariable ["MagazineCargo", (_intentory select 1),true];
_object setVariable ["BackpackCargo", (_intentory select 2),true];
_object setVariable ["WeaponCargo", (_inventory select 0),true];
_object setVariable ["MagazineCargo", (_inventory select 1),true];
_object setVariable ["BackpackCargo", (_inventory select 2),true];
} else {
//Add weapons
_objWpnTypes = (_intentory select 0) select 0;
_objWpnQty = (_intentory select 0) select 1;
_objWpnTypes = (_inventory select 0) select 0;
_objWpnQty = (_inventory select 0) select 1;
_countr = 0;
{
if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
@@ -200,8 +200,8 @@ if (isServer && isNil "sm_done") then {
} count _objWpnTypes;
//Add Magazines
_objWpnTypes = (_intentory select 1) select 0;
_objWpnQty = (_intentory select 1) select 1;
_objWpnTypes = (_inventory select 1) select 0;
_objWpnQty = (_inventory select 1) select 1;
_countr = 0;
{
if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
@@ -214,8 +214,8 @@ if (isServer && isNil "sm_done") then {
} count _objWpnTypes;
//Add Backpacks
_objWpnTypes = (_intentory select 2) select 0;
_objWpnQty = (_intentory select 2) select 1;
_objWpnTypes = (_inventory select 2) select 0;
_objWpnQty = (_inventory select 2) select 1;
_countr = 0;
{
_isOK = isClass(configFile >> "CfgVehicles" >> _x);
@@ -256,7 +256,7 @@ if (isServer && isNil "sm_done") then {
//Monitor the object
PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];
};
} count (_BuildingQueue + _objectQueue);
} forEach (_BuildingQueue + _objectQueue);
// # END SPAWN OBJECTS #
// preload server traders menu data into cache

View File

@@ -145,6 +145,21 @@ class CfgSounds {
sound[] = {"\dayz_sfx\effects\cough_2.ogg",0.3,1,40};
titles[] = {};
};
class z_cough_w_0 {
name = "";
sound[] = {"\dayz_sfx\effects\cough_w_0.ogg",0.5,1.5,40};
titles[] = {};
};
class z_cough_w_1 {
name = "";
sound[] = {"\dayz_sfx\effects\cough_w_1.ogg",0.4,1.5,40};
titles[] = {};
};
class z_cough_w_2 {
name = "";
sound[] = {"\dayz_sfx\effects\cough_w_2.ogg",0.3,1.5,40};
titles[] = {};
};
class z_bandage_0 {
name = "";
sound[] = {"\dayz_sfx\effects\bandage_0.ogg",0.3,1,40};

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
SQF/redryder/$PBOPREFIX$ Normal file
View File

@@ -0,0 +1 @@
z\addons\redryder

BIN
SQF/redryder/M9SD_S1.wss Normal file

Binary file not shown.

View File

@@ -17,30 +17,31 @@ class CfgPatches
class RedRyder
{
units[] = {};
weapons[] = {RedRyder};
weapons[] = {"RedRyder"};
requiredVersion = 1.00000;
};
};
class CfgModels
{
class Default{};
class Weapon: Default{};
class Default {};
class Weapon : Default {};
class RedRyder : Weapon{};
};
class CfgAmmo
{
class BulletBase;
class 177_BB: BulletBase {
model= \addons\redryder\models\BB_Round.p3d; //will need to be changed
simulation=shotShell;
soundHit[]={,0,1};
hit=3.7;indirectHit=0;indirectHitRange=0;
visibleFire=10;
audibleFire=10;
visibleFireTime=3;
deflecting=5;
class 177_BB : BulletBase {
model = "\z\addons\redryder\models\BB_Round.p3d";
simulation = shotShell;
soundHit[] = {0, 1};
hit = 4.5;
indirectHit = 0;
indirectHitRange = 0;
visibleFire = 10;
audibleFire = 0.5;
visibleFireTime = 3;
deflecting = 5;
airFriction = -0.001064;
fuseDistance = 0;
CraterEffects = "";
@@ -52,39 +53,45 @@ class CfgAmmo
class CfgMagazines
{
class CA_Magazine;
class 350Rnd_BB_Magazine: CA_Magazine {
class 350Rnd_BB_Magazine : CA_Magazine
{
scope = 2;
model= \addons\redryder\models\bb_magazine.p3d; //will need to be changed
picture="\addons\redryder\textures\bb_magazine_picture.paa"; //will need to be changed
displayName = 350 Count 177 Cal. BBs;
count=350;
model = "\z\addons\redryder\models\bb_magazine.p3d";
picture = "\z\addons\redryder\textures\bb_magazine_picture.paa";
displayName = "350 Count .177 BBs";
count = 350;
ammo = 177_BB;
initSpeed = 175;
sound[]={"\addons\redryder\M9SD_S1", db8, 1,60}; //will need to be changed
reloadMagazineSound[]={"Ca\sounds\Weapons\rifles\M1014-reload",db-40,1,20};
descriptionShort = 350 Zink Coated .177, 4.5mm BBs;
};
sound[] = {"\z\addons\redryder\M9SD_S1", db + 8, 1,60};
reloadMagazineSound[] = {"Ca\sounds\Weapons\rifles\M1014-reload", db - 40, 1, 20};
descriptionShort = "350 Zinc Coated .177, 4.5mm BBs";
weight = 0.2;
};
};
class CfgWeapons
{
class Default {};
class Rifle: Default {};
class RedRyder: Rifle {
class Rifle : Default {};
class RedRyder : Rifle {
scope = 2;
model="\addons\redryder\models\RedRyder.p3d"; //will need to be changed
model = "z\addons\redryder\models\RedRyder.p3d";
displayName = "RedRyder BB Gun";
displayNameMagazine="BB";
magazines[]={"350Rnd_BB_Magazine"};
displayNameMagazine = "BB";
magazines[] = {"350Rnd_BB_Magazine"};
recoil = "recoil_single_pistol_2outof3";
recoilProne = "recoil_single_pistol_prone_2outof3";
reloadTime=0.45;
sound[]={"\addons\redryder\RedRyder\M9SD_S1", db8, 1,60}; //will need to be changed
dispersion=0.00045;
minRange=0;minRangeProbab=0.30;
midRange=39;midRangeProbab=0.7;
maxRange=75;maxRangeProbab=0.05;
picture="\addons\redryder\textures\redryder_picture.paa"; //will need to be changed
handAnim[]={"OFP2_ManSkeleton","\Ca\weapons\data\Anim\M24.rtm"};
reloadTime = 0.45;
sound[] = {"\z\addons\redryder\M9SD_S1", db + 8, 1, 60};
autoFire = 0;
dexterity = 0.4;
dispersion = 0.00045;
minRange = 0;
minRangeProbab = 0.30;
midRange = 39;
midRangeProbab = 0.7;
maxRange = 75;
maxRangeProbab = 0.05;
picture = "\z\addons\redryder\textures\redryder_picture.paa";
handAnim[] = {"OFP2_ManSkeleton", "\Ca\weapons\data\Anim\M24.rtm"};
};
};

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More