Compare commits

...

233 Commits

Author SHA1 Message Date
[GADD]Monkeynutz
c50e5be955
Update README.md 2020-10-15 20:52:30 +01:00
[GADD]Monkeynutz
cad1173871
Delete postInit.sqf 2018-06-03 14:24:02 +01:00
[GADD]Monkeynutz
76b7b794c9
Delete CfgFunctions.cpp 2018-06-03 14:23:54 +01:00
[GADD]Monkeynutz
8d7cb05ccc
Delete customize.sqf 2018-06-03 14:23:47 +01:00
[GADD]Monkeynutz
c4311287b7
Delete fn_vehicleSalvage.sqf 2018-06-03 14:23:32 +01:00
[GADD]Monkeynutz
23f8c101ec
Merge pull request #103 from GamingAtDeathsDoor/master
Deleting VG, Hacking and Grinding for Exile Default.
2018-03-08 22:40:22 +00:00
[GADD]Monkeynutz
8c3a6f1aa6
Update README.md 2018-03-08 22:39:56 +00:00
[GADD]Monkeynutz
69b839e263
Delete update.md 2018-03-08 22:35:14 +00:00
[GADD]Monkeynutz
d2bf0dfa40
Delete installation.md 2018-03-08 22:35:06 +00:00
[GADD]Monkeynutz
415cb7247d
Delete examples.md 2018-03-08 22:34:57 +00:00
[GADD]Monkeynutz
423579c6aa
Delete update.md 2018-03-08 22:34:47 +00:00
[GADD]Monkeynutz
fb43a8d6a6
Delete installation.md 2018-03-08 22:34:40 +00:00
[GADD]Monkeynutz
4bad1d730e
Delete examples.md 2018-03-08 22:34:33 +00:00
[GADD]Monkeynutz
42084d68a7
Delete update.md 2018-03-08 22:34:20 +00:00
[GADD]Monkeynutz
c7369a668d
Delete installation.md 2018-03-08 22:34:12 +00:00
[GADD]Monkeynutz
747cd86da5
Delete examples.md 2018-03-08 22:34:03 +00:00
[GADD]Monkeynutz
f6ba0fb660
Update config.cpp 2018-03-08 22:33:39 +00:00
[GADD]Monkeynutz
a63a8924cb
Update description.ext 2018-03-08 22:32:44 +00:00
[GADD]Monkeynutz
4375edb167
Update stringtable.xml 2018-03-08 22:31:43 +00:00
[GADD]Monkeynutz
fc9ea59304
Update ExAd.cpp 2018-03-08 22:30:47 +00:00
[GADD]Monkeynutz
677b93c789
Delete CfgHints.cpp 2018-03-08 22:30:28 +00:00
[GADD]Monkeynutz
cd69bc1dcd
Update CfgFunctions.cpp 2018-03-08 22:30:15 +00:00
[GADD]Monkeynutz
c4039f1e63
Delete fn_onBtnClickVG.sqf 2018-03-08 22:29:58 +00:00
[GADD]Monkeynutz
c5817a75ec
Delete fn_loadVGDetailView.sqf 2018-03-08 22:29:50 +00:00
[GADD]Monkeynutz
c10482f9ba
Delete fn_loadVGContent.sqf 2018-03-08 22:29:40 +00:00
[GADD]Monkeynutz
e98f43ec83
Delete fn_fillVGList.sqf 2018-03-08 22:29:31 +00:00
[GADD]Monkeynutz
31cccc44ac
Delete fn_allowedVGVeh.sqf 2018-03-08 22:29:24 +00:00
[GADD]Monkeynutz
2fd2b3fb58
Delete fn_allowVGStore.sqf 2018-03-08 22:29:16 +00:00
[GADD]Monkeynutz
5895f69034
Delete ExileServer_system_territory_database_load.sqf 2018-03-08 22:29:07 +00:00
[GADD]Monkeynutz
67b0efcc2c
Delete postInit.sqf 2018-03-08 22:28:57 +00:00
[GADD]Monkeynutz
943d51131b
Delete customize.sqf 2018-03-08 22:28:49 +00:00
[GADD]Monkeynutz
281cebaa83
Delete CfgHints.cpp 2018-03-08 22:28:40 +00:00
[GADD]Monkeynutz
e416577f5f
Delete CfgFunctions.cpp 2018-03-08 22:28:32 +00:00
[GADD]Monkeynutz
781206eab5
Delete postInit.sqf 2018-03-08 22:28:21 +00:00
[GADD]Monkeynutz
e27f50d1f8
Delete customize.sqf 2018-03-08 22:28:14 +00:00
[GADD]Monkeynutz
6afcf5b07a
Delete CfgFunctions.cpp 2018-03-08 22:28:08 +00:00
[GADD]Monkeynutz
bfaf4c1d46
Delete fn_stopHack.sqf 2018-03-08 22:27:37 +00:00
[GADD]Monkeynutz
d1508c6a56
Delete fn_startHack.sqf 2018-03-08 22:27:27 +00:00
[GADD]Monkeynutz
f6fc9708c7
Delete fn_canHackVG.sqf 2018-03-08 22:27:18 +00:00
[GADD]Monkeynutz
3ff3ad38e2
Delete fn_canHackSafe.sqf 2018-03-08 22:27:10 +00:00
[GADD]Monkeynutz
775a89c169
Delete postInit.sqf 2018-03-08 22:26:56 +00:00
[GADD]Monkeynutz
df2782ce1b
Delete customize.sqf 2018-03-08 22:26:43 +00:00
[GADD]Monkeynutz
024fcd3bab
Delete CfgFunctions.cpp 2018-03-08 22:26:35 +00:00
[GADD]Monkeynutz
fc6a4bdc4d
Delete fn_restoreLock.sqf 2018-03-08 22:25:57 +00:00
[GADD]Monkeynutz
04d170f42e
Delete fn_grindLock.sqf 2018-03-08 22:25:44 +00:00
[GADD]Monkeynutz
62f9055c6a
Delete fn_canRestoreLock.sqf 2018-03-08 22:25:35 +00:00
[GADD]Monkeynutz
29f8023759
Delete fn_canGrindLock.sqf 2018-03-08 22:25:28 +00:00
[GADD]Monkeynutz
e9bc7e922c
Add files via upload 2018-03-08 22:24:24 +00:00
[GADD]Monkeynutz
1f1ad99825
Delete config.cpp 2018-03-08 22:18:55 +00:00
[GADD]Monkeynutz
8096c969a2
Delete PboPrefix.txt 2018-03-08 22:18:48 +00:00
[GADD]Monkeynutz
8c905b8b47
Delete $PREFIX$ 2018-03-08 22:18:42 +00:00
[GADD]Monkeynutz
700487f832
Delete fn_requestVGDetailInfo.sqf 2018-03-08 22:18:36 +00:00
[GADD]Monkeynutz
7b23d55f6d
Delete fn_VGStore.sqf 2018-03-08 22:18:29 +00:00
[GADD]Monkeynutz
86ead5defd
Delete fn_VGLoad.sqf 2018-03-08 22:18:22 +00:00
[GADD]Monkeynutz
1a122945c8
Delete config.cpp 2018-03-08 22:17:29 +00:00
[GADD]Monkeynutz
06a7b87978
Delete PboPrefix.txt 2018-03-08 22:17:21 +00:00
[GADD]Monkeynutz
b05f3ebd51
Delete $PREFIX$ 2018-03-08 22:17:14 +00:00
[GADD]Monkeynutz
06b5f4e737
Delete fn_stopHack.sqf 2018-03-08 22:16:58 +00:00
[GADD]Monkeynutz
de75e480e9
Delete fn_startHack.sqf 2018-03-08 22:16:52 +00:00
[GADD]Monkeynutz
c6d085ebe4
Delete fn_restoreLock.sqf 2018-03-08 22:16:38 +00:00
[GADD]Monkeynutz
5348057ebb
Delete fn_grindProgress.sqf 2018-03-08 22:16:32 +00:00
[GADD]Monkeynutz
e34320e6b7
Delete config.cpp 2018-03-08 22:16:23 +00:00
[GADD]Monkeynutz
01a45904d2
Delete PboPrefix.txt 2018-03-08 22:16:17 +00:00
[GADD]Monkeynutz
ccdaaee941
Delete $PREFIX$ 2018-03-08 22:15:26 +00:00
[GADD]Monkeynutz
814c80ed8e
Updated ready for updates. 2018-01-24 11:31:34 +00:00
[GADD]Monkeynutz
a4653c9db6
Updated for updates 2018-01-24 11:30:59 +00:00
[GADD]Monkeynutz
d1a1e831e7
Updated for updates 2018-01-24 11:28:24 +00:00
[GADD]Monkeynutz
7c34eea742
Updated ready for updates 2018-01-24 11:28:00 +00:00
[GADD]Monkeynutz
268662309f
Updated ready for Updates. 2018-01-24 11:27:09 +00:00
[GADD]Monkeynutz
3fb6d18dd7
Update config.cpp 2018-01-24 11:20:30 +00:00
[GADD]Monkeynutz
1b371ae88c
Update installation.md 2018-01-24 11:19:50 +00:00
[GADD]Monkeynutz
af897d0503
Update installation.md 2018-01-24 11:19:09 +00:00
[GADD]Monkeynutz
d99ff6812d
Update README.md 2018-01-24 11:16:48 +00:00
[GADD]Monkeynutz
856674dd03
Update README.md 2018-01-24 10:26:22 +00:00
[GADD]Monkeynutz
cc1f8cd4ab
Update README.md 2018-01-24 10:25:14 +00:00
[GADD]Monkeynutz
fa3591d939
added vehicle salvage 2018-01-24 00:25:40 +00:00
[GADD]Monkeynutz
c5a371edbd
Update fn_vehicleSalvage.sqf 2018-01-24 00:25:12 +00:00
[GADD]Monkeynutz
bc762b9877
install docs to Salvage Vehicle added. 2018-01-23 23:20:56 +00:00
[GADD]Monkeynutz
8ffe82a541
Added Vehicle Salvage. 2018-01-23 23:11:21 +00:00
[GADD]Monkeynutz
ba9a79e72f
Added Vehicle Salvage script. 2018-01-23 23:10:39 +00:00
[GADD]Monkeynutz
81f6e6080e
Update README.md 2018-01-23 21:31:37 +00:00
[GADD]Monkeynutz
7bb0bfafcc
Changed colours so they are more visible at night. 2018-01-12 12:52:43 +00:00
[GADD]Monkeynutz
b72a002c5b
Removed ExAd_STOP_COMBAT_STORING from Private Arr.
Global variable in Local Private Array... Duuuuh.
2018-01-02 09:29:05 +00:00
[GADD]Monkeynutz
e43099adb1
Added defaults for new configs. 2018-01-02 09:21:08 +00:00
[GADD]Monkeynutz
9243234902
Update customize.sqf 2017-12-27 20:08:27 +00:00
[GADD]Monkeynutz
0356a93687
Update fn_VGLoad.sqf 2017-12-27 20:08:01 +00:00
[GADD]Monkeynutz
9e4a5ea638
Update fn_VGLoad.sqf 2017-12-27 20:04:57 +00:00
[GADD]Monkeynutz
de4d68996c
Update customize.sqf 2017-12-27 20:04:22 +00:00
[GADD]Monkeynutz
f76ffbe618
Added blocking deploying veh in sz 2017-12-27 19:14:50 +00:00
[GADD]Monkeynutz
23b4ab3632
Added config for blocking deploying veh in sz 2017-12-27 19:14:33 +00:00
[GADD]Monkeynutz
f639dfea38
Added Config for godmoded vehicles after spawning. 2017-12-27 17:53:29 +00:00
[GADD]Monkeynutz
0b4afec1f1
Added code for Godmoded vehicles after spwaning. 2017-12-27 17:53:10 +00:00
[GADD]Monkeynutz
621167afb9
Update README.md 2017-12-01 13:38:07 +00:00
[GADD]Monkeynutz
ad8459e0ab
Update README.md 2017-12-01 13:37:23 +00:00
[GADD]Monkeynutz
f85c0cbfe2
Update README.md 2017-12-01 13:37:05 +00:00
[GADD]Monkeynutz
429b35a197
Update README.md 2017-12-01 13:36:43 +00:00
[GADD]Monkeynutz
0752e777d4
Update README.md 2017-12-01 13:29:25 +00:00
[GADD]Monkeynutz
b1e7671662
Included some useful stuff. 2017-12-01 13:28:43 +00:00
[GADD]Monkeynutz
10f3711659
Update README.md 2017-12-01 13:24:27 +00:00
[GADD]Monkeynutz
a84b34b033
Update README.md 2017-12-01 13:23:45 +00:00
[GADD]Monkeynutz
eee51e2fc1
Merge pull request #102 from AdamKadmon/patch-1
Fix for cause of various errors. - Thx to Cloud
2017-12-01 13:21:57 +00:00
[GADD]Monkeynutz
92c5bf5bf5
Merge pull request #101 from GamingAtDeathsDoor/master
Removed old Hint and Replaced with Baguette.
2017-11-29 11:14:02 +00:00
[GADD]Monkeynutz
fb7c47242e
Updated to match configs and fix timer. 2017-11-28 18:10:38 +00:00
[GADD]Monkeynutz
09e435e85e
Added fix for deploying while in a vehicle.
@Pattoh on the Exile Forums provided this fix. Thanks Pattoh! Quick and easy!
2017-11-28 11:02:55 +00:00
AdamKadmon
9d7696fbab
Fix for cause of various errors. - Thx to Cloud 2017-11-17 22:41:24 -05:00
[GADD]Monkeynutz
978dc1b333
Added Link + href example.
I have added a link to the ArmA 3 wiki that takes people to the Structured Text page. This will help them be able to use this script better and have no problems creating links etc. In the app to rules pages and such.

I have also included a href example at the bottom of the script so it adds a link example at the same time as crediting the Add-on. ;)
2017-11-10 19:21:13 +00:00
[GADD]Monkeynutz
0df23647ef
64-bit exile.ini uploaded 2017-11-01 11:50:53 +00:00
[GADD]Monkeynutz
7c3efafb95
Delete exile.ini 2017-11-01 11:49:46 +00:00
[GADD]Monkeynutz
44506c6265
Added 64-bit version 2017-11-01 11:46:57 +00:00
[GADD]Monkeynutz
6e9c5cc1d9
Removed old Hint and Replaced with Baguette.
Did not update this on the last pull request. Apologies :P
2017-10-31 13:49:17 +00:00
Jan Babor
e26c0a2426
Merge pull request #100 from ole1986/ExAd-Scratchie
added Scratchie plugin
2017-10-30 20:15:40 +01:00
Jan Babor
8c81e31ca1
Merge pull request #99 from GamingAtDeathsDoor/master
Changed Description to detail new button combo.
2017-10-30 20:12:19 +01:00
ole
fc41f89e57 added Scratchie plugin 2017-10-29 21:58:21 +01:00
[GADD]Monkeynutz
8cb2a778da Changed Description to detail new button combo.
This was still set as Alt+Shift+X in the description... Whoops, guess some people missed the Baguette displayed infront of their face...
2017-10-27 15:28:29 +01:00
Jan Babor
ef5cdffcc5 Merge pull request #98 from GamingAtDeathsDoor/master
Just a couple fixes my dude
2017-10-16 11:58:01 +02:00
[GADD]Monkeynutz
eccaa71907 Changed top left to top right.
There was an issue in most cases where the logo would cover up a couple names in the group menu in the top left preventing players from seeing their names. I have moved this to the top right as there is never anything in the HUD that the logo can cover while it's up there.
2017-10-16 10:11:20 +01:00
[GADD]Monkeynutz
5baab224df Add files via upload 2017-10-16 10:09:07 +01:00
[GADD]Monkeynutz
242adfb2db Delete RscTitles.cpp 2017-10-16 10:08:53 +01:00
Jan Babor
24be1cfa8d Merge pull request #97 from GamingAtDeathsDoor/master
Changes to suit Exile & make better gameplay
2017-09-21 22:15:21 +02:00
[GADD]Monkeynutz
48f8ffeafd Changed 'X' to 'V'
Makes it safer for players not to eject when doing multiple actions e.g. Looking around, thrusting up and autohover/vectoring
2017-09-20 19:48:17 +01:00
[GADD]Monkeynutz
7ca7a126df Baguette request instead of hint 2017-09-20 19:42:11 +01:00
[GADD]Monkeynutz
836746d60f Changed messages to fit into baguette messages 2017-09-20 19:37:53 +01:00
[GADD]Monkeynutz
b36d94d927 Added code for Combat Storing
This file contains the code for the Combat Storing option.
2017-09-20 19:31:25 +01:00
[GADD]Monkeynutz
fe39bc6f76 Combat Storing and Boats & Subs
Added a toggle-able option to stop people storing their vehicles while in the middle of combat.
Added Boats and Subs to the VG allowed vehicle list.
2017-09-20 19:30:09 +01:00
Jan Babor
e401fd6a9f Merge pull request #96 from ProGEEK/master
Notify base owners of base raid when grinding or hacking
2017-08-22 23:50:53 +02:00
Ryan Davies
99debcb7c4 Notify base owners of base raid when grinding or hacking 2017-08-23 09:20:24 +12:00
Jan Babor
696417c204 Merge pull request #86 from macCormack/patch-1
Fixed some spelling mistakes.
2017-02-08 17:34:30 +01:00
Nathan
c4662b50d2 fixed some spelling mistakes 2017-02-07 12:39:17 -05:00
Bjanski
49ac41533b =changed playableUnits to allPlayers Hacking & StatusBar 2016-12-04 00:30:07 +01:00
Jan Babor
abb9cf13af Update README.md 2016-10-08 13:16:34 +02:00
Jan Babor
5d139df2e2 Merge pull request #71 from strideynet/patch-1
By default disable Virtual Garage
2016-09-19 12:36:41 +02:00
strideynet
e1e1f53caa By default disable Virtual Garage
Other wise installs without VG will throw an error and not load.
2016-09-13 17:40:00 +01:00
Jan Babor
9e78fcdf95 Update installation.md 2016-08-29 00:35:59 +02:00
Jan Babor
c15e45a53c Update installation.md 2016-08-23 16:53:12 +02:00
Jan Babor
f2374b242b Merge pull request #63 from Bjanski/Dev
Dev
2016-08-06 18:49:25 +02:00
Bjanski
1c6eca2b56 clean up 2016-08-06 18:49:01 +02:00
Bjanski
39a1fd8afb Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-08-06 18:48:29 +02:00
Jan Babor
256de41c64 Merge pull request #62 from Bjanski/Dev
Dev
2016-08-05 22:25:57 +02:00
Bjanski
6edcf96df5 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-08-05 22:25:19 +02:00
Bjanski
8f42005e84 removed debug log 2016-08-05 22:25:05 +02:00
Jan Babor
8d5007f2b2 Merge pull request #61 from Bjanski/Dev
fixed issue with infistar
2016-08-05 21:59:31 +02:00
Bjanski
fe9923594f fixed compatible with infistar 2016-08-05 21:58:46 +02:00
Jan Babor
0887e49687 Merge pull request #60 from Bjanski/Dev
Dev
2016-08-04 10:40:30 +02:00
Bjanski
a59474586e small fixes 2016-08-04 10:39:27 +02:00
Bjanski
fe3447ddbc Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-08-04 08:21:30 +02:00
Bjanski
ae880411ab a lot of small fixes
Code not tested
2016-08-04 08:21:28 +02:00
Jan Babor
c1320a9bc0 Update README.md 2016-08-04 00:06:44 +02:00
Jan Babor
8c74dee46e Merge pull request #59 from Bjanski/Dev
Dev
2016-08-03 23:44:51 +02:00
Bjanski
f33422cdf1 minor fixes 2016-08-03 23:43:29 +02:00
Bjanski
c78d91099a new icons and stringtable inputs 2016-08-03 22:34:42 +02:00
Bjanski
8ef6f724bd small fix 2016-08-02 18:58:56 +02:00
Bjanski
0c81c048cf fix 2016-08-02 14:31:08 +02:00
Bjanski
dd47fa0c02 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-08-02 14:28:58 +02:00
Bjanski
eb12baf640 Small fixes and additions 2016-08-02 14:28:54 +02:00
Bjanski
b3c2e7c8f1 Added StatsBar App and plugin 2016-08-01 17:25:05 +02:00
Jan Babor
f60fe7f5e8 Merge pull request #58 from Bjanski/Dev
Dev
2016-07-30 10:41:38 +02:00
Bjanski
8000b985db Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-30 10:40:15 +02:00
Bjanski
910cc04918 updated changelog 2016-07-30 10:40:01 +02:00
Bjanski
3896765c15 optimize 2016-07-30 10:35:55 +02:00
Bjanski
d113445fef Added ExAd_fnc_createCombo 2016-07-28 10:59:46 +02:00
Jan Babor
27b0c0adcf Merge pull request #56 from Bjanski/Dev
Dev
2016-07-27 01:22:16 +02:00
Jan Babor
3463f534da Update INSTALL.md 2016-07-27 01:20:35 +02:00
Bjanski
3a1dae36a7 Added install.md 2016-07-27 01:00:21 +02:00
Bjanski
dc9d3ae6ee Some small fixes and extra features, DV 2016-07-27 00:59:10 +02:00
Bjanski
e30a439a2a small tweak 2016-07-26 23:54:03 +02:00
Bjanski
896efafdd6 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-26 17:12:39 +02:00
Bjanski
abece6bad1 updated changelogs 2016-07-26 17:12:25 +02:00
Bjanski
ae51823a1c added DV server part 2016-07-26 13:09:52 +02:00
Bjanski
82b9ccf8b9 Added new app
Deploy Vehicle
Small fix Server Info App
2016-07-26 13:08:57 +02:00
Jan Babor
2d19626711 Merge pull request #54 from Bjanski/Dev
Dev
2016-07-20 01:18:04 +02:00
Bjanski
091c30afc4 v0.7.9
Added new App, Journal
2016-07-20 01:17:06 +02:00
Bjanski
9efef8c383 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-20 01:15:37 +02:00
Jan Babor
4f6a833e6f Merge pull request #51 from Bjanski/Dev
Updated config.cpp
2016-07-16 08:21:09 +02:00
Bjanski
60cc8b9c2d Updated config.cpp 2016-07-16 08:19:54 +02:00
Jan Babor
2fdf113f7b Removed duplicate 2016-07-16 00:25:03 +02:00
Jan Babor
88a93cbcaa Merge pull request #50 from Bjanski/Dev
Dev
2016-07-15 23:44:11 +02:00
Bjanski
dfdeef9415 changed 1 icon 2016-07-15 23:43:37 +02:00
Bjanski
4adde68ad1 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-15 23:23:57 +02:00
Jan Babor
329383d33c Merge pull request #49 from Bjanski/Dev
Dev
2016-07-15 23:15:11 +02:00
Bjanski
db2722b77e Release v.0.7.8
A core bug fixed
CHVD App added
2016-07-15 23:12:25 +02:00
Bjanski
a6421d561f Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-15 22:57:05 +02:00
Jan Babor
fbea791206 Update installation.md 2016-07-13 22:48:46 +02:00
Jan Babor
6135d8967a Update installation.md 2016-07-13 22:47:58 +02:00
Jan Babor
051433f345 Update installation.md 2016-07-12 23:45:19 +02:00
Bjanski
a4992d7afb Support for Img in More tab
Support for Img in More tab
2016-07-12 11:49:38 +02:00
Bjanski
40e3a95246 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-12 11:49:32 +02:00
Jan Babor
c017d42c6c Update README.md 2016-07-11 17:45:43 +02:00
Bjanski
6a9a1a8874 Small fixes added Server Info
Small fixes added Server Info
2016-07-05 18:18:41 +02:00
Bjanski
df832a5932 Added Server Info App
Added Server Info App
2016-07-05 01:52:05 +02:00
Jan Babor
516efad1db Merge pull request #47 from Bjanski/Dev
Exile 0.9.8 Support
New XM8 Feature
2016-07-03 21:04:42 +02:00
Bjanski
fc976938f4 Updated docs
Updated docs
2016-07-03 21:02:54 +02:00
Bjanski
d57ea6d63a Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-07-03 20:39:23 +02:00
Bjanski
862957bb28 Docs Updated
Docs Updated
2016-07-03 20:39:10 +02:00
Bjanski
e72a9bbba3 v0.7.7 Build 53
Introduced a new XM8 Apps
Introduced a new version of the VG App, compatible with the new system.
2016-07-03 20:11:58 +02:00
Bjanski
b3d84d2b70 v0.7.7 Build 6
Fixed some meassages,
Fixed conditions for restoring lock
2016-07-03 10:27:47 +02:00
Bjanski
95ecd6f076 v0.7.7 Build 5
Grinding updated for Exile 0.9.8
2016-07-03 10:13:54 +02:00
Jan Babor
ba35823aa2 Update installation.md 2016-06-15 22:03:31 +02:00
Jan Babor
cb38927562 Update README.md 2016-06-15 22:01:21 +02:00
Jan Babor
49c307c1b0 Merge pull request #43 from Bjanski/Dev
Release v0.7.6
2016-06-10 01:24:53 +02:00
Bjanski
f1d8a9fa27 v0.7.6 build 20
Solved the issue where territoryPlayerPresent used an array instead of a
number for the comparison.
2016-06-10 01:22:31 +02:00
Bjanski
28770808a9 v0.7.6 build 19 2016-06-09 23:32:56 +02:00
Bjanski
1b7681782b v0.7.6 build 18 2016-06-09 22:11:57 +02:00
Bjanski
b9f820ba87 v0.7.6 build 17 2016-06-09 22:01:12 +02:00
Bjanski
5d11afc426 v0.7.6 build 15 2016-06-07 00:23:54 +02:00
Bjanski
956d492d43 Partial fix for issue #40 2016-06-02 23:49:25 +02:00
Bjanski
f222940c3c Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-06-02 21:35:48 +02:00
Jan Babor
7ee9b7e3ef Merge pull request #39 from Bjanski/Dev
Dev
2016-05-10 20:37:32 +01:00
Bjanski
e2740f3584 v0.7.5
Adjusted some haloParachute code and fixed a syntax error in
postInit.sqf
2016-05-10 21:36:39 +02:00
Jan Babor
ca7ef6cafc Update README.md 2016-05-10 17:56:49 +02:00
Jan Babor
6b5931416c Merge pull request #38 from Bjanski/Dev
Dev
2016-05-10 16:54:51 +01:00
Bjanski
30aaced456 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-05-10 17:50:50 +02:00
Bjanski
f4eecd1ac8 Update v0.7.4 2016-05-10 17:50:37 +02:00
Jan Babor
9a5d64003f Merge pull request #37 from Bjanski/Dev
Dev
2016-05-10 16:48:34 +01:00
Bjanski
612243de04 updated update.md 2016-05-10 17:46:28 +02:00
Bjanski
1d36ec1170 v0.7.4 Updated HaloParachute
Added some new small features
Clarified some documentation
2016-05-10 17:46:00 +02:00
Bjanski
90f961d2ce v0.7.3
Added auto decleration and standard values of all undeclared
customizable variables
2016-05-10 17:02:06 +02:00
Bjanski
383547f123 Moved update.md & changelog.md
Moved updates.md and changelog.md to their specefic docs folder instead.
Just makes more sense.
2016-05-10 15:41:49 +02:00
Bjanski
b899910d20 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-05-10 15:01:46 +02:00
Jan Babor
e9eae04662 Merge pull request #35 from Bjanski/Dev
Dev
2016-05-07 08:12:56 +01:00
Bjanski
46a7a4667a took away VG dependenci 2016-05-07 09:11:46 +02:00
Bjanski
4b2d8ee02a Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-05-06 10:46:06 +02:00
Jan Babor
6100cc07f5 Update CHANGELOG.md 2016-05-06 10:26:48 +02:00
Jan Babor
d4063eb645 Update CHANGELOG.md 2016-05-06 10:25:24 +02:00
Jan Babor
cc26d3d442 Update CHANGELOG.md 2016-05-06 10:23:34 +02:00
Jan Babor
e004cf63b1 Update README.md 2016-05-06 09:54:35 +02:00
Jan Babor
0e9f249035 Merge pull request #33 from Bjanski/Dev
Dev
2016-05-06 08:53:56 +01:00
Bjanski
916e91a4db Release v0.7.0
Implemented Hacking
Ppdated Core and VG
2016-05-06 09:52:30 +02:00
Bjanski
6e7d916b2f Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-05-05 02:00:26 +02:00
Jan Babor
dd0ffa6194 Merge pull request #32 from Bjanski/Dev
Dev
2016-05-05 00:52:17 +01:00
Bjanski
8c4311c94c Fixed Issues #28 & #30
#30 is only tmp fixed
2016-05-05 01:51:33 +02:00
Bjanski
be51d71361 Merge remote-tracking branch 'refs/remotes/origin/master' into Dev 2016-05-03 15:13:25 +02:00
Jan Babor
07155b0d4a Merge pull request #31 from Bjanski/Dev
Dev
2016-05-03 07:52:34 +01:00
Bjanski
c54ff9ce2b Updated changelog readme 2016-05-03 08:51:51 +02:00
193 changed files with 3988 additions and 1589 deletions

View File

@ -1,5 +1,5 @@
/*
fn_showDetachParachute.sqf
fn_log.sqf
Copyright 2016 Jan Babor
@ -16,4 +16,8 @@
limitations under the License.
*/
((getPos player) select 2 > ExAd_ACTION_PARACHUTE_HEIGHT && vehicle player isKindOf "Steerable_Parachute_F")
params ["_file","_msg"];
if(ExAd_Logging)then{
"Arma_Log" callExtension format['%1\%2:%3',ExAd_Log_Folder,_file,_msg];
}

View File

@ -0,0 +1 @@
/* fn_territoryPlayerPresent.sqf Copyright 2016 Jan Babor Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ params ["_flag","_res"]; _res = false; { if( (([_flag, getPlayerUID _x ] call ExileClient_util_territory_getAccessLevel) select 0) > 0 ) exitWith { _res = true } }forEach playableUnits; _res

View File

@ -25,6 +25,10 @@ class CfgPatches {
class CfgFunctions {
class ExAdServer {
class Debug {
file = "exad_core\Functions\Debug";
class log {};
};
class System {
file = "exad_core\Functions\System";
class clientDispatch {};
@ -36,6 +40,7 @@ class CfgFunctions {
class createCrate {};
class createMarker {};
class putInContainer {};
class territoryPlayerPresent {};
};
};
};

View File

@ -0,0 +1 @@
exad_dv

View File

@ -0,0 +1,73 @@
/*
fn_createMarker.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params ["_vehObjNetId"];
_vehObj = objectFromNetId _vehObjNetId;
_vehClass = typeOf _vehObj;
_vehPos = getPosATL _vehObj;
moveOut (driver _vehObj);
_vehObj call ExileServer_system_vehicleSaveQueue_removeVehicle;
_vehObj call ExileServer_system_simulationMonitor_removeVehicle;
deleteVehicle _vehObj;
{
if(getText(missionConfigFile >> "CfgXM8" >> _x >> "vehicleClass") == _vehClass)exitWith{
_lootHolder = createVehicle ["LootWeaponHolder", _vehPos, [], 0, "CAN_COLLIDE"];
_lootHolder setDir (random 360);
_lootHolder setPosATL _vehPos;
{
_amount = if(count _x > 1)then{_x select 1}else{1};
if(_amount > 0)then{
_itemClassName = _x select 0;
_cargoType = _itemClassName call ExileClient_util_cargo_getType;
switch (_cargoType) do
{
case 1:
{
if (_itemClassName isEqualTo "Exile_Item_MountainDupe") then
{
_lootHolder addMagazineCargoGlobal [_itemClassName, _amount];
}
else
{
_lootHolder addMagazineCargoGlobal [_itemClassName, _amount];
};
};
case 3:
{
_lootHolder addBackpackCargoGlobal [_itemClassName, _amount];
};
case 2:
{
_lootHolder addWeaponCargoGlobal [_itemClassName, _amount];
};
default
{
_lootHolder addItemCargoGlobal [_itemClassName, _amount];
};
};
};
}forEach getArray(missionConfigFile >> "CfgXM8" >> _x >> "recipe");
};
}forEach ((missionConfigfile >> "CfgXM8") call BIS_fnc_getCfgSubClasses);
true

View File

@ -0,0 +1,64 @@
/*
fn_createMarker.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params ["_playerNetId","_configClass","_player","_spawnPos","_spawnDir","_usePositionATL","_vehObj"];
_player = objectFromNetId _playerNetId;
_spawnPos = _player modelToWorld [0,2,0];
_spawnDir = direction _player;
_usePositionATL = true;
_vehicleClass = getText(missionConfigFile >> "CfgXM8" >> _configClass >> "vehicleClass");
_vehObj = [_vehicleClass, _spawnPos, _spawnDir, _usePositionATL] call ExileServer_object_vehicle_createNonPersistentVehicle;
if( getNumber(missionConfigFile >> "CfgXM8" >> _configClass >> "packable") > 0 ) then {
_vehObj setVariable ["ExAd_DV_Packable", true, true];
};
if( getNumber(missionConfigFile >> "CfgXM8" >> _configClass >> "autoCleanUp") > 0 ) then {
[_vehObj] spawn {
private ["_wait","_tick", "_vehObj","_driver"];
_wait = true;
_tick = 0;
_vehObj = [_this,0,objNull] call BIS_fnc_param;
while {_wait} do {
UISleep 1;
if(isNull _vehObj)exitWith{_wait = false};
_driver = driver _vehObj;
if(isNull _driver)then{
_tick = _tick + 1;
}else{
_tick = 0;
};
if(_tick >= ExAd_DV_DESPAWN_IDLE_TIME)exitWith{_wait = false};
};
moveOut (driver _vehObj);
_vehObj call ExileServer_system_vehicleSaveQueue_removeVehicle;
_vehObj call ExileServer_system_simulationMonitor_removeVehicle;
deleteVehicle _vehObj;
};
};
true

View File

@ -0,0 +1 @@
exad_dv

View File

@ -17,7 +17,7 @@
*/
class CfgPatches {
class ExAd_Grinding {
class ExAd_DV {
requiredVersion = 0.1;
requiredAddons[] = {"ExAd_Core"};
};
@ -25,21 +25,21 @@ class CfgPatches {
class CfgFunctions {
class ExAdServer {
class Grinding {
file = "exad_grinding\Functions";
class grindProgress {};
class restoreLock {};
class DV {
file = "exad_dv\Functions";
class spawnDeployableVehicle {};
class despawnDeployableVehicle {};
};
};
};
class CfgNetworkMessages
{
class grindProgress
class spawnDeployableVehicle
{
parameters[] = {"STRING"};
parameters[] = {"STRING","STRING"};
};
class restoreLock
class despawnDeployableVehicle
{
parameters[] = {"STRING"};
};

View File

@ -1 +0,0 @@
exad_grinding

View File

@ -1,35 +0,0 @@
/*
fn_grindProgress.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private ["_object","_databaseID"];
_object = objectFromNetId ([_this, 0, "",[""]] call BIS_fnc_param);
if(isNull _object)exitWith{false};
if((_object getVariable ["ExAd_Grinding_progress", 0]) >= ExAd_GRINDING_OBJECT_MAX)then{
_object setVariable ["ExileAccessCode", nil];
_object setVariable ["ExileIsLocked", nil, true];
_databaseID = _object getVariable ["ExileDatabaseID",0];
format ["addDoorLock:%1:%2","000000",_databaseID] call ExileServer_system_database_query_fireAndForget;
};
_object setVariable ["ExAd_Grinding_progress", (_object getVariable ["ExAd_Grinding_progress", 0]) + ExAd_GRINDING_PROGRESS, true];
true

View File

@ -1 +0,0 @@
exad_grinding

View File

@ -1 +0,0 @@
exad_vg

View File

@ -1,52 +0,0 @@
/*
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private ["_objVehNetId","_objVeh","_flagNetId","_flag","_objVehId","_flagId","_data","_extDB2Message","_vehList"];
_objId = [_this,0,"",[""]] call BIS_fnc_param;
_flagNetId = [_this,1,"",[""]] call BIS_fnc_param;
_playerNetId = [_this,2,"",[""]] call BIS_fnc_param;
_flag = objectFromNetId _flagNetId;
_requestFrom = owner (objectFromNetId _playerNetId);
_proceed = false;
_vehList = _flag getVariable ["ExAdVGVeh", []];
{
if((format["%1",_x select 0]) isEqualTo _objId)exitWith{
_vehList deleteAt _forEachIndex;
_proceed = true;
}
}forEach _vehList;
if(!_proceed)exitWith{[_requestFrom, "notificationRequest", ["Whoops", ["They vehicle is not available anymore"]]] call ExileServer_system_network_send_to};
_flag setVariable ["ExAdVGVeh", _vehList, true];
_vehObj = (parseNumber _objId) call ExileServer_object_vehicle_database_load;
_extDB2Message = ["loadVehFromVG", [parseNumber _objId]] call ExileServer_util_extDB2_createMessage;
_extDB2Message call ExileServer_system_database_query_fireAndForget;
if(ExAd_VG_SHOW_ADVHINT)then{
[["advancedHint", ["VGLoad",[_vehObj getVariable["ExileAccessCode",""]]]], _requestFrom] call ExAdServer_fnc_clientDispatch;
};
_pos = getPosATL _vehObj;
_pos set [2, (_pos select 2) + 0.1];
_vehObj setPosATL _pos;
true

View File

@ -1,62 +0,0 @@
/*
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private ["_objVehNetId","_objVeh","_flagNetId","_flag","_owner","_objVehId","_flagId","_data","_extDB2Message","_vehList"];
_objVehNetId = [_this,0,"",[""]] call BIS_fnc_param;
_objVeh = objectFromNetId _objVehNetId;
_flagNetId = [_this,1,"",[""]] call BIS_fnc_param;
_flag = objectFromNetId _flagNetId;
_owner = owner _objVeh;
if!(_objVeh getVariable ["ExileIsPersistent", false])exitWith{(localize "STR_VG_STORE_NOTPERSISTENT") remoteExec ["hint", _owner]; false};
if!(_objVeh setOwner 2)exitWith{format["Get out of the vehicle before storing it."] remoteExec ["hint", _owner]; false};
if!(isNil "ExAd_VG_CLEAN_ON_STORE")then{
if(ExAd_VG_CLEAN_ON_STORE)then{
clearBackpackCargoGlobal _objVeh;
clearItemCargoGlobal _objVeh;
clearMagazineCargoGlobal _objVeh;
clearWeaponCargoGlobal _objVeh;
}
};
_objVeh call ExileServer_object_vehicle_database_update;
_objVehId = _objVeh getVariable ["ExileDatabaseID",-1];
_flagId = _flag getVariable ["ExileDatabaseID", -1];
if(_objVehId > -1 && _flagId > -1)then{
_data = [_flagId, _objVehId];
_extDB2Message = ["loadVehToVG", _data] call ExileServer_util_extDB2_createMessage;
_extDB2Message call ExileServer_system_database_query_fireAndForget;
_objVeh call ExileServer_system_vehicleSaveQueue_removeVehicle;
_objVeh call ExileServer_system_simulationMonitor_removeVehicle;
deleteVehicle _objVeh;
_vehList = _flag getVariable ["ExAdVGVeh", []];
_vehList pushBack [_objVehId, typeOf _objVeh];
_flag setVariable ["ExAdVGVeh", _vehList, true];
if(ExAd_VG_SHOW_ADVHINT)then{
[["advancedHint", ["VGStore",[]]], _owner] call EXOServer_fnc_clientDispatch;
};
};
true

View File

@ -1,40 +0,0 @@
/*
fn_requestVGDetailInfo.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private ["_objVehNetId","_objVeh","_flagNetId","_flag","_objVehId","_flagId","_data","_extDB2Message","_vehList"];
_objId = [_this,0,"",[""]] call BIS_fnc_param;
_flagNetId = [_this,1,"",[""]] call BIS_fnc_param;
_streamFriendlyUI = [_this,2,0,[0]] call BIS_fnc_param;
_playerNetId = [_this,3,"",[""]] call BIS_fnc_param;
_ctrl = [_this,4,-1,[0]] call BIS_fnc_param;
_flag = objectFromNetId _flagNetId;
_requestFrom = owner (objectFromNetId _playerNetId);
/*Check if vehicle is in flag - avoid cheaters fishing for pin codes*/
_data = format ["loadVehicle:%1", _objId] call ExileServer_system_database_query_selectSingle;
_displayName = getText(ConfigFile >> "CfgVehicles" >> (_data select 1) >> "displayName");
_pinCode = if(_streamFriendlyUI == 0)then{_data select 20}else{"XXXX"};
_text = format["%1 <br/>Pin code: %2<br/>",_displayName, _pinCode];
[_text,_ctrl] remoteExec ["ExAd_fnc_loadVGDetailView", _requestFrom];
true

View File

@ -1 +0,0 @@
exad_vg

View File

@ -1,51 +0,0 @@
/*
config.cpp
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
class CfgPatches {
class ExAd_VG {
requiredVersion = 0.1;
requiredAddons[] = {"ExAd_Core"};
};
};
class CfgFunctions {
class ExAdServer {
class VG {
file = "exad_vg\Functions";
class requestVGDetailInfo {};
class VGLoad {};
class VGStore {};
};
};
};
class CfgNetworkMessages
{
class VGStore
{
parameters[] = {"STRING","STRING","STRING"};
};
class VGLoad
{
parameters[] = {"STRING","STRING","STRING"};
};
class requestVGDetailInfo
{
parameters[] = {"STRING","STRING","SCALAR","STRING","SCALAR"};
};
};

View File

@ -0,0 +1,38 @@
;1. Find following sections and replace the commented lines;
;This is the 64-Bit version of the exile.ini addons for ExAd just to make it easier for those who use 64-Bit servers.
[loadVehicleIdPage]
;SQL1_1 = SELECT id FROM vehicle LIMIT ?,?
SQL1_1 = SELECT id FROM vehicle WHERE deleted_at IS NULL AND territory_id IS NULL LIMIT ?,?
SQL1_INPUTS = 1,2
OUTPUT = 1
; Removes vehicles that were not used within ? days
[deleteOldVehicles]
;SQL1_1 = DELETE FROM vehicle WHERE deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY)
SQL1_1 = DELETE FROM vehicle WHERE territory_id IS NULL AND deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY)
SQL1_INPUTS = 1
; Marks for deletion vehicles that were not used within ? days
[markDeleteOldVehicles]
; SQL1_1 = UPDATE vehicle SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY)
SQL1_1 = UPDATE vehicle SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND territory_id IS NULL
SQL1_INPUTS = 1
;2. Add all below in the end of the file.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Virtual Garage related queries | ADDED BY [ExAd]Jan
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[loadTerritoryVehicles]
SQL1_1 = SELECT id, class FROM vehicle WHERE territory_id = ?
SQL1_INPUTS = 1
OUTPUT = 1,2-STRING
[loadVehFromVG]
SQL1_1 = UPDATE vehicle SET territory_id = NULL WHERE id = ?
SQL1_INPUTS = 1
[loadVehToVG]
SQL1_1 = UPDATE vehicle SET territory_id = ? WHERE id = ?
SQL1_INPUTS = 1,2

View File

@ -1,12 +1,26 @@
;1. Find [loadVehicleIdPage] and replace the section with this;
;1. Find following sections and replace the commented lines;
[loadVehicleIdPage]
;SQL1_1 = SELECT id FROM vehicle LIMIT ?,?
SQL1_1 = SELECT id FROM vehicle WHERE territory_id IS NULL LIMIT ?,?
SQL1_1 = SELECT id FROM vehicle WHERE deleted_at IS NULL AND territory_id IS NULL LIMIT ?,?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
OUTPUT = 1
; Removes vehicles that were not used within ? days
[deleteOldVehicles]
;SQL1_1 = DELETE FROM vehicle WHERE deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY)
SQL1_1 = DELETE FROM vehicle WHERE territory_id IS NULL AND deleted_at < DATE_SUB(NOW(), INTERVAL ? DAY)
Number Of Inputs = 1
SQL1_INPUTS = 1
; Marks for deletion vehicles that were not used within ? days
[markDeleteOldVehicles]
; SQL1_1 = UPDATE vehicle SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY)
SQL1_1 = UPDATE vehicle SET deleted_at = NOW() WHERE last_updated_at < DATE_SUB(NOW(), INTERVAL ? DAY) AND territory_id IS NULL
Number Of Inputs = 1
SQL1_INPUTS = 1
;2. Add all below in the end of the file.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Virtual Garage related queries | ADDED BY [ExAd]Jan
@ -26,4 +40,4 @@ SQL1_INPUTS = 1
[loadVehToVG]
SQL1_1 = UPDATE vehicle SET territory_id = ? WHERE id = ?
Number Of Inputs = 2
SQL1_INPUTS = 1,2
SQL1_INPUTS = 1,2

View File

@ -1,8 +1,10 @@
eventHandler !="ExAd_ACTION_PARACHUTE_DETACH = (findDisplay 46) displayAddEventHandler ["KeyDown",{"
compile !="call compile format[\"_messageParameters call ExAd_fnc_%1;\",_messageName]"
eventHandler !="ExAd_ACTION_PARACHUTE_DETACH = (findDisplay 46) displayAddEventHandler [\"KeyDown\",{"
compile !="call compile format[\"_messageParameters call ExAd_fnc_%1;\",_messageName]" !="call compile format['%1 = if(isLocalized \"%1\")then{localize \"%1\"}else{\"%3"
createVehicle !="_parachuteObject = createVehicle [\"Steerable_Parachute_F\", getPosATL player, [], 0, \"CAN_COLLIDE\"]"
addAction !="ExAd_ACTION_PARACHUTE = player addaction [format"
drawLine3D !="drawLine3D [cursorTarget modelToWorld ["
Entities !="waitUntil {sleep 0.1; {player distance _x < 10 max (sizeOf typeOf _x)} count (player nearEntities [\"Helicopter_Base_F\", 20]) == 0}"
playableUnits !="(({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE)"
Entities !="waitUntil {sleep 0.1; ({player distance _x < (10 max (sizeOf typeOf _x))} count (player nearEntities [\"Air\", 20])) == 0};"
Units !="(({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE)"
disableCollisionWith !="_parachuteObject disableCollisionWith player"
remoteexec !="_this remoteExec [\"ExAdServer_fnc_clientRequest\",2]"

View File

@ -1,32 +1,143 @@
#<img src="logo.png" alt="ExAd" width="200" />
# Changelog:
## Changelog:
### 160426 14:04 . v0.5.2
#### Fixed
## 160801 17:00 . v0.8.0
### Fixed
* "ExadClient\CfgFunctions.cpp" to work with StatsBar (Core)
* "ExadClient\RscTitles.cpp" to work with StatsBar (Core)
* Go Back button didn't show text when VG wasn't loaded in the package (Apps; Info, Journal)
* Loading before ExileClientLoadedIn was declared
### Added
* New plugin - StatsBar (StatsBar)
* New App to configure the StatsBar (XM8)
* New functions (XM8)
* Stringtable compability (StatsBar)
### Removed
* removed all individual changelogs - took to much time to update.
## 1607330 11:00 . v0.7.11
### Fixed
* Modified fn_addApps. (XM8)
### Added
* New App function , fn_createCombo (XM8)
## 160726 17:15 . v0.7.10
### Fixed
* Apply custom functions to "More" app buttons. (XM8)
### Added
* New App, deploy vehicles (XM8)
## 160720 01:15 . v0.7.9
### Fixed
* Some design flaws in the Apps functions. (XM8)
* Added ExAd_Journal class to config.cpp (XM8)
### Added
* New App, which is a tutorial app on YouTube (XM8)
## 160703 20:15 . v0.7.7
###Fixed
* Made the ExAd system compatible with Exile 0.9.8 (All)
###Added
* XM8 - a feature to add apps to the XM8 "More" button
* App for XM8 (Virtual Garage)
###Removed
* Support for Improved_XM8_Apps by Vitaly
## 160610 01:20 . v0.7.6
###Fixed
* Quick-fix - VG App scroll for stored list(Virtual Garage)
* The configuration file could be reed after the postInit script (All) - IMPORTANT TO UPDATE ALL PLUGINS.
###Added
* Extra loggin functionality (All)
* Progress bar height customizable (Grinding)
* Added a lot of new custom UI Display texts - Check stringtabl.xml for new ones. (All)
* Added vehicle details to VirtualGarage DetailsView (Virtual Garage)
* Added function ExAd_fnc_territoryPlayerPresent, to see if a player with permissions for a specific flag is online (Core)
* Added a feature so the server owner can decide if hacking should require a player with premissions to be online.(Hacking)
## 160510 21:00 . v0.7.5
###Fixed
* Syntax error in postInit.sqf (HaloParachute)
* Added battleye exceptions (HaloParachute)
## 160510 18:00 . v0.7.4
###Fixed
* Various documentation has been updated.
###Added
* Some small features for HaloParachute
## 160510 16:00 . v0.7.3
###Fixed
* Cleaned the code (Hacking)
* Declaration of un custamized variables (All)
## 160507 09:00 . v0.7.2
### Added
* "docs\core\update.md" & "docs\core\changelog.md"
* "docs\Grinding\update.md" & "docs\Grinding\changelog.md"
* "docs\Hacking\update.md" & "docs\Hacking\changelog.md"
* "docs\HaloParachute\update.md" & "docs\HaloParachute\changelog.md"
* "docs\VirtualGarage\update.md" & "docs\VirtualGarage\changelog.md"
### Deleted
* "mpmissions\Exile.Altis\ExAdClient\core\update.md" & "mpmissions\Exile.Altis\ExAdClient\core\changelog.md"
* "mpmissions\Exile.Altis\ExAdClient\Grinding\update.md" & "mpmissions\Exile.Altis\ExAdClient\Grinding\changelog.md"
* "mpmissions\Exile.Altis\ExAdClient\Hacking\update.md" & "mpmissions\Exile.Altis\ExAdClient\Hacking\changelog.md"
* "mpmissions\Exile.Altis\ExAdClient\HaloParachute\update.md" & "mpmissions\Exile.Altis\ExAdClient\HaloParachute\changelog.md"
* "mpmissions\Exile.Altis\ExAdClient\VirtualGarage\update.md" & "mpmissions\Exile.Altis\ExAdClient\VirtualGarage\changelog.md"
## 160507 09:00 . v0.7.1
### Fixed
* Hacking isn't dependent on VirtualGarage anymore (Hacking)
## 160506 09:00 . v0.7.0
### Fixed
* Small issue where VG didn't show an advancedHint when storing. (VirtualGarage)
### Added
* New stringtable values (VirtualGarage)
* New customizable values (Core)
Must be implemented for Hacking to work proparly
* Implemented Hacking (Hacking)
* Added battleye Hacking exceptions
## 160505 01:40 . v0.6.1
### Fixed
* Display null when entering Virtual Garage from Flag (Virtual Garage)
* Sound error for grinding, tmp fix, sound will work on Chernarus (Grinding)
## 160502 23:15 . v0.6.0
### Added
* Implemented Grinding
* Added battleye grinding exceptions
## 160423 14:04 . v0.5.2
### Fixed
* Description.ext was wrongly configured (Core)
#### Added
#### Deleted
### 160426 14:04 . v0.5.1
#### Fixed
## 160426 14:04 . v0.5.1
### Fixed
* BattlEye filters been updated (All)
* VG App return to sideApp on unLoad (VirtualGarage)
* VG App clear lists before onLoad and content being loaded. (VirtualGarage)
* AdvHint trying to show EXO Logo (VirtualGarage)
#### Added
### Added
* ExAd Logo.png (Core)
#### Deleted
### Deleted
* EXO Logo.png (Core)
### 160426 . v0.5.0
#### Fixed
#### Added
## 160426 . v0.5.0
### Added
* Changelog introduced (All)
* Repo public (All)
#### Deleted

View File

@ -1,7 +1,15 @@
#<img src="logo.png" alt="ExAd" width="200" />
Exile Addons - originally small projects developed for the Arma Exile communities EXO and SP4R but now rewritten and collected here for public use.
<img src="logo.png" alt="ExAd" width="200" />
I'll gradually add all features I built, encouragements always helps the project to stay alive a little longer :smirk: | [Donate here](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=jan%2ebabor%2e383%40gmail%2ecom&lc=GB&item_name=ExAd&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)
# PLEASE STOP USING EXAD. It does not work in Exile V1.0.4. Although others have got it working, it's laggy and was built when Exile used a lot of hacky code to fix Arma. There are plenty standalone alternatives out there. - Monkeynutz
[![Arma 1.80](https://img.shields.io/badge/Arma-1.80-blue.svg)](https://dev.arma3.com/post/spotrep-00077) [![Exile 1.0.4 "Pineapple"](https://img.shields.io/badge/Exile-1.0.4%20"Lemon"-yellow.svg)](http://www.exilemod.com/topic/25026-104-pineapple/) [![ExAd Version](https://img.shields.io/badge/ExAd-v1.0.0%20Kumquat-orange.svg)](http://bjanski.github.io/ExAd/)
Exile Addons by Janski - originally small projects developed for the Arma Exile communities EXO and SP4R but now rewritten and collected here for public use. Contributers to the code can be found in the "Contributers" section at the top of the Repo.
Repo now looked after and updated by [[GADD]](https://gamingatdeathsdoor.com)Monkeynutz.
Janski No longer works on ExAd but you can donate to him here to appreciate his work... :smirk: | [Donate here](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=jan%2ebabor%2e383%40gmail%2ecom&lc=GB&item_name=ExAd&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)
## Installation & Examples
Instructions for installation is found under [docs](https://github.com/Bjanski/ExAd/tree/master/docs).
@ -9,28 +17,36 @@ Each plugin must be installed seperately, I've done it this way to make the upda
Below you can see what dependencies each plugin has.
## Update Instructions
After you have installed the entire or parts of the ExAd Package you will easiest update by checking each subproject client folder to retrieve the changelog and update instructions.
After you have installed the entire or parts of the ExAd Package you will easiest update by checking each subproject documentation folder to retrieve the changelog and update instructions.
##Collection
## Collection
* Core
* Halo & Parachute
* Virtual Garage
* Grinding
* Hacking
* StatsBar
* XM8
* Admin Events .. *Coming Soon*
* Hacking .. *Coming Soon*
* Grinding .. *Coming Soon*
* VehicleUpgrade -- *Coming Soon*
##Dependencies
## Dependencies
* Core
* [Exile](http://www.exilemod.com/downloads/)
* Virtual Garage
* Core
* [XM8 Apps Improved](https://github.com/vitalymind/XM8_apps_improved)
* XM8
* XM8
* Core
* StatsBar
* Core
* XM8
* Admin Events
* Core
* [Infistar](https://infistar.de/)
* Hacking
* Virtual Garage
* Core
* (Virtual Garage)
* Grinding
* Core
* Halo & Parachute
@ -38,14 +54,16 @@ After you have installed the entire or parts of the ExAd Package you will easies
* VehicleUpgrade
* Core
##Contribute
## Contribute
Contributions are allways welcome, please read [Contribution Guidlines](CONTRIBUTING.md) first.
All contributed code first needs to be rewieved and tested before pushed to master.
##License
## License
Apache License
##Contact
For this project I only reply through my [Exile profile](http://www.exilemod.com/profile/7143-janski/)
If you want help with an issue, report a bug or maybe just request a new feature first make sure now one else have had the same issue by searching the [Issue Tracker](https://github.com/Bjanski/ExAd/issues) and the [Exile Forum](http://www.exilemod.com/).
## Contact
Janski doesn't reply as much anymore as he is not in the ArmA scene. But here is his [Exile profile](http://www.exilemod.com/profile/7143-janski/)
Contact Monkeynutz Directly for a fast reply: [Monkey's Profile](http://www.exilemod.com/profile/61794-monkeynutz/)
If you want help with an issue, report a bug or maybe just request a new feature first make sure now one else have had the same issue by searching the [Issue Tracker](https://github.com/Bjanski/ExAd/issues) and the [Exile Forum](http://www.exilemod.com/topic/13865-exad-package-of-virtual-garagexm8statsbarhalo-parachuteadmin-eventshackinggrindingvehicle-upgrade/).

View File

@ -1,51 +0,0 @@
# Installation
Remember for this plugin to work you first need to install
* [Core](https://github.com/Bjanski/ExAd/blob/Core/docs/core/installation.md)
## Client
* Place the folder "Grinding" into "mpmissions\exile.<MAP>\ExAdClient\"
* Goto "mpmissions\exile.<MAP>\ExAdClient\CfgFunctions" and uncomment
_From_
```cpp
//#include "Grinding\CfgFunctions.cpp"
```
_To_
```cpp
#include "Grinding\CfgFunctions.cpp"
```
* In "config.cpp" find "CfgInteractionMenus" and add to "Construction".
```cpp
class Construction
{
targetType = 2;
target = "Exile_Construction_Abstract_Static";
class Actions
{
class Grind : ExileAbstractAction
{
title = "Grind Lock";
condition = "call ExAd_fnc_canGrindLock";
action = "_this spawn ExAd_fnc_grindLock";
};
class RestoreLock : ExileAbstractAction
{
title = "Restore Lock";
condition = "_object call ExAd_fnc_canRestoreLock";
action = "_this spawn ExAd_fnc_restoreLock";
};
};
};
```
* Now you can go into "mpmissions\exile.<MAP>\ExAdClient\Grinding\customize.sqf" and change to desirable settings.
## Server
* Copy over and pack "@ExileServer\addons\exad_grinding" into a pbo.

View File

@ -16,6 +16,8 @@ To
#include "HaloParachute\CfgFunctions.cpp"
```
* Modify - "mpmissions\exile.<MAP>\stringtable.xml" - add if missing package="HaloParachute" and change to desirable notifications
* Now you can go into "mpmissions\exile.<MAP>\ExAdClient\HaloParachute\customize.sqf" and change to desirable settings.
## Server

View File

@ -0,0 +1,30 @@
#HaloParachute
## Instructions:
### v0.7.6
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\HaloParachute\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute" - Big update
## v0.7.5
* replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"
* replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\Functions"
* Replace battleye exceptions - Entities
```cpp
!="waitUntil {sleep 0.1; ({player distance _x < (10 max (sizeOf typeOf _x))} count (player nearEntities [\"Air\", 20])) == 0};"
```
### v0.7.4
* Replace folder "mpmissions\Exile.<map>\ExAdClient\HaloParachute\Functions"
* Replace file "mpmissions\Exile.<map>\ExAdClient\HaloParachute\CfgFunctions.cpp"
* Replace file "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"
* Replace, or update manually, file "mpmissions\Exile.<map>\ExAdClient\HaloParachute\customize.sqf"
### v0.7.3
* Replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"
### v0.5.1
* Add battleye exceptions
### v0.5.0
* Full installation

View File

@ -1,7 +1,15 @@
#Documentation
Each subfolder withholds the choosen dokumentation including installation instruction and examples on useage.
Each subfolder withholds the subproject's documentation including installation instruction and examples of usage.
To simplify the process for me, I've decided to simply divide everything and leave a changelog and update instructions in every subprojects documentation folder. This way you won't miss any information related to that subproject and it will be simple for me to keep the track off all changes with out skimming a general changelog.
## How to Update
Since this project consist of multiple sub projects I've had some issues deciding how to structure the project for a simple update process.
Since this project consist of multiple subprojects I've had some issues deciding how to structure the project for a simple update process.
To simplify the proccess for me, I've decided to simply devide everything and leave a changelog and update instructions in every subprojects client folder. This way you won't miss any information related to that subproject and it will be simple for me to keep the track off all changes with out skimming a general changelog.
#### Problems remember which version you have?
General update for all mods are to
* Replace plugin specific server files
* Copy and save plugin specific customization file
* Replace plugin client folder, e.g. "mpmission\Exile.<map>\ExAdClient\HaloParachute"
* Compare old with new customize.sqf file - add extras
* Replace app specific files if there are any, e.g. for Virtual Garage

View File

@ -0,0 +1,45 @@
# Introduction
PLEASE NOTE THIS GUIDE ONLY COVERES THE ExAd MISSION FILE INSTALLATION.<br />
THE MISSING SERVER AND DATABASE INSTRUCTION CAN BE FOUND [HERE](https://github.com/ole1986/a3-exile-scratchie/tree/ExAd)
**Requirements**
Please note that the Scratchie plugin has the following ExAd dependencies
* Core
* XM8
**Installation**
* Copy the folder "source\ExAdClient\Scratchie" into "mpmissions\exile.\ExAdClient"
* Open the "mpmissions\exile.\ExAdClient\CfgFunctions.cpp" and add the following line inside `class ExAd`
```
#include "Scratchie\CfgFunctions.cpp"
```
* Amend the `class CfgXM8` from "mpmissions\exile.\config.cpp" the following (to make Scratchie app available in XM8)
```
class CfgXM8 {
extraApps[] = {"ExAd_Scratchie"};
class ExAd_Scratchie
{
title = "Play Scratchie";
controlID = 80000;
logo = "ExAdClient\Scratchie\icons\scratchie.paa";
onLoad = "ExAdClient\Scratchie\onLoad.sqf";
onOpen = "ExAdClient\Scratchie\onOpen.sqf";
onClose = "ExAdClient\Scratchie\onClose.sqf";
};
}
```
* Customize the "mpmissions\exile.\description.ext" by adding the below line into `class CfgRemoteExec` -> `class Functions`
```
class ExileServer_lottery_network_request { allowedTargets = 2; }
```

View File

@ -0,0 +1,39 @@
# Installation
Remember for this plugin to work you first need to install
* [Core](https://github.com/Bjanski/ExAd/blob/master/docs/core/installation.md)
* [XM8](https://github.com/Bjanski/ExAd/blob/master/docs/xm8/installation.md)
## Client
* Place the folder "StatsBar" into "mpmissions\exile.<MAP>\ExAdClient\"
* Goto "mpmissions\exile.<MAP>\ExAdClient\RscTitles.cpp" and uncomment
```cpp
//#include "StatsBar\RscTitles.cpp"
```
* Goto "mpmissions\exile.<MAP>\ExAdClient\CfgFunctions" and uncomment
_From_
```cpp
//#include "StatsBar\CfgFunctions.cpp"
```
_To_
```cpp
#include "StatsBar\CfgFunctions.cpp"
```
* In "config.cpp" in the mission root folder, add to the following class "CfgXM8"
```js
class CfgXM8
{
extraApps[] = {"ExAd_SB"};
class ExAd_SB
{
title = "Statsbar Settings";
controlID = 50400; //IDC:50400 -> 50475 || These need to be unique and out of range from each other
logo = "exile_assets\texture\ui\xm8_app_settings_ca.paa";
onLoad = "ExAdClient\XM8\Apps\SB_Settings\onLoad.sqf";
};
};
```

5
docs/StatsBar/update.md Normal file
View File

@ -0,0 +1,5 @@
#StatsBar
## Instructions:
### 160801 . v0.8.0
* Full installation

View File

@ -0,0 +1,40 @@
# Installation
Remember for this plugin to work you first need to install
* [Core]((https://github.com/Bjanski/ExAd/blob/master/docs/core/installation.md)
## Client
* Make sure the VehicleSalvage folder is present in mpmissions\missionname.mapname\ExAdClient
* Goto "mpmissions\exile.<MAP>\ExAdClient\CfgFunctions" and uncomment
_From_
```cpp
//#include "VehicleSalvage\CfgFunctions.cpp"
```
_To_
```cpp
#include "VehicleSalvage\CfgFunctions.cpp"
```
* In "config.cpp" find "CfgInteractionMenus"
* Under CfgInteractionMenus you will see "class Car"
* Add to the bottom of "class Car" menus this:
```cpp
class ExAdSalvage: ExileAbstractAction
{
title = "<t color='#ff0000'>ExAd Salvage Aircraft</t>";
condition = "(!(alive (ExileClientInteractionObject)))";
action = "_this call ExAd_fnc_vehicleSalvage";
};
```
* Make sure it follows the formatting of the rest of the actions.
* Repeat this to add it to "class Air", "class Boat" and "class Tank" if you have it. Vanilla servers do not have "class Tank" so you may need to add it yourself.
ALL DONE! Enjoy :D

View File

@ -1,48 +0,0 @@
# Installation
Remember for this plugin to work you first need to install
* [Core](https://github.com/Bjanski/ExAd/blob/Core/docs/core/installation.md)
* [XM8 Apps Improved](https://github.com/vitalymind/XM8_apps_improved)
## Client
* Place the folder "VirtualGarage" into "mpmissions\exile.<MAP>\ExAdClient\"
* Goto "mpmissions\exile.<MAP>\ExAdClient\CfgFunctions" and uncomment
_From_
```cpp
//#include "VirtualGarage\CfgFunctions.cpp"
```
_To_
```cpp
#include "VirtualGarage\CfgFunctions.cpp"
```
* Repeat last step for "CfgHints"
* In "config.cpp" in the mission root folder, find class CfgExileCustomCode and add the following row
```js
ExileServer_system_territory_database_load = "ExAdClient\CustomCode\ExileServer_system_territory_database_load.sqf";
```
* In "config.cpp" you can also add the ("CfgInteractionMenus" >> "Flag" >> "VG") class if you want to be able to fast load the app through your flag pole.
* Now you can go into "mpmissions\exile.<MAP>\ExAdClient\VirtualGarage\customize.sqf" and change to desirable settings.
### XM8 App
* Copy over "XM8_apps\apps\XM8_VG"
* Add the app inside "XM8_apps\XM8_apps_config.sqf"
* Add "mainVGSlide" in "XM8_apps\XM8_apps\XM8_apps_sliders.hpp"
## Server
* Copy over and pack "@ExileServer\addons\exad_vg" into a pbo.
## Database
* Run the following sql command in you database.
```sql
ALTER TABLE `vehicle` ADD `territory_id` INT(11) UNSIGNED NULL DEFAULT NULL;
ALTER TABLE `vehicle` ADD CONSTRAINT `vehicle_ibfk_2` FOREIGN KEY (`territory_id`) REFERENCES `territory`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
```
* Copy over content from "@ExileServer\extDB\sql_custom_v2\exile.ini" - Follow the instructions in the file.

11
docs/XM8/createApp.md Normal file
View File

@ -0,0 +1,11 @@
#Create Apps
To create an app you need follow 4 simple steps
1.
2.
3.
4.

42
docs/XM8/installation.md Normal file
View File

@ -0,0 +1,42 @@
# Installation
Remember for this plugin to work you first need to install
* [Core](https://github.com/Bjanski/ExAd/blob/master/docs/core/installation.md)
## Client
* Place the folder "XM8" into "mpmissions\exile.<MAP>\ExAdClient\"
* Goto "mpmissions\exile.<MAP>\ExAdClient\CfgFunctions" and uncomment
_From_
```cpp
//#include "XM8\CfgFunctions.cpp"
```
_To_
```cpp
#include "XM8\CfgFunctions.cpp"
```
* In "config.cpp" in the mission root folder, find class CfgExileCustomCode and add the following row
```js
ExileClient_gui_xm8_slide = "ExAdClient\XM8\CustomCode\ExileClient_gui_xm8_slide.sqf";
ExileClient_gui_xm8_show = "ExAdClient\XM8\CustomCode\ExileClient_gui_xm8_show.sqf";
```
* In "config.cpp" in the mission root folder, create following class "CfgXM8", e.g. with Virtual Garage app
```js
class CfgXM8
{
extraApps[] = {"ExAd_VG"};
class ExAd_VG
{
title = "Virtual Garage";
controlID = 50000; //IDC:50000 -> 50014
onLoad = "ExAdClient\XM8\Apps\VG\onLoad.sqf";
onOpen = "ExAdClient\XM8\Apps\VG\onOpen.sqf";
onClose = "ExAdClient\XM8\Apps\VG\onClose.sqf";
};
};
```

5
docs/XM8/update.md Normal file
View File

@ -0,0 +1,5 @@
#XM8
## Instructions:
### 160603 . v0.7.7
* Full installation

View File

@ -3,7 +3,7 @@
This is the core package that needs to be installed for all other ExAd plugins/addons to work.
IMPORTANT!!
Keep the folder struction att all time when copying over files.
Keep the folder structure at all time when copying over files.
## Client
* Copy missionconfig classes from "mpmissions\Exile.Altis\description.ext\" into your own description.ext
@ -29,9 +29,13 @@ class CfgFunctions
};
```
* Copy over "Core" from "mpmissions\Exile.Altis\ExAdClient\"
* Copy over all files in "mpmissions\Exile.Altis\ExAdClient\"
These files includes the installation requirements for all other ExAd plugins
E.g in "mpmissions\Exile.Altis\ExAdClient\CfgFunctions.cpp" you can see that there are alot of lines commented out some of these need to be uncommented for plugins to work. Each plugin will describe more in detail which ones need to be adjusted.
E.g in "mpmissions\Exile.Altis\ExAdClient\CfgFunctions.cpp" you can see that there are alot of lines commented out some of these need to be uncommented for plugins to work. Each plugin will describe more in detail which ones need to be adjusted.
* Copy over "mpmissions\exile.<MAP>\stringtable.xml"
## Server
* Navigate to "@ExileServer\addons\"

29
docs/core/update.md Normal file
View File

@ -0,0 +1,29 @@
#Core
## Instructions:
### v0.7.7
* Replace "mpmissions\Exile.<map>\ExAdClient\Core"
### v0.7.6
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\Core\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\Core" - Big update
* Replace and pack "@ExileServer\addons\exad_core"
### v0.7.3
* Replace "mpmissions\Exile.<map>\ExAdClient\Core\postInit.sqf"
### v0.7.0
* Replace "ExAdClient\Core\customize.sqf"
### v0.5.1
* Description.ext was wrongly configured fixed ("CfgRemoteExec" >> "Functions")
```js
class ExAdServer_fnc_clientRequest { allowedTargets=2; };
```
### v0.5.1
* Add "ExAdClient\Core\Img"
### v0.5.0
* Full installation

BIN
logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -21,9 +21,9 @@ class ExAd
{
tag = "ExAd";
#include "Core\CfgFunctions.cpp"
//#include "VirtualGarage\CfgFunctions.cpp"
//#include "AdminEvents\CfgFunctions.cpp"
//#include "Hacking\CfgFunctions.cpp"
//#include "Grinding\CfgFunctions.cpp"
//#include "HaloParachute\CfgFunctions.cpp"
//#include "XM8\CfgFunctions.cpp"
//#include "StatsBar\CfgFunctions.cpp"
//#include "VehicleSalvage\CfgFunctions.cpp"
};

View File

@ -1,31 +0,0 @@
#Core
## Changelog:
### 160430 09:20 . v0.5.2
#### Fixed
* Description.ext was wrongly configured
#### Added
#### Deleted
### 160429 14:04 . v0.5.1
#### Fixed
* AdvHint trying to show EXO Logo
#### Added
* ExAd Logo.png
#### Deleted
* EXO Logo.png
### 160425 12:00 . v0.5.0
#### Fixed
#### Added
* Introduced **Core** to the ExAd package
#### Deleted

View File

@ -30,4 +30,5 @@ class Utilities
class advancedHint {};
class call {};
class getNearByLocalVeh {};
class localize {};
};

View File

@ -15,8 +15,8 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
params ["_fnc","_exception",["_server", false]];
params ["_fnc","_exception"];
if(ExAd_Debug)then{
diag_log format["ExAd%3 Debugger: Error in %1 - '%2'",_fnc, _exception, (if(_server)then{"Server"}else{""})]
diag_log format["ExAd%3 Debugger: Error in %1 - '%2'",_fnc, _exception, (if(isDedicated)then{"Server"}else{""})]
}

View File

@ -0,0 +1 @@
/* fn_localize.sqf Copyright 2016 Jan Babor Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ params [ ["_key", "", [""]], ["_value","N/A",[""]] ]; if(count _key == 0)exitWith{["localize", "_key is undefined/empty"] call ExAd_fnc_DebugHandler}; call compile format['%1 = if(isLocalized "%1")then{localize "%1"}else{"%2"};', _key, _value]; true

View File

@ -1,15 +0,0 @@
#Core
## Instructions:
### 160430 09:20 . v0.5.1
#### Update
* Description.ext was wrongly configured fixed ("CfgRemoteExec" >> "Functions")
```js
class ExAdServer_fnc_clientRequest { allowedTargets=2; };
```
### 160429 14:04 . v0.5.1
#### Update
* Add "ExAdClient\Core\Img"
### 160425 12:00 . v0.5.0
#### Full installation

View File

@ -16,4 +16,14 @@
limitations under the License.
*/
ExAd_Debug = true; //True/False If you want the ExAd code to generate debug logs.
ExAd_Debug = true; //BOOLEAN - If you want the ExAd code to generate debug logs
Exad_Logging = true; //BOOLEAN - If you want the ExAd code to generate extra logs. - Requires InfiStar installed
ExAd_Log_Folder = "ExAd_Logs"; //STRING - The folder ExAd writes logs to. You need to create the defined folder if it doesn't exist. If you don't create it - the DLL won't be able to write any Log files
ExAd_Hint_Title_Color = "#E48A36"; //STRING - Hint message color
ExAd_Hint_Title_Size = 1.5; //SCALAR - Hint title size
ExAd_Hint_Title_Font = "TahomaB"; //STRING - Hint title font
ExAd_Hint_Msg_Color = "#ffffff"; //STRING - Hint message color
ExAd_Hint_Msg_Size = 1; //SCALAR - Hint message size
ExAd_Hint_Msg_Font = "TahomaB"; //STRING - Hint message font

View File

@ -14,7 +14,25 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
execVM "ExAdClient\Core\customize.sqf";
_path = "ExAdClient\Core\customize.sqf";
call compile preprocessFileLineNumbers _path;
if(isNil "ExAd_Debug")then{ExAd_Debug = true;};
if(isNil "ExAd_Logging")then{ExAd_Logging = true;};
if(isDedicated)then{
if(!isClass(ConfigFile >> "CfgPatches" >> "a3_infiSTAR_Exile"))then{
ExAd_Logging = false;
["Core/postInit","Server can't find InfiStar addon"] call ExAd_fnc_debugHandler
}
};
if(isNil "ExAd_Log_Folder")then{ExAd_Log_Folder = "ExAd_Logs";};
if(isNil "ExAd_Hint_Title_Color")then{ExAd_Hint_Title_Color = "#E48A36";};
if(isNil "ExAd_Hint_Title_Size")then{ExAd_Hint_Title_Size = 1.5;};
if(isNil "ExAd_Hint_Title_Font")then{ExAd_Hint_Title_Font = "TahomaB";};
if(isNil "ExAd_Hint_Msg_Color")then{ExAd_Hint_Msg_Color = "#ffffff";};
if(isNil "ExAd_Hint_Msg_Size")then{ExAd_Hint_Msg_Size = 1;};
if(isNil "ExAd_Hint_Msg_Font")then{ExAd_Hint_Msg_Font = "TahomaB";};

View File

@ -18,8 +18,5 @@
//#include "Core\ExAd.cpp"
//#include "VirtualGarage\ExAd.cpp"
//#include "AdminEvents\ExAd.cpp"
//#include "Hacking\ExAd.cpp"
//#include "Grinding\ExAd.cpp"
//#include "HaloParachute\ExAd.cpp"
//#include "HaloParachute\ExAd.cpp"

View File

@ -1,11 +0,0 @@
#VirtualGarage
## Changelog:
### 160502 23:15 . v0.6.0
#### Fixed
#### Added
* Grinding introduced
* Grinding battleye scripts
#### Deleted

View File

@ -1,92 +0,0 @@
/*
fn_grindLock.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private ["_soundSrc","_ticker"];
if(vehicle player != player)exitWith{false};
ExAd_GRINDING_OBJECT = _this select 0;
ExAd_GRINDING = true;
call ExileClient_gui_interactionMenu_unhook;
_soundSrc = createSoundSource ["Sound_Factory10", position ExAd_GRINDING_OBJECT, [], 0];
player playActionNow "medicStart";
ExAd_DRAW3D_HANDLER = addMissionEventHandler ["Draw3D", {
private ["_object","_progress"];
_object = if(isNil "ExAd_GRINDING_OBJECT")then{cursorTarget}else{ExAd_GRINDING_OBJECT};
_progress = 1 min ((_object getVariable ["ExAd_Grinding_progress", 1]) / ExAd_GRINDING_OBJECT_MAX);
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 1], cursorTarget modelToWorld [0.5, -0.15, 1], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 0.95], cursorTarget modelToWorld [0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 1], cursorTarget modelToWorld [0.5, 0.15, 1], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 0.95], cursorTarget modelToWorld [0.5, 0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 1], cursorTarget modelToWorld [-0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, 1], cursorTarget modelToWorld [0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 1], cursorTarget modelToWorld [-0.5, 0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, 1], cursorTarget modelToWorld [0.5, -0.15, 0.95], [0,0,0,1]];
for "_i" from 1 to 49 do {
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((-0.5) + _progress), -0.15, 1 - (0.001 * _i)], [1,0.482,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, 0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((0.5) - _progress), 0.15, 1 - (0.001 * _i)], [1,0.482,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((-0.5) + _progress), -0.15, 1 - (0.001 * _i)], [0.55,0.55,0.55,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((0.5) - _progress), 0.15, 1 - (0.001 * _i)], [0.55,0.55,0.55,1]];
}
}];
_ticker = 1;
while{(ExAd_GRINDING_OBJECT == cursorTarget) && ExAd_GRINDING}do{
UISleep 1;
if(random[0,50,100] < 1)exitWith{
player removeItem "Exile_Item_Grinder";
['Whoops', [STR_ExAd_GRINDING_NOTI_BROKE]] call ExileClient_gui_notification_event_addNotification;
false
};
if!("Exile_Magazine_Battery" in (magazines player))exitWith{
['Whoops', [STR_ExAd_GRINDING_NOTI_EMPTY_BAT]] call ExileClient_gui_notification_event_addNotification;
false
};
if((_ticker % ExAd_GRINDING_PROGRESS_INTERVALL) == 0)then{
player removeItem "Exile_Magazine_Battery";
["grindProgress", [netId ExAd_GRINDING_OBJECT]] call ExAd_fnc_serverDispatch;
['Success', [STR_ExAd_GRINDING_NOTI_PROGRESS]] call ExileClient_gui_notification_event_addNotification;
player playActionNow "medicStart";
};
if(ExAd_GRINDING_OBJECT getVariable ["ExAd_Grinding_progress", 0] > ExAd_GRINDING_OBJECT_MAX)exitWith{
UISleep 2;
['Success', [STR_ExAd_GRINDING_NOTI_FINISHED]] call ExileClient_gui_notification_event_addNotification;
};
_ticker = _ticker + 1;
};
deleteVehicle _soundSrc;
player playActionNow "medicStop";
removeMissionEventHandler ["Draw3D",ExAd_DRAW3D_HANDLER];
ExAd_GRINDING_OBJECT = nil;
ExAd_GRINDING = false;
call ExileClient_gui_interactionMenu_unhook;
true

View File

@ -1,5 +0,0 @@
#VirtualGarage
## Instructions:
### 160502 23:15 . v0.6.0
#### Full installation

View File

@ -1,32 +0,0 @@
/*
postInit.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
execVM "ExAdClient\Grinding\customize.sqf";
ExAd_GRINDING = false;
STR_ExAd_GRINDING_NOTI_BROKE = if(isLocalized "STR_ExAd_GRINDING_NOTI_BROKE")then{localize "STR_ExAd_GRINDING_NOTI_BROKE"}else{"Your grinder broke, get a new one before you can continue."};
STR_ExAd_GRINDING_NOTI_EMPTY_BAT = if(isLocalized "STR_ExAd_GRINDING_NOTI_EMPTY_BAT")then{localize "STR_ExAd_GRINDING_NOTI_EMPTY_BAT"}else{"Find some batteries to get the grinder to work."};
STR_ExAd_GRINDING_NOTI_PROGRESS = if(isLocalized "STR_ExAd_GRINDING_NOTI_PROGRESS")then{localize "STR_ExAd_GRINDING_NOTI_PROGRESS"}else{"Your grinder broke, get a new one before you can continue."};
STR_ExAd_GRINDING_NOTI_FINISHED = if(isLocalized "STR_ExAd_GRINDING_NOTI_FINISHED")then{localize "STR_ExAd_GRINDING_NOTI_FINISHED"}else{"You have broken the code lock."};
STR_ExAd_GRINDING_NOTI_RESTORED = if(isLocalized "STR_ExAd_GRINDING_NOTI_RESTORED")then{localize "STR_ExAd_GRINDING_NOTI_RESTORED"}else{"You've changed the look"};

View File

@ -1,15 +0,0 @@
#HaloParachute
## Changelog:
### 160429 14:04 . v0.5.1
#### Fixed
* Added BattlEye exceptions
#### Added
#### Deleted
### 160425 12:00 . v0.5.0
#### Fixed
#### Added
* Introduced **HaloParachute** to the ExAd package
#### Deleted

View File

@ -20,11 +20,10 @@
class HaloParachute
{
file = "ExAdClient\HaloParachute\Functions";
class canDetachParachute {};
class ejectPlayer {};
class parachutesafemode {};
class pullParachute {};
class showEject {};
class showParachute {};
class customize {file = "ExAdClient\HaloParachute\postInit.sqf"; postInit = 1;};
class postInitHP {file = "ExAdClient\HaloParachute\postInit.sqf"; postInit = 1;};
};

View File

@ -18,10 +18,12 @@
private ["_parachuteObject"];
waitUntil {sleep 0.1; {player distance _x < 10 max (sizeOf typeOf _x)} count (player nearEntities ["Helicopter_Base_F", 20]) == 0};
waitUntil {sleep 0.1; ({player distance _x < (10 max (sizeOf typeOf _x))} count (player nearEntities ["Air", 20])) == 0};
if (!alive player || vehicle player != player) exitWith {};
if(backpack player == "B_Parachute")then{removeBackpack player};
_parachuteObject = createVehicle ["Steerable_Parachute_F", getPosATL player, [], 0, "CAN_COLLIDE"];
_parachuteObject setDir getDir player;
@ -37,8 +39,9 @@ if(ExAd_HALOPARACHUTE_SAFE_MODE)then{
[ExAd_PARACHUTE_SAFE_THREAD] call ExileClient_system_thread_removeTask;
};
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{
hint localize "STR_ExAd_HALOPARACHUTE_INFO_DETACH"
if(ExAd_HALOPARACHUTE_USE_KEY_ACTIONS)then{
//hint localize "STR_ExAd_HALOPARACHUTE_INFO_DETACH"
[localize "STR_ExAd_HALOPARACHUTE_INFO_DETACH"] spawn ExileClient_gui_baguette_show;
};
true
true

View File

@ -17,6 +17,8 @@
*/
if(vehicle player != player)exitWith{false};
if(backpack player == "B_Parachute")exitWith{false};
_condition = false;
if((getPos player) select 2 > ExAd_ACTION_PARACHUTE_HEIGHT)then{

View File

@ -1,8 +0,0 @@
#HaloParachute
## Instructions:
### 160429 14:04 . v0.5.1
#### Update
* Add battleye exceptions
### 160425 12:00 . v0.5.0
#### Full installation

View File

@ -17,7 +17,8 @@
*/
ExAd_HALOPARACHUTE_SAFE_MODE = false; //BOOLEAN - Force pull parachute when player reaches ExAd_ACTION_PARACHUTE_HEIGHT if they ejected from vehicle
ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE = false; //BOOLEAN - Allows player to detach himself from parachute
ExAd_HALOPARACHUTE_USE_ACTIONS = true; //BOOLEAN - Allows player to eject from all vehicles with a pressed key combination 'Alt+Shift+V'
ExAd_HALOPARACHUTE_USE_KEY_ACTIONS = true; //BOOLEAN - Show addActions on the screen
ExAd_ACTION_PARACHUTE_HEIGHT = 10; //SCALAR - What is the minimum altitude a player can pull a parachute. |RECOMMENDED 30 meters when safe_mode activated
ExAd_ACTION_EJECT_HEIGHT = 100; //SCALAR - What is the minimum altitude a player can Halo/Eject from a vehicle.
ExAd_ACTION_EJECT_HEIGHT = 100; //SCALAR - What is the minimum altitude a player can Halo/Eject from a vehicle.

View File

@ -17,7 +17,15 @@
*/
execVM "ExAdClient\HaloParachute\customize.sqf";
_path = "ExAdClient\HaloParachute\customize.sqf";
call compile preprocessFileLineNumbers _path;
if(isNil "ExAd_HALOPARACHUTE_SAFE_MODE")then{ExAd_HALOPARACHUTE_SAFE_MODE = false;};
if(isNil "ExAd_HALOPARACHUTE_USE_ACTIONS")then{ExAd_HALOPARACHUTE_USE_ACTIONS = true;};
if(isNil "ExAd_HALOPARACHUTE_USE_KEY_ACTIONS")then{ExAd_HALOPARACHUTE_USE_KEY_ACTIONS = true;};
if(isNil "ExAd_ACTION_PARACHUTE_HEIGHT")then{ExAd_ACTION_PARACHUTE_HEIGHT = 10;};
if(isNil "ExAd_ACTION_EJECT_HEIGHT")then{ExAd_ACTION_EJECT_HEIGHT = 0;};
[] spawn {
while {true} do {
@ -27,25 +35,33 @@ execVM "ExAdClient\HaloParachute\customize.sqf";
UISleep 0.1;
waitUntil{alive player};
ExAd_ACTION_PARACHUTE = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_PARACHUTE"], {call ExAd_fnc_pullParachute}, [], 6, true, true, "", "call ExAd_fnc_showParachute"];
ExAd_ACTION_EJECT = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_HALO"], {call ExAd_fnc_ejectPlayer}, [], 6, false, true, "", "call ExAd_fnc_showEject;"];
if(ExAd_HALOPARACHUTE_USE_ACTIONS)then{
ExAd_ACTION_PARACHUTE = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_PARACHUTE"], {[] spawn ExAd_fnc_pullParachute}, [], 6, true, true, "", "call ExAd_fnc_showParachute"];
ExAd_ACTION_EJECT = player addaction [format["<t color='#E48A36'><img image='\a3\ui_f\data\gui\cfg\CommunicationMenu\supplydrop_ca.paa' />%1</t>", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_HALO"], {call ExAd_fnc_ejectPlayer}, [], 6, false, true, "", "call ExAd_fnc_showEject;"];
};
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{
ExAd_ACTION_PARACHUTE_DETACH = (findDisplay 46) displayAddEventHandler ["KeyDown",{
if(call ExAd_fnc_canDetachParachute)then{
if(_this select 1 == 45 && _this select 2 && _this select 4)then{
if(ExAd_HALOPARACHUTE_USE_KEY_ACTIONS)then{
ExAd_ACTION_HALOPARACHUTE_USE_KEY_ACTIONS = (findDisplay 46) displayAddEventHandler ["KeyDown",{
if(_this select 1 == 47 && _this select 2 && _this select 4)then{
if((getPos player) select 2 > ExAd_ACTION_EJECT_HEIGHT && vehicle player != player)then{
call ExAd_fnc_ejectPlayer
}
}else{
if(call ExAd_fnc_showParachute)then{
[] spawn ExAd_fnc_pullParachute
}
}
}
}];
};
waitUntil{!alive player};
player removeAction ExAd_ACTION_PARACHUTE;
player removeAction ExAd_ACTION_EJECT;
if(ExAd_HALOPARACHUTE_USE_ACTIONS)then{
player removeAction ExAd_ACTION_PARACHUTE;
player removeAction ExAd_ACTION_EJECT;
};
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{
(findDisplay 46) displayRemoveEventHandler ["KeyDown", ExAd_ACTION_PARACHUTE_DETACH];
if(ExAd_HALOPARACHUTE_USE_KEY_ACTIONS)then{
(findDisplay 46) displayRemoveEventHandler ["KeyDown", ExAd_ACTION_HALOPARACHUTE_USE_KEY_ACTIONS];
};
};
};
};

View File

@ -17,4 +17,4 @@
*/
//#include "HUD\RscTitles.cpp"
//#include "StatsBar\RscTitles.cpp"

View File

@ -0,0 +1,3 @@
class Scratchie {
class postInitScratchie {file = "ExAdClient\Scratchie\postInit.sqf"; postInit = 1;};
}

View File

@ -0,0 +1,4 @@
if (ExileClientXM8CurrentSlide == "ExAd_Scratchie") then {
ExileClientXM8CurrentSlide = "apps";
};
ExAdCurFlagNetId = nil;

View File

@ -0,0 +1,51 @@
/*
onLoad.sqf
Copyright 2017 ole
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params["_display","_slide","_idc"];
_pW = 0.025;
_pH = 0.04;
_leftCol = 0;
_leftColW = 10;
_margin = 0.02;
_posX = _margin + _leftCol * _pW;
_slideClass = "ExAd_Scratchie";
// fixing index issue from ExAd_fnc_getNextIDC and ExAd_fnc_getAppCtrl
[_slideClass,"dummy"] call ExAd_fnc_getNextIDC;
[_display,_slide,([_slideClass,"InfoTitle"] call ExAd_fnc_getNextIDC),[_leftCol * _pW, 2.75 * _pH, 20 * _pW, 2 * _pH],"Counting Scratchies...","PuristaMedium",1.2,"#ffffff","left",1] call ExAd_fnc_createStructuredText;
[_display,_slide,([_slideClass,"backButton"] call ExAd_fnc_getNextIDC),[27.6 * _pW, 17.7 * _pH, 6 * _pW, 1 * _pH],'["extraApps", 1] call ExileClient_gui_xm8_slide;','Back'] call ExAd_fnc_createButton;
/* Buy button */
[_display,_slide,([_slideClass,"picBuy"] call ExAd_fnc_getNextIDC),[_posX, 5 * _pH, _leftColW * _pW, 7 * _pH],"ExAdClient\Scratchie\icons\scratchie-buy.paa",[1,1,1,1],false,false,""] call ExAd_fnc_createPicture;
[_display,_slide,([_slideClass,"buyButton"] call ExAd_fnc_getNextIDC),[_posX, 12 * _pH, _leftColW*_pW, 1*_pH],"['buy',ExileClientSessionId, player, ''] remoteExecCall ['ExileServer_lottery_network_request', 2]; [] spawn Scratchie_UpdateCount;",'Buy Scratchie',""] call ExAd_fnc_createButton;
/* Use button */
_posX = _posX + _margin + _leftColW * _pW;
[_display,_slide,([_slideClass,"picUse"] call ExAd_fnc_getNextIDC),[_posX, 5 * _pH, _leftColW * _pW, 7 * _pH],"ExAdClient\Scratchie\icons\scratchie.paa",[1,1,1,1],false,false,""] call ExAd_fnc_createPicture;
[_display,_slide,([_slideClass,"useButton"] call ExAd_fnc_getNextIDC),[_posX, 12 * _pH, _leftColW * _pW, 1 * _pH],"['use',ExileClientSessionId, player, ''] remoteExecCall ['ExileServer_lottery_network_request', 2]; [] spawn Scratchie_UpdateCount;",'Use Scratchie',""] call ExAd_fnc_createButton;
/* Get Prize button */
_posX = _posX + _margin + _leftColW * _pW;
[_display,_slide,([_slideClass,"picPrize"] call ExAd_fnc_getNextIDC),[_posX, 5 * _pH, _leftColW * _pW, 7 * _pH],"ExAdClient\Scratchie\icons\scratchie-prize.paa",[1,1,1,1],false,false,""] call ExAd_fnc_createPicture;
[_display,_slide,([_slideClass,"useButton"] call ExAd_fnc_getNextIDC),[_posX, 12 * _pH, _leftColW * _pW, 1 * _pH],"['get',ExileClientSessionId, player, ''] remoteExecCall ['ExileServer_lottery_network_request', 2];",'Get Prize',""] call ExAd_fnc_createButton;
true

View File

@ -0,0 +1,18 @@
private ["_flags","_flag"];
try
{
_display = uiNameSpace getVariable ["RscExileXM8", displayNull];
if(isNull _display)exitWith{
throw "XM8 not loaded!";
};
diag_log "Opening Scratchies slide";
[] spawn Scratchie_UpdateCount;
}
catch
{
["ErrorTitleAndText", ["ExAd - Scratchies", _exception]] call ExileClient_gui_toaster_addTemplateToast;
["extraApps", 1] call ExileClient_gui_xm8_slide
}

View File

@ -0,0 +1,34 @@
/*
postInit.sqf - Scratchie postInit used for ExAd
Copyright 2017 - ole1986
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
if (isDedicated) exitWith {};
private _code = {
disableSerialization;
private _display = uiNameSpace getVariable ["RscExileXM8", displayNull];
private _ctrl = [_display,"ExAd_Scratchie","InfoTitle"] call ExAd_fnc_getAppCtrl;
_ctrl ctrlSetStructuredText parseText "Counting Scratchies...";
sleep 3;
_ctrl ctrlSetStructuredText parseText (format ["You have <t color='#1ab42e'>%1 Scratchies</t> in your pocket", missionNamespace getVariable ["scratchieCount", 0]]);
};
missionNamespace setVariable ['Scratchie_UpdateCount', _code];
diag_log "Loaded Scratchie postInit";

View File

@ -0,0 +1,49 @@
/*
CfgFunctions.cpp
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
class StatsBar
{
file = "ExAdClient\StatsBar\Functions";
class formatNbrToPrefixStr {};
class formatSBImage {};
class formatSBOutput {};
class getBankStr {};
class getClanStr {};
class getCompassStr {};
class getFPSStr {};
class getGridStr {};
class getHPStr {};
class getHungerStr {};
class getKDStr {};
class getPlayersStr {};
class getRespectStr {};
class getTempStr {};
class getThirstStr {};
class getTimerStr {};
class getSBColor {};
class getWalletStr {};
class loadSB {};
class sbPowerToggle {};
class sbSave {};
class sbStop {};
class sbThread {};
class toggleExileHUD {};
class updateSB {};
class postInitSB {file = "ExAdClient\StatsBar\postInit.sqf"; postInit = 1;};
};

View File

@ -1,6 +1,6 @@
/*
CfgFunctions.cpp
fn_formatNbrToPrefixStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,15 +14,10 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params [["_nbr", 0, [0]], ["_response", ""], ["_prefix", ""]];
_prefix = if( _nbr >= 1000 ) then { if( _nbr >= 1000000 ) then {_nbr = _nbr / 1000000; "M" } else {_nbr = _nbr / 1000; "K" } }else{ "" };
class Grinding
{
file = "ExAdClient\Grinding\Functions";
class canGrindLock {};
class canRestoreLock {};
class grindLock {};
class restoreLock {};
class postInitGrinding {file = "ExAdClient\Grinding\postInit.sqf"; postInit = 1;};
};
format["%1%2", floor _nbr, _prefix]

View File

@ -1,6 +1,6 @@
/*
fn_canRestoreLock.sqf
fn_formatSBImage.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,6 +14,8 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
(('Exile_Item_Codelock' in (magazines player)) && (ExileClientInteractionObject getVariable ['ExAd_Grinding_progress', 0] > 0))
*/
params [["_src","",[""]],["_size",ExAd_SB_Img_Size,[0]]];
format["<img size='%2' image='%1' />", _src,_size]

View File

@ -1,6 +1,6 @@
/*
CfgFunctions.cpp
fn_formatSBOutput.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,15 +14,13 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params [["_elements", [], [[]]], ["_color","",[""]], ["_text",""]];
class VirtualGarage
{
file = "ExAdClient\VirtualGarage\Functions";
class allowVGStore {};
class fillVGList {};
class loadVGDetailView {};
class onBtnClickVG {};
class postInit {file = "ExAdClient\VirtualGarage\postInit.sqf"; postInit = 1;};
};
_text = format["%1%3%2", _text, _x, ExAd_SB_Text_InnerMargin];
}forEach _elements;
_color = if(count _color > 0)then{format["color='%1'",_color]}else{_color};
format["<t %3>%1%2%1</t>", ExAd_SB_Text_Margin , _text , _color ]

View File

@ -0,0 +1,24 @@
/*
fn_getBankStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_img","_text"];
_img = [ExAd_SB_ICON_BANK] call ExAd_fnc_formatSBImage;
_text = [player getVariable ["ExileLocker", 0]] call ExAd_fnc_formatNbrToPrefixStr;
[[_img, _text]] call ExAd_fnc_formatSBOutput

View File

@ -1,6 +1,6 @@
/*
fn_canGrindLock.sqf
fn_getClanStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,6 +14,11 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
(((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && !ExAd_GRINDING && ('Exile_Item_Grinder' in (magazines player)))
*/
private["_img","_text"];
_img = [ExAd_SB_ICON_CLAN] call ExAd_fnc_formatSBImage;
_text = "N/A";
[[_img, _text]] call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,40 @@
/*
fn_getCompassStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_img","_dir"];
_img = [ExAd_SB_ICON_COMPASS] call ExAd_fnc_formatSBImage;
_dir = direction player;
try
{
if(_dir >= 337.5 || _dir < 22.5 )then{throw "N"};
if(_dir >= 22.5 && _dir < 67.5 )then{throw "NE"};
if(_dir >= 67.5 && _dir < 112.5 )then{throw "E"};
if(_dir >= 112.5 && _dir < 157.5 )then{throw "SE"};
if(_dir >= 157.5 && _dir < 202.5 )then{throw "S"};
if(_dir >= 202.5 && _dir < 247.5 )then{throw "SW"};
if(_dir >= 247.5 && _dir < 292.5 )then{throw "W"};
if(_dir >= 292.5 && _dir < 337.5 )then{throw "NW"};
throw "N/A"
}
catch
{
[[_img, _exception, round _dir]] call ExAd_fnc_formatSBOutput
}

View File

@ -0,0 +1,31 @@
/*
fn_getFPSStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_img","_text"];
_request = [];
_img = format["<t size='%1'>FPS</t>", ExAd_SB_Img_Size];
_text = floor diag_fps;
_request pushBack [_img,_text];
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
_request pushBack ([0,40,_text] call ExAd_fnc_getSBColor)
};
_request call ExAd_fnc_formatSBOutput

View File

@ -1,6 +1,6 @@
/*
fn_loadVGDetailView.sqf
fn_getGridStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,14 +14,13 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params ["_text","_idc"];
disableSerialization;
private["_img","_grid","_text"];
_display = uiNameSpace getVariable ["RscExileXM8", displayNull];
_grid = mapGridPosition player;
if(isNull _display)exitWith{false};
_img = [ExAd_SB_ICON_GRID] call ExAd_fnc_formatSBImage;
_text = format["%1|%2",_grid select [0,3],_grid select [3,3]];
(_display displayCtrl _idc) ctrlSetStructuredText parseText _text;
true
[[_img, _text]] call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,31 @@
/*
fn_getHPStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_img","_text"];
_request = [];
_img = [ExAd_SB_ICON_HP] call ExAd_fnc_formatSBImage;
_text = round (ExileClientPlayerAttributes select 0);
_request pushBack [_img,_text];
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
_request pushBack ([0,100,_text] call ExAd_fnc_getSBColor)
};
_request call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,31 @@
/*
fn_getHungerStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_img","_text"];
_request = [];
_img = [ExAd_SB_ICON_HUNGER] call ExAd_fnc_formatSBImage;
_text = round (ExileClientPlayerAttributes select 2);
_request pushBack [_img,_text];
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
_request pushBack ([0,100,_text] call ExAd_fnc_getSBColor)
};
_request call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,34 @@
/*
fn_getClanStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_death","_img","_text"];
_request = [];
_death = if(ExileClientPlayerDeaths == 0)then{0.001}else{ExileClientPlayerDeaths};
_img = [ExAd_SB_ICON_KD] call ExAd_fnc_formatSBImage;
_text = [ExileClientPlayerKills / _death, 2] call ExileClient_util_math_round;
_request pushBack [_img,_text];
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
_request pushBack ([0,2,_text] call ExAd_fnc_getSBColor)
};
_request call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,24 @@
/*
fn_getPlayersStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_img","_text"];
_img = [ExAd_SB_ICON_PLAYERS] call ExAd_fnc_formatSBImage;
_text = count allPlayers;
[[_img, _text]] call ExAd_fnc_formatSBOutput

View File

@ -1,6 +1,6 @@
/*
fn_restoreLock.sqf
fn_getRespectStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,14 +14,11 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_img","_text"];
private ["_object","_databaseID"];
_img = [ExAd_SB_ICON_RESPECT] call ExAd_fnc_formatSBImage;
_text = [ExileClientPlayerScore] call ExAd_fnc_formatNbrToPrefixStr;
_object = objectFromNetId ([_this, 0, "",[""]] call BIS_fnc_param);
if(isNull _object)exitWith{false};
_object setVariable ["ExAd_Grinding_progress", 0, true];
true
[[_img, _text]] call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,44 @@
/*
fn_getSBColor.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params[["_min",0,[0]],["_max",1,[0]],["_cur",1,[0]],"_count","_diff","_color",""];
try
{
if(isNil "ExAd_SB_COMPONENTS_COLORS")then{throw ""};
_count = count ExAd_SB_COMPONENTS_COLORS;
if(_count == 0)then{throw ""};
if(_cur > _max)then{_max = _cur};
_diff = (_max - _min) / _count;
_color = ExAd_SB_COMPONENTS_COLORS select 0;
for "_i" from 0 to _count do {
if(_cur >= (_i * _diff) && _cur <= ((_i + 1) * _diff))then{throw (ExAd_SB_COMPONENTS_COLORS select _i);}
};
throw _color;
}
catch
{
if(count _exception == 0)then{
ExAd_SB_COMPONENTS_ACTIVE_COLORS = false;
};
_exception
}

View File

@ -1,5 +1,5 @@
/*
customize.sqf
fn_getTempStr.sqf
Copyright 2016 Jan Babor
@ -14,14 +14,20 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_img","_text"];
ExAd_GRINDING_PROGRESS_INTERVALL = 60; //SCALAR - Grinding, interval time measured in seconds.
_request = [];
ExAd_GRINDING_PROGRESS = 30; //SCALAR - Damage each finished interval will take from the code lock.
_img = [ExAd_SB_ICON_TEMP] call ExAd_fnc_formatSBImage;
_temp = [ExileClientPlayerAttributes select 5, 1] call ExileClient_util_math_round;
_text = _temp;
ExAd_GRINDING_OBJECT_MAX = 900; //SCALAR - Code lock sustainability.
_request pushBack [_img,_text, "°C"];
/*
The default values above means that a full succesful grind will take (900 / 30) * 60 = 1800 = 20 minutes
*/
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
_request pushBack ([0,37,_text] call ExAd_fnc_getSBColor)
};
_request call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,31 @@
/*
fn_getThirstStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_img","_text"];
_request = [];
_img = [ExAd_SB_ICON_THIRST] call ExAd_fnc_formatSBImage;
_text = round (ExileClientPlayerAttributes select 3);
_request pushBack [_img,_text];
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
_request pushBack ([0,100,_text] call ExAd_fnc_getSBColor)
};
_request call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,39 @@
/*
fn_getTimerStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_request","_time","_hours","_minutes","_img","_text"];
_request = [];
_time = serverTime;
_hours = (ExAd_SB_Timer - 1) - floor (_time / 3600);
_minutes = 59 - floor ((_time % 3600) / 60);
_img = [ExAd_SB_ICON_TIMER] call ExAd_fnc_formatSBImage;
_text = format["%1:%2", _hours,(if(_minutes < 10 )then{format["0%1",_minutes]}else{_minutes})];
_request pushBack [_img,_text];
if(ExAd_SB_COMPONENTS_ACTIVE_COLORS)then{
if(_hours > 0)then{
_request pushBack ([0,1,_hours] call ExAd_fnc_getSBColor)
}else{
_request pushBack ([0,60,_minutes] call ExAd_fnc_getSBColor)
};
};
_request call ExAd_fnc_formatSBOutput

View File

@ -0,0 +1,24 @@
/*
fn_getWalletStr.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_img","_text"];
_img = [ExAd_SB_ICON_Wallet] call ExAd_fnc_formatSBImage;
_text = [player getVariable ["ExileMoney", 0]] call ExAd_fnc_formatNbrToPrefixStr;
[[_img, _text]] call ExAd_fnc_formatSBOutput

View File

@ -1,5 +1,5 @@
/*
fn_restoreLock.sqf
fn_loadSB.sqf
Copyright 2016 Jan Babor
@ -14,20 +14,23 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
params["_object"];
private["_display"];
if(vehicle player != player)exitWith{false};
disableSerialization;
call ExileClient_gui_interactionMenu_unhook;
player playActionNow "medic";
ExAd_SB_Dialog_Layer cutRsc ["ExAd_STATSBAR", "PLAIN", 1];
_display = uiNameSpace getVariable ["ExAd_STATSBAR",displayNull];
_logoCtrl = _display displayCtrl ExAd_SB_Dialog_CtrlLogo_IDC;
UISleep 5;
player removeItem "Exile_Item_Codelock";
['Success', [STR_ExAd_GRINDING_NOTI_RESTORED]] call ExileClient_gui_notification_event_addNotification;
if(count ExAd_SB_ICON_LOGO > 0)then{
_logoCtrl ctrlSetText ExAd_SB_ICON_LOGO;
};
["restoreLock", [netId _object]] call ExAd_fnc_serverDispatch;
call ExAd_fnc_updateSB;
call ExileClient_gui_interactionMenu_unhook;
ExAd_SB_Thread = [ExAd_SB_Update_Rate, ExAd_fnc_sbThread, [], true] call ExileClient_system_thread_addtask;
true

View File

@ -0,0 +1,31 @@
/*
fn_sbPowerToggle.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
if(ExAd_SB_Active)then{
call ExAd_fnc_sbStop
}else{
call ExAd_fnc_loadSB
};
ExAd_SB_Active = !ExAd_SB_Active;
(_this select 0) ctrlSetText (if(!ExAd_SB_Active)then{STR_ExAd_SB_APP_BTN_SHOW}else{STR_ExAd_SB_APP_BTN_HIDE});
call ExAd_SB_fnc_thread;
true

View File

@ -0,0 +1,51 @@
/*
fn_sbSave.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
profileNamespace setVariable ["ExAd_SB_Update_Rate", ExAd_SB_Update_Rate];
profileNamespace setVariable ["ExAd_SB_Active", ExAd_SB_Active];
profileNamespace setVariable ["ExAd_SB_GUI_POS", ExAd_SB_GUI_POS];
profileNamespace setVariable ["ExAd_SB_GUI_TextColor", ExAd_SB_GUI_TextColor];
profileNamespace setVariable ["ExAd_SB_GUI_BgColor", ExAd_SB_GUI_BgColor];
profileNamespace setVariable ["ExAd_SB_Text_Margin", ExAd_SB_Text_Margin];
profileNamespace setVariable ["ExAd_SB_Text_InnerMargin", ExAd_SB_Text_InnerMargin];
profileNamespace setVariable ["ExAd_SB_Text_Font", ExAd_SB_Text_Font];
profileNamespace setVariable ["ExAd_SB_Text_Align", ExAd_SB_Text_Align];
profileNamespace setVariable ["ExAd_SB_Text_Size", ExAd_SB_Text_Size];
profileNamespace setVariable ["ExAd_SB_Img_Size", ExAd_SB_Img_Size];
profileNamespace setVariable ["ExAd_SB_Show_KD", ExAd_SB_Show_KD];
profileNamespace setVariable ["ExAd_SB_Show_HP", ExAd_SB_Show_HP];
profileNamespace setVariable ["ExAd_SB_Show_Thirst", ExAd_SB_Show_Thirst];
profileNamespace setVariable ["ExAd_SB_Show_Hunger", ExAd_SB_Show_Hunger];
profileNamespace setVariable ["ExAd_SB_Show_Wallet", ExAd_SB_Show_Wallet];
profileNamespace setVariable ["ExAd_SB_Show_Bank", ExAd_SB_Show_Bank];
profileNamespace setVariable ["ExAd_SB_Show_Respect", ExAd_SB_Show_Respect];
profileNamespace setVariable ["ExAd_SB_Show_FPS", ExAd_SB_Show_FPS];
profileNamespace setVariable ["ExAd_SB_Show_Time", ExAd_SB_Show_Time];
profileNamespace setVariable ["ExAd_SB_Show_Temp", ExAd_SB_Show_Temp];
profileNamespace setVariable ["ExAd_SB_Show_Grid", ExAd_SB_Show_Grid];
profileNamespace setVariable ["ExAd_SB_Show_Compass", ExAd_SB_Show_Compass];
profileNamespace setVariable ["ExAd_SB_Show_PlayerCount", ExAd_SB_Show_PlayerCount];
profileNamespace setVariable ["ExAd_SB_Show_ClanCount", ExAd_SB_Show_ClanCount];
profileNamespace setVariable ["ExAd_SB_COMPONENTS_ACTIVE_COLORS", ExAd_SB_COMPONENTS_ACTIVE_COLORS];
profileNamespace setVariable ["ExAd_SB_EXILE_HUD_ACTIVE", ExAd_SB_EXILE_HUD_ACTIVE];
true

View File

@ -1,6 +1,6 @@
/*
CfgHints.cpp
fn_sbStop.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
@ -14,9 +14,10 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
class ExAd
{
displayName = "ExAd Virtual Garage";
#include "VirtualGarage\CfgHints.cpp"
};
ExAd_SB_Dialog_Layer cutText ["", "PLAIN"];
[ExAd_SB_Thread] call ExileClient_system_thread_removeTask;
true

View File

@ -0,0 +1,50 @@
/*
fn_sbThread.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_display","_statsBarCtrl","_text"];
disableSerialization;
_display = uiNameSpace getVariable ["ExAd_STATSBAR",displayNull];
_statsBarCtrl = _display displayCtrl ExAd_SB_Dialog_CtrlBar_IDC;
_text = format[
"<t align='%2' shadow='0' valign='middle' font='%1' size='%3'>%4%5%6%7%8%9%10%11%12%13%14%15%16%17%18%4</t>",
ExAd_SB_Text_Font,
ExAd_SB_Text_Align,
ExAd_SB_Text_Size,
ExAd_SB_Text_Margin,
(if(ExAd_SB_Show_KD && ExAd_SB_Allow_KD)then{call ExAd_fnc_getKDStr}else{""}),
(if(ExAd_SB_Show_HP && ExAd_SB_Allow_HP)then{call ExAd_fnc_getHPStr}else{""}),
(if(ExAd_SB_Show_Thirst && ExAd_SB_Allow_Thirst)then{call ExAd_fnc_getThirstStr}else{""}),
(if(ExAd_SB_Show_Hunger && ExAd_SB_Allow_Hunger)then{call ExAd_fnc_getHungerStr}else{""}),
(if(ExAd_SB_Show_Wallet && ExAd_SB_Allow_Wallet)then{call ExAd_fnc_getWalletStr}else{""}),
(if(ExAd_SB_Show_Bank && ExAd_SB_Allow_Bank)then{call ExAd_fnc_getBankStr}else{""}),
(if(ExAd_SB_Show_Respect && ExAd_SB_Allow_Respect)then{call ExAd_fnc_getRespectStr}else{""}),
(if(ExAd_SB_Show_FPS && ExAd_SB_Allow_FPS)then{call ExAd_fnc_getFPSStr}else{""}),
(if(ExAd_SB_Show_Time && ExAd_SB_Allow_Time)then{call ExAd_fnc_getTimerStr}else{""}),
(if(ExAd_SB_Show_Temp && ExAd_SB_Allow_Temp)then{call ExAd_fnc_getTempStr}else{""}),
(if(ExAd_SB_Show_Grid && ExAd_SB_Allow_Grid)then{call ExAd_fnc_getGridStr}else{""}),
(if(ExAd_SB_Show_Compass && ExAd_SB_Allow_Compass)then{call ExAd_fnc_getCompassStr}else{""}),
(if(ExAd_SB_Show_PlayerCount && ExAd_SB_Allow_PlayerCount)then{call ExAd_fnc_getPlayersStr}else{""}),
(if(ExAd_SB_Show_ClanCount && ExAd_SB_Allow_ClanCount)then{call ExAd_fnc_getClanStr}else{""})
];
_statsBarCtrl ctrlSetStructuredText parseText _text;
true

View File

@ -0,0 +1,51 @@
/*
fn_sbThread.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_display","_exileCtrl","_text"];
disableSerialization;
_display = uiNameSpace getVariable ["RscExileHUD",displayNull];
_exileCtrl = _display displayCtrl 1300;
_exileCtrl ctrlShow ExAd_SB_EXILE_HUD_ACTIVE;
if(ExAd_SB_EXILE_HUD_ACTIVE)then{
_hungerLabel = _display displayCtrl 1303;
_hungerLabel ctrlShow (ExileHudMode isEqualTo 0);
_hungerValue = _display displayCtrl 1302;
_hungerValue ctrlShow (ExileHudMode isEqualTo 0);
_thirstLabel = _display displayCtrl 1305;
_thirstLabel ctrlShow (ExileHudMode isEqualTo 0);
_thirstValue = _display displayCtrl 1304;
_thirstValue ctrlShow (ExileHudMode isEqualTo 0);
_healthLabel = _display displayCtrl 1307;
_healthLabel ctrlShow (ExileHudMode isEqualTo 1);
_healthValue = _display displayCtrl 1306;
_healthValue ctrlShow (ExileHudMode isEqualTo 1);
_environmentTemperatureLabel = _display displayCtrl 1309;
_environmentTemperatureLabel ctrlShow (ExileHudMode isEqualTo 2);
_environmentTemperatureValue = _display displayCtrl 1308;
_environmentTemperatureValue ctrlShow (ExileHudMode isEqualTo 2);
_bodyTemperatureLabel = _display displayCtrl 1311;
_bodyTemperatureLabel ctrlShow (ExileHudMode isEqualTo 2);
_bodyTemperatureValue = _display displayCtrl 1310;
_bodyTemperatureValue ctrlShow (ExileHudMode isEqualTo 2);
};
true

View File

@ -0,0 +1,28 @@
/*
fn_sbThread.sqf
Copyright 2016 Jan Babor
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
private ["_display","_statsBarCtrl"];
_display = uiNameSpace getVariable ["ExAd_STATSBAR",displayNull];
_statsBarCtrl = _display displayCtrl ExAd_SB_Dialog_CtrlBar_IDC;
_statsBarCtrl ctrlSetPosition ExAd_SB_GUI_POS;
_statsBarCtrl ctrlSetBackgroundColor ExAd_SB_GUI_BgColor;
_statsBarCtrl ctrlSetTextColor ExAd_SB_GUI_TextColor;
_statsBarCtrl ctrlCommit 0;
true

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