From 1ceb25c1f7af7bc54aa78b3db573c61eab420410 Mon Sep 17 00:00:00 2001 From: vbawol Date: Wed, 23 Dec 2015 11:38:11 -0600 Subject: [PATCH] 0.3.7.003 --- Changelogs/0.3.7.0.txt | 1 + .../@epochhive/addons/a3_epoch_server.pbo | Bin 364251 -> 364388 bytes .../addons/a3_epoch_server_settings.pbo | Bin 279198 -> 279245 bytes .../@epochhive/addons/epoch_server_core.pbo | Bin 14116 -> 13446 bytes Server_Install_Pack/keys/epoch0360.bikey | Bin 162 -> 0 bytes Server_Install_Pack/keys/epoch0370.bikey | Bin 0 -> 162 bytes .../mpmissions/epoch.Altis.pbo | Bin 28093 -> 27886 bytes .../mpmissions/epoch.Australia.pbo | Bin 28147 -> 27938 bytes .../mpmissions/epoch.Bornholm.pbo | Bin 28112 -> 27903 bytes .../mpmissions/epoch.Chernarus.pbo | Bin 28213 -> 28004 bytes .../mpmissions/epoch.Chernarus_Summer.pbo | Bin 28269 -> 28060 bytes .../mpmissions/epoch.Esseker.pbo | Bin 28101 -> 27892 bytes .../mpmissions/epoch.Stratis.pbo | Bin 28135 -> 27926 bytes .../mpmissions/epoch.Takistan.pbo | Bin 28158 -> 27949 bytes Server_Install_Pack/mpmissions/epoch.VR.pbo | Bin 29261 -> 29051 bytes Server_Install_Pack/sc/battleye/scripts.txt | 1 - Sources/epoch_code/System/Animal_brain.fsm | 8 +- Sources/epoch_code/System/Copter_brain.fsm | 2 +- Sources/epoch_code/System/Dog_Brain.fsm | 24 +-- Sources/epoch_code/System/Event_Air_Drop.fsm | 10 +- Sources/epoch_code/System/Sapper_Brain.fsm | 22 +- Sources/epoch_code/System/Sapper_Brain2.fsm | 10 +- .../System/Trader_Missions_Delivery.fsm | 4 +- .../epoch_code/System/Trader_Missions_UAV.fsm | 4 +- .../epoch_code/System/Trader_Missions_VIP.fsm | 10 +- Sources/epoch_code/System/cloak.fsm | 4 +- Sources/epoch_code/System/cloakHover.fsm | 2 +- .../epoch_code/System/gender_selection.fsm | 8 +- Sources/epoch_code/System/player_login.fsm | 8 +- .../epoch_code/System/sapperSwarmMember.fsm | 4 +- .../System/sapperSwarmMemberDispose.fsm | 8 +- .../compile/EPOCH_EnterBuilding.sqf | 3 +- Sources/epoch_code/compile/EPOCH_LootIT.sqf | 3 +- Sources/epoch_code/compile/EPOCH_chopWood.sqf | 3 +- .../epoch_code/compile/EPOCH_consumeItem.sqf | 26 +-- Sources/epoch_code/compile/EPOCH_fish.sqf | 2 +- .../epoch_code/compile/EPOCH_lootTrash.sqf | 15 +- .../epoch_code/compile/EPOCH_mineRocks.sqf | 3 +- .../compile/EPOCH_supportCopter.sqf | 2 +- .../epoch_code/compile/EPOCH_unitSpawn.sqf | 2 +- .../compile/building/EPOCH_countdown.sqf | 4 +- .../compile/building/EPOCH_maintainIT.sqf | 3 +- .../compile/building/EPOCH_removeBUILD.sqf | 3 +- .../compile/building/EPOCH_simulSwap.sqf | 3 +- .../compile/building/EPOCH_staticMove.sqf | 2 +- .../compile/building/EPOCH_upgradeBUILD.sqf | 3 +- .../environment/EPOCH_client_bitePlayer.sqf | 2 +- .../EPOCH_client_loadAnimalBrain.sqf | 2 +- .../functions/EPOCH_fnc_playerDeath.sqf | 3 +- .../functions/EPOCH_fnc_playerFired.sqf | 9 +- .../EPOCH_KeyDown.sqf | 6 +- .../missions/EPOCH_mission_cage_sapper.sqf | 9 +- .../compile/p2p_trading/EPOCH_TradeLoop.sqf | 3 +- .../p2p_trading/EPOCH_startTRADEREQ.sqf | 4 +- .../compile/setup/masterLoop/Event3.sqf | 2 +- .../traders/EPOCH_startBankTransfer.sqf | 11 +- .../compile/traders/EPOCH_startNpcTrade.sqf | 3 +- .../compile/traders/EPOCH_takeCrypto.sqf | 15 +- Sources/epoch_code/config.cpp | 30 +-- .../gui/Epoch_GUI_ClientConfigs.hpp | 16 +- Sources/epoch_code/gui/Epoch_GUI_Config.hpp | 1 - .../scripts/Epoch_secureStorageHandler.sqf | 3 +- .../scripts/group/EPOCH_Group_BtnInvite.sqf | 8 +- .../gui/scripts/group/EPOCH_Group_BtnKick.sqf | 5 +- .../scripts/group/EPOCH_Group_BtnLeave.sqf | 8 +- .../gui/scripts/group/EPOCH_Group_BtnMod.sqf | 5 +- .../scripts/group/EPOCH_cGroup_BtnCreate.sqf | 7 +- .../group/EPOCH_iGroup_acceptInvite.sqf | 5 +- .../CfgActionMenu/CfgActionMenu_self.hpp | 4 +- .../CfgActionMenu/CfgActionMenu_target.hpp | 8 +- .../epoch_config/Configs/CfgEpochClient.hpp | 2 +- .../epoch_config/Configs/CfgGesturesMale.hpp | 3 +- .../epoch_config/Configs/CfgMovesBasic.hpp | 15 ++ .../epoch_config/Configs/CfgRemoteExec.hpp | 188 ++++++++++++++++++ Sources/epoch_config/Configs/CfgVehicles.hpp | 10 +- Sources/epoch_config/config.cpp | 11 +- Sources/epoch_server/config.cpp | 4 +- Sources/epoch_server/init/server_publicEH.sqf | 89 +++++---- Sources/epoch_server_settings/config.cpp | 2 +- .../configs/security/security_checks.h | 2 +- .../mpmissions/epoch.Altis/description.ext | 14 -- .../epoch.Australia/description.ext | 15 -- .../mpmissions/epoch.Bornholm/description.ext | 15 -- .../epoch.Chernarus/description.ext | 15 -- .../epoch.Chernarus_Summer/description.ext | 15 -- .../mpmissions/epoch.Esseker/description.ext | 15 -- .../mpmissions/epoch.Stratis/description.ext | 15 -- .../mpmissions/epoch.Takistan/description.ext | 15 -- Sources/mpmissions/epoch.VR/description.ext | 17 +- 89 files changed, 426 insertions(+), 412 deletions(-) delete mode 100644 Server_Install_Pack/keys/epoch0360.bikey create mode 100644 Server_Install_Pack/keys/epoch0370.bikey create mode 100644 Sources/epoch_config/Configs/CfgRemoteExec.hpp diff --git a/Changelogs/0.3.7.0.txt b/Changelogs/0.3.7.0.txt index 04f1b162..0eb04744 100644 --- a/Changelogs/0.3.7.0.txt +++ b/Changelogs/0.3.7.0.txt @@ -1,3 +1,4 @@ +[Fixed] Custom epoch swing animations for Hatchet and sledge now work correctly. WIP [Added] Hotwire Kit [Added] Key Makers Kit diff --git a/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo index 5390db93e47855b9647ff9ea2723bdc8a358a6b1..0ed7c2ecd10662026161a7542c46372d0972a6d9 100644 GIT binary patch delta 578 zcmcaTSM13=u?Dr9Ud|;z28JUy8j5&iNzT}OTkwDXL6Xni-lPL zto{@W)GQ-b<`h<5E}+)w(^#Q4{sfAFRmHL~=R%aTF=s(lnXohGfyEZFLyh3#fHI0W zm@}cOZUe;x5bh~TEz2xRo$koa>@#^C7Y}=_HN?s_oKUSIT+C@utyNsiiC_zE1I54$ zM{X!%IX81QRFx19RA&{8@rVZ+PTsuC8BkT5flROw(tONGU`8z;b3B-FhmScGs>+d{ zIR`AZmLKXjX#wV2)9YD{o{nW-~E2Ffg;+9gnTBYt73w^%-;WbRR|_v5Ap6bGjT8bH?;eCgzsuu6)c6(*u~9&rVlh zVNMf)8k3S*TvC)@8B&y3oS`(`k&W4D`p^ALJS-rirhjDtYEEEfPMLm^6=^ip=_yy?%_fl2~7fW#gSpmkcDK-N@FAd8U;$jaejPMdz6i#c(+H8+s8 z1Vr%iFlSG%E({C|$@zI{ndy4T1qDD30sy5qmOW==JN~3BOjl-eGE)^J zn}w-`g{j%*$IRMHjONY!Z0-DPj6lo;#LV0I*;wSc^b~4p6ykwKmLz88r4}h<7JFyr zrTC{QsE4N}7Ubu7nB+J(9ZO3x@{6n{JF+S(I_Kw=6lErrmgE-|Tk&%7a&fw(7AF^F7L;V> z=K%#cCqG~kspsWV00N)PN>y;o$;?hw z&~Oa!(G7OgRM1t(C@Co@w$j%xFE7_i$}BD^P07sHOU}>L2jbk)yv&kHeV{3+dBv&4 z`iVeebqm18>Ouu|MT$Y@>L!BB1-TJqz5C>YLY0#zu*^d7Pd!2Zcx0BPD!5h@WER1V zqN2Z?Nb?vje@*P=+We4Bk&zs~xu=#WxFnV&!UBqFzH=cp+Hm-;X5s~w&D%KFFq7*$ zpbwKWOQ`HWH`0?OF8@vDWn`axOIvue4u3oo1)eNQ%uA8UzC}cr{JBLmy%k9t#AQnMo@w+*H;J$@u4(ILn$t4aQL-maz7(G3on6CgAyASP2C`@s9u@YF(%%MVT2D^q($&Y^IR~Web$P9Gd!>s}k_bzr zmZbav+y6q3MQ^?I-fJ&C6uqYCH9)WZD~cTYd-FjJN!gNj-P9>0KoU70@4b2a&3kX& z46P{S`&Q=D4SB;mw|F;jTeXOXr#!5=LC7u34LV(~&0oo?mUqfuHGJKKZl6^*7oyjV z6v5vf{9=E5a)i#+gPo1t>cIZrjMD!_buZWXcVPaTAB?~poj=_e+<*4bX#IEBwqNAM zCkg)W!_g@0?d8=+{eLz}|IMJ88$Rj&`6#-3d4ukLKMH4b9;7>B{+AJ%R}XTs)4=~K z*!vByxp3_HDOkN*tL=xNKJZg~e|n1H^BFM7p7A!1IXk{!pYsb@j_Wli41BiUcES@j z&#DCWt)RXDh)+++MtdzUVrK#B@!$4b?nk`NdVZaU%wg*xcVZ&H9&|c^AF;JK4!z@E z>;?Y(cHmPn4_(h`glF)hdfF!X0(XmJ{kUoornNb*LrMs46c~ zTd%<$KdJ6~vHn?&=D=EX;k&am^L%zWJyqy8CWhC7z;IAwa5Lqrnac9a;?>L&;hK2j zPmUNDkQ~2iyklH{56z>Ba3rXwrwmvVj&^y}g{R;IWx9VEJ8@3{o9?!F6gf>U@co9C z6*%tG1)Apt@D1W9vu%Obvli?;yENN>!bVbqk5z=EIN<-~9AYZwY zAuptu3qMl8WPBou6V{Ju6vlj%y^`t`;Zxv7g)fui(Ull`fhazH;ziqDo5=^EYg0r8 zw;j0Nv;@$Ly|%l%_NC3c`iRbb5-nBVd>;avI}kpht2j zs^ldzbfHDV0XzXj0Xl7B zMzWhQn@cMGy_#7Z8Uh2?DPaixiS=FdNSE|A3FQq%==ja?65~OyRADNTd{4$$V3lEp zGMHcKcud`DH$>HLFATA4-#~8RJZZn>obYv8l2D7f6FVw)V{j$A5+QFF$Z20r@s7r% z^2jS9IHHA%AsG-)D-w-fB_2xSut%224EnV2I=oA~Xup>>V5lk?!-OR3dTYq)hA(1~W8pgaNGd4WL>snKrJJv3X_On*z-t`Z4bzAi@(e zjAAe)83|~amf2x>&bAQ|V4!u+Y1Z07Gs#7WC0n+`OqtBG38S0@ZqW1NbQ>kWP~!|i za$39HJ`W9QFU8PhSb0w-T9cHbCcsQ-#Y_neifa2NJfT()bBXX|s#g=DB@L+uAK{Z^ z<5b8kR_c9n1YW0JXEZ}u9Iy!4HNUB7WIcx9sps8OCaCv05-D&MltLc&LLUi7t2NU zjN*JD#hv1Kc2;Ca)sJKO2Oi6-?UamrrYxX2^KVa=AeSQC+B#X=?<9F5goEgqfBgiD zb|om3zPc|IipUL`&R0#PVHp?UCrm=1q!-0BgHviE&O;q5Wn{{CNv#(!0}IJI`wcnX zEe9kgykwhsF1lgfSX2+P7ML2(m{yoz9mlG-jrCX=){tM4AJSs zhVD{C?wYL9*(&`{7%^6CxG}5%W`cS5lu^tu*qN>VA11a`TnY=7O>toddh8P)vQJb; z1hhjOwtC!OBPWzf{t(oMyMaUdSHdP^JBpSux2~*?Kryw!iqiyR6g^}Vsk0&)MaC{v zZgch2Y4^l_l(^XBelu?AomMy-_e9^&f5c-PACMUjyN2{Xv%HyLh?a! zq2nDa3r`A!#15^j&DDzyDdo+a}DGu^xn{b>RgfZvBEn; zG#%>RG+3Q;LQr5ffhjX@=MD8h&xOJ$cFovgznb|a8Mg!nxK3}iXGehsg1<^N9Li@( zB=l1{B4bz>lq6c~cDY|)W+E?S^wc1{7v_?C0yTAkEJY$9i6;U17TUTOSxJ%s$+S%; zZ1RC>x)-jbAxueQYw*oMlM~1$IE{pm0Rw;80Tf0X_;4OHOnS^&zx?TV1M^{@pX;B* zypwmv#S zZE0(oyPiNajx2bq2jj5vfrpjy6!0j}HBRjbi%Ef^;oNmtnTs+1dr_s5NW_&Hq|^4j znggO5b0i;iE>eEO90OY2DeA0@7(3xbY^`@Dtk`K< z0%q2P)xc3$OT9B?ybbY69fq>hn^v?ZWqqq@{CH?T<1H-9Qgn$1VnAz(#7LLnSef;1 zzPNf|{WMc5PtRLF&lKati)H7_#3>l-Nxp&@F64`mH@22C#dvMZTF#UqS84qkWkRD; zaw(}4Oo}4;N;Z4T3dixmkJXv{kO a>YL+#KH5J2+duw2|0nlftKZHa|KvaGm|#%= diff --git a/Server_Install_Pack/keys/epoch0360.bikey b/Server_Install_Pack/keys/epoch0360.bikey deleted file mode 100644 index 808c59e1687f86bbc9d9c6e759ce1ab9f12b8245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmV;T0A2rOaBpL1Ff%qV0F(d#00sg8001Na08&#yF#rSr00962052=^wxEHeP0~4+ zjq>72kyH5vTAB`pt*>YvprYbsu*79`XqI!J;)!9da{p4J8HEtO_&1^#=Lvdr5jOul z2So@n+3Rbsm}m@&qD?qh)Z9ZotB(u4iDgK|9R-dGN&u QR!qo8vmtZ3{&Hf|#`U#C!TQE9f56CwWvv@!?Z4HuGlf(Dzxt<(R$czJxFB*|P_3*qJP2G;o7XZ`EZqny(Gt QWl{@>kM#aqR!`^4y(q6o4FCWD literal 0 HcmV?d00001 diff --git a/Server_Install_Pack/mpmissions/epoch.Altis.pbo b/Server_Install_Pack/mpmissions/epoch.Altis.pbo index 3ea57af42e5e56e8ab49136787a047a6c0a4b168..65ca77c1a1b463c8e7dff72dd26bc1e1600a6810 100644 GIT binary patch delta 87 zcmdmcoAKRE#tGIss=N$f;Jd0S48+dOEH2K>&(kX|%ms^^#6#qNuC5B(m~O%{`8qq_ f<_cEB3=xjH@2j>1?NB>({=15<+eUXun-AdtX-*t= delta 290 zcmaENlX35D#tGIsUw9e7z;f1yP!Kyev$!}jKTof?Fc&Ot5)YAg1IlkqH({yg9;&CM@Kb*)HE=H;s9J#lSzMf%pQl$`mkG2Mh^@=bQW f%~h9;&CM@Kb*)HE=H;s99IRH{ySHb`Q diff --git a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo index 9112b60fff674d2d74c744c2e5b7a4e8f95973fa..e0f29fb7eee971f15ce6a0fa620dd90e9d85dc74 100644 GIT binary patch delta 86 zcmca`oALim#tGIss=N$f@PB1h7>J#lSzMf%pQl$`mkG2Mh^@=bQW e%~h<<8N$b1A6_~3rtPMFkh}b9;&CM@Kb*)HE=H;s9&(kX|%ms_DiigPmUR@QoG2Mh^@=bQW g%~h<+Gek6>HROSS%*$2H%cY&(kX|%ms@-iigPmSzQ&jG2Mh^@=bQW f%~h=TGek^(7=H?OTgcWw|p31eD*HZo*Q}%axpy zSX`{&oR%Jxnwwve>ROSS%*$2H%cY&(kX|%ms^E#Y5!(uC5B(m~O%{`6fHx f<|_4zC3RAdheqqm*?(<6lTumKp delta 284 zcmexzlkw9;&CM@Kb*)HE=H;s9=p&(kX|%ms_b#6#r&udWK)m~O%{`6fHx f<|@|643Sw37g#kV`BvmxA1+(&b?an=V@L=9JQ*6# delta 284 zcmbPsi}Cqw#tGIs-*_3oKyKEDP!Kyev$!}jKTof?Fc&Ny6AzKM2g+|uH({yg9;&CM@Kb*)HE=H;s9&(kX|%ms@V$3x`*udWK)m~O%{`6fHx f<|@{L43Ry7pRN9XiBgif_o*ntsbkh<+qh2vdx{=3 delta 284 zcmZ2`i}BxW#tGIs-*_3oKw{R1P!Kyev$!}jKTof?Fc&Od91oGV1IlkqH({yg9;&CM@Kb*)HE=H;s9Btb_RE%7DHM2K#CU?q-bkqFB I`6|5i03udX#Q*>R diff --git a/Server_Install_Pack/mpmissions/epoch.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo index 3339b03c2b5e5a3c5d9167f953b4b59ba82e4b02..05b0f6a0edfd950cb1bcb147d83545b04283c1c3 100644 GIT binary patch delta 92 zcmX^6gz@(y#tGKirvw?mVDqY~Fc3R8v$!}jKTof?Fc&N?6AzJRT2r+#&5mVqF{>)8 kxt@WN_2vbvGjl}jqWsmasq5eO?rCwI#Az40pi_M(031FXZU6uP delta 285 zcmezUi1F+b#tGKibA%Yc;KM4lFc3R8v$!}jKTof?Fc&N?6AzKMU9Gk;&5or$C^a{~ zB-OPdHJO*InwLvKAvq_pxLCohG%vXXsIM3#1Qu6N$jwhlRj^esv<8VOC}d?80C@&b z9z>gKfWNaxd~s?~S!z*yabj6&d|7HnW^ztyG0YGJg~Xhk{PNV4ki??&)DqibTO+6m z=qA>J#UUibbm#os+{C;TpjjZN*cw<*p2%XsVX9}K1XRko`5ep49FdGkHv@Yn%<9lP Pt|!(YusT5R)3h%D$s|)( diff --git a/Server_Install_Pack/sc/battleye/scripts.txt b/Server_Install_Pack/sc/battleye/scripts.txt index fc477658..e9b292a6 100644 --- a/Server_Install_Pack/sc/battleye/scripts.txt +++ b/Server_Install_Pack/sc/battleye/scripts.txt @@ -1,6 +1,5 @@ //new2 7 EPOCH_C_SET !="!isNil \"EPOCH_C_SET\"" !="_array = EPOCH_C_SET;" !="EPOCH_C_SET = nil;" -7 EPOCH_GROUP_Delete_PVS !="EPOCH_GROUP_Delete_PVS = [player,Epoch_personalToken];" 7 "BIS_fnc_dynamictext" !="\"BIS_fnc_dynamictext"\" !", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;" !", 0, 0.4, 5, 2, 0, 2] spawn bis_fnc_dynamictext;" !", 0, 1, 6, 2, 0, 1] spawn bis_fnc_dynamictext;" !"snil '_fnc_scriptName') then {_fnc_scriptName}" 7 forceRespawn 7 setFriend diff --git a/Sources/epoch_code/System/Animal_brain.fsm b/Sources/epoch_code/System/Animal_brain.fsm index 7557c5d7..97c34055 100644 --- a/Sources/epoch_code/System/Animal_brain.fsm +++ b/Sources/epoch_code/System/Animal_brain.fsm @@ -222,7 +222,7 @@ class FSM " _sound = _sounds select (floor (random (count _sounds)));" \n " _animalAgent say3D _sound;" \n " EPOCH_say3D_PVS = [player, _animalAgent, (EPOCH_sounds find _sound),Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_say3D_PVS"";" \n + " EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n " };" \n "};" \n "" \n @@ -358,7 +358,7 @@ class FSM " if (_isDog) then {" \n " _animalAgent say3D ""dog_cry"";" \n " EPOCH_say3D_PVS = [player, _animalAgent, 3,Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_say3D_PVS"";" \n + " EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n " };" \n " };" \n " _courageTest = false;" \n @@ -369,7 +369,7 @@ class FSM " if (_isDog) then {" \n " _animalAgent say3D ""dog_bark"";" \n " EPOCH_say3D_PVS = [player, _animalAgent, 2,Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_say3D_PVS"";" \n + " EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n " _animalAgent playMoveNow ""Dog_Bark""; " \n " };" \n " _animalAgent setDir _dirTo; " \n @@ -379,7 +379,7 @@ class FSM " if (random 1 < 0.5) then { " \n " _animalAgent say3D ""dog_bark"";" \n " EPOCH_say3D_PVS = [player, _animalAgent, 2,Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_say3D_PVS"";" \n + " EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n " };" \n " };" \n "};"/*%FSM*/; diff --git a/Sources/epoch_code/System/Copter_brain.fsm b/Sources/epoch_code/System/Copter_brain.fsm index 388ad7ea..fd5793b6 100644 --- a/Sources/epoch_code/System/Copter_brain.fsm +++ b/Sources/epoch_code/System/Copter_brain.fsm @@ -451,7 +451,7 @@ class FSM "" \n "_copter say3D ""drone_alert0"";" \n "EPOCH_say3D_PVS = [player, _copter, 10,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "" \n "_troopsOnGround = true;" \n "(driver _copter) action [""lightOn"", _copter];" \n diff --git a/Sources/epoch_code/System/Dog_Brain.fsm b/Sources/epoch_code/System/Dog_Brain.fsm index 8ea05674..a88920bb 100644 --- a/Sources/epoch_code/System/Dog_Brain.fsm +++ b/Sources/epoch_code/System/Dog_Brain.fsm @@ -688,7 +688,7 @@ class FSM "if((random 100) < (_countNrPlyrs * 10))then{" \n "[_dog, _plyr] say3D ""dog_cry"";" \n "EPOCH_say3D_PVS = [player, _dog, 17,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n ""/*%FSM*/; @@ -730,7 +730,7 @@ class FSM "if (floor(random 100)< 8) then {" \n "[_dog, _plyr] say3D ""dog_cry"";" \n "EPOCH_say3D_PVS = [player, _dog, 17,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "_hunger = _hunger + 2;" \n "};" \n "" \n @@ -790,7 +790,7 @@ class FSM "if (floor(random 100)<_dogNoise) then {" \n "[_dog, _plyr] say3D ""dog_cry"";" \n "EPOCH_say3D_PVS = [player, _dog, 17,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "" \n @@ -850,7 +850,7 @@ class FSM "if (floor(random 100) < 6) then {" \n "[_dog, _plyr] say3D ""dog_bark"";" \n "EPOCH_say3D_PVS = [player, _dog, 2,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "if (floor(random 100)<_forgive) then {" \n @@ -976,7 +976,7 @@ class FSM "if (floor(random 100)<_dogNoise) then {" \n "[_dog, _plyr] say3D ""dog_cry"";" \n "EPOCH_say3D_PVS = [player, _dog, 17,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "_criteria = ""(moveToCompleted _dog) || (_dog distance _moveTo < 1.5)"";" \n @@ -1052,7 +1052,7 @@ class FSM "if (floor(random 75)<_dogNoise) then {" \n "[_dog, _plyr] say3D ""dog_cry_quiet"";" \n "EPOCH_say3D_PVS = [player, _dog, 17,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "_dirTo = [_dog, getPos (_nrPlyrs select 1)] call BIS_fnc_dirTo;" \n @@ -1092,7 +1092,7 @@ class FSM "if (_rnd < 42) then {" \n "[_dog, _plyr] say3D ""dog_bark"";" \n "EPOCH_say3D_PVS = [player, _dog, 18,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "if (_rnd < 6) then {" \n @@ -1226,20 +1226,20 @@ class FSM "if (_rnd< 12) then {" \n "[_dog, _plyr] say3D ""dog_bark"";" \n "EPOCH_say3D_PVS = [player, _dog, 2,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "if (_rnd < 6) then {" \n "_hunger = _hunger + 1;" \n "[_dog, _plyr] say3D ""dog_cry"";" \n "EPOCH_say3D_PVS = [player, _dog, 3,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "if ((_hunger > 56) && (_rnd < 48)) then {" \n "[_dog, _plyr] say3D ""dog_cry"";" \n "EPOCH_say3D_PVS = [player, _dog, 2,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "" \n @@ -1319,8 +1319,8 @@ class FSM init = /*%FSM*/"{" \n " if !(alive _x) then {" \n " if ((_x isKindOf ""Animal_Base_F"" && !(_x isKindOf ""Dog_Base_F"")) || (typeOf _x) in[""Epoch_Sapper_F"", ""Epoch_SapperB_F"", ""Epoch_Cloak_F"", ""I_UAV_01_F""]) then {" \n - " EPOCH_lootAnimal = [_x, player, Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_lootAnimal"";" \n + " [_x, player, Epoch_personalToken] remoteExec [""EPOCH_server_lootAnimal"",2];" \n + "" \n " };" \n " };" \n "" \n diff --git a/Sources/epoch_code/System/Event_Air_Drop.fsm b/Sources/epoch_code/System/Event_Air_Drop.fsm index fff46f69..872d3d4c 100644 --- a/Sources/epoch_code/System/Event_Air_Drop.fsm +++ b/Sources/epoch_code/System/Event_Air_Drop.fsm @@ -387,8 +387,8 @@ class FSM { name = "do_drop"; init = /*%FSM*/"" \n - "EPOCH_airDropCrate_PVS = [_axeCopter,_plyr,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_airDropCrate_PVS"";" \n + "" \n + "[_axeCopter,_plyr,Epoch_personalToken] remoteExec [""EPOCH_server_airDropCrate"",2];" \n "" \n "_dropDone = true;" \n "" \n @@ -467,8 +467,8 @@ class FSM "" \n "_dropPos = _plyrPos;" \n "" \n - "EPOCH_createAirDrop_PVS = [player,Epoch_personalToken,_startPos];" \n - "publicVariableServer ""EPOCH_createAirDrop_PVS"";" \n + "" \n + "[player,Epoch_personalToken,_startPos] remoteExec [""EPOCH_Server_createAirDrop"",2];" \n "" \n "" \n "_axeCopter = objNull;" \n @@ -717,4 +717,4 @@ class FSM "end" }; }; -/*%FSM*/ \ No newline at end of file +/*%FSM*/ diff --git a/Sources/epoch_code/System/Sapper_Brain.fsm b/Sources/epoch_code/System/Sapper_Brain.fsm index 69cfa926..855371a1 100644 --- a/Sources/epoch_code/System/Sapper_Brain.fsm +++ b/Sources/epoch_code/System/Sapper_Brain.fsm @@ -320,7 +320,7 @@ class FSM "" \n "_sapper say3D _sound;" \n "EPOCH_say3D_PVS = [player, _sapper,(EPOCH_sounds find _sound), Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "_doInterrupt = {" \n @@ -739,7 +739,7 @@ class FSM "_sound = ""sapper_explode"";" \n "_sapper say3D _sound;" \n "EPOCH_say3D_PVS = [player,_sapper,(EPOCH_sounds find _sound),Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "_sapper playMoveNow ""Unconscious"";" \n "" \n ""/*%FSM*/; @@ -1207,7 +1207,7 @@ class FSM "_bomb attachTo [_nestMate, [0,0,0],""Pelvis""];" \n "_nestMate setVariable [""bomb"",_bomb];" \n "EPOCH_TEMPOBJ_PVS = _nestMate;" \n - "publicVariableServer ""EPOCH_TEMPOBJ_PVS"";" \n + "EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n "_nestMate disableAI ""TARGET"";" \n "_nestMate disableAI ""AUTOTARGET"";" \n "_nestMate disableAI ""FSM"";" \n @@ -1246,8 +1246,8 @@ class FSM "" \n "[_nrBuild, _sapper] spawn {" \n "sleep 6;" \n - "EPOCH_SapperObjs_PVS = [_this select 0, player, Epoch_personalToken,_this select 1];" \n - "publicVariableServer ""EPOCH_SapperObjs_PVS"";" \n + "" \n + "[_this select 0, player, Epoch_personalToken,_this select 1] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n "};" \n "" \n "{" \n @@ -1255,15 +1255,15 @@ class FSM "_sound = ""sapper_explode"";" \n "_x say3D _sound;" \n "EPOCH_say3D_PVS = [player,_x,(EPOCH_sounds find _sound),Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "_x playMoveNow ""Unconscious"";" \n "" \n "_x spawn {" \n "sleep floor (random 3);" \n "_sBomb = _this getVariable [""bomb"",objNull];" \n "" \n - "EPOCH_SapperObjs_PVS = [_sBomb, player, Epoch_personalToken,_this,_this];" \n - "publicVariableServer ""EPOCH_SapperObjs_PVS"";" \n + "" \n + "[_sBomb, player, Epoch_personalToken,_this,_this] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n "" \n "_finalPos = getPosATL _this;" \n "_finalDir = getDir _this;" \n @@ -1369,8 +1369,8 @@ class FSM class do_boom { name = "do_boom"; - init = /*%FSM*/"EPOCH_SapperObjs_PVS = [_sBomb, player, Epoch_personalToken,_sapper,_sapper];" \n - "publicVariableServer ""EPOCH_SapperObjs_PVS"";" \n + init = /*%FSM*/"" \n + "[_sBomb, player, Epoch_personalToken,_sapper,_sapper] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n "" \n "_sBomb = objNull;" \n "_finalPos = getPosATL _sapper;" \n @@ -1636,7 +1636,7 @@ class FSM " _sound = ""sapper_groan2"";" \n " _sapper say3D _sound;" \n " EPOCH_say3D_PVS = [player, _sapper,(EPOCH_sounds find _sound), Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_say3D_PVS"";" \n + " EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n ""/*%FSM*/; }; diff --git a/Sources/epoch_code/System/Sapper_Brain2.fsm b/Sources/epoch_code/System/Sapper_Brain2.fsm index f1d7cafc..b38c70c7 100644 --- a/Sources/epoch_code/System/Sapper_Brain2.fsm +++ b/Sources/epoch_code/System/Sapper_Brain2.fsm @@ -267,7 +267,7 @@ class FSM "" \n "_sapper say3D _sound;" \n "EPOCH_say3D_PVS = [player, _sapper,(EPOCH_sounds find _sound), Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "_doInterrupt = {" \n @@ -633,7 +633,7 @@ class FSM "_sound = ""sapper_explode"";" \n "_sapper say3D _sound;" \n "EPOCH_say3D_PVS = [player,_sapper,(EPOCH_sounds find _sound),Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "_sapper playMoveNow ""Unconscious"";" \n "" \n ""/*%FSM*/; @@ -1040,8 +1040,8 @@ class FSM class do_boom { name = "do_boom"; - init = /*%FSM*/"EPOCH_SapperObjs_PVS = [_sBomb, player, Epoch_personalToken,_sapper,_sapper];" \n - "publicVariableServer ""EPOCH_SapperObjs_PVS"";" \n + init = /*%FSM*/"" \n + "[_sBomb, player, Epoch_personalToken,_sapper,_sapper] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n "" \n "_sBomb = objNull;" \n "" \n @@ -1269,7 +1269,7 @@ class FSM " _sound = ""sapper_groan2"";" \n " _sapper say3D _sound;" \n " EPOCH_say3D_PVS = [player, _sapper,(EPOCH_sounds find _sound), Epoch_personalToken];" \n - " publicVariableServer ""EPOCH_say3D_PVS"";" \n + " EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n ""/*%FSM*/; }; diff --git a/Sources/epoch_code/System/Trader_Missions_Delivery.fsm b/Sources/epoch_code/System/Trader_Missions_Delivery.fsm index 033c273e..8a34b6f7 100644 --- a/Sources/epoch_code/System/Trader_Missions_Delivery.fsm +++ b/Sources/epoch_code/System/Trader_Missions_Delivery.fsm @@ -974,8 +974,8 @@ class FSM "" \n "_plyr spawn {" \n "uiSleep 12;" \n - "EPOCH_FillContainer_PVS = [_this,Epoch_personalToken,objNull,false,15];" \n - "publicVariableServer ""EPOCH_FillContainer_PVS"";" \n + "" \n + "[_this,Epoch_personalToken,objNull,false,15] remoteExec [""EPOCH_server_fillContainer"",2];" \n "//hint ""Paying Out"";" \n "};" \n "" \n diff --git a/Sources/epoch_code/System/Trader_Missions_UAV.fsm b/Sources/epoch_code/System/Trader_Missions_UAV.fsm index b5bad7af..fa79ef90 100644 --- a/Sources/epoch_code/System/Trader_Missions_UAV.fsm +++ b/Sources/epoch_code/System/Trader_Missions_UAV.fsm @@ -1021,8 +1021,8 @@ class FSM init = /*%FSM*/"titleText [_wDiag,""PLAIN"", 6];" \n "" \n "" \n - "EPOCH_FillContainer_PVS = [_plyr,Epoch_personalToken,objNull,false,25];" \n - "publicVariableServer ""EPOCH_FillContainer_PVS"";" \n + "" \n + "[_plyr,Epoch_personalToken,objNull,false,25] remoteExec [""EPOCH_server_fillContainer"",2];" \n "" \n "if (_act != """") then {" \n "call compile _act;" \n diff --git a/Sources/epoch_code/System/Trader_Missions_VIP.fsm b/Sources/epoch_code/System/Trader_Missions_VIP.fsm index 85820fd5..eb15ec85 100644 --- a/Sources/epoch_code/System/Trader_Missions_VIP.fsm +++ b/Sources/epoch_code/System/Trader_Missions_VIP.fsm @@ -877,8 +877,8 @@ class FSM "_wDiag = """";" \n "_wDiag2 = """";" \n "" \n - "EPOCH_FillContainer_PVS = [_plyr,Epoch_personalToken,axeGeneralsBoat,false,25];" \n - "publicVariableServer ""EPOCH_FillContainer_PVS"";" \n + "" \n + "[_plyr,Epoch_personalToken,axeGeneralsBoat,false,25] remoteExec [""EPOCH_server_fillContainer"",2];" \n "" \n "_sWait = 1.5;" \n "_actionDone = true;" \n @@ -915,7 +915,7 @@ class FSM "" \n "if !(isNull axeVIP) then {" \n " EPOCH_TEMPOBJ_PVS = axeVIP;" \n - " publicVariableServer ""EPOCH_TEMPOBJ_PVS"";" \n + " EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n "};" \n "" \n "_grp setCombatMode ""BLUE"";" \n @@ -1039,7 +1039,7 @@ class FSM "" \n "if !(isNull axeGeneral) then {" \n " EPOCH_TEMPOBJ_PVS = axeGeneral;" \n - " publicVariableServer ""EPOCH_TEMPOBJ_PVS"";" \n + " EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n "};" \n "" \n " for ""_i"" from 1 to 3 step 1 do" \n @@ -1052,7 +1052,7 @@ class FSM " _unit addEventHandler [""Killed"", ""group (_this select 0) setVariable[""""killer"""",_this select 1]""];" \n " if !(isNull _unit) then {" \n " EPOCH_TEMPOBJ_PVS = _unit;" \n - " publicVariableServer ""EPOCH_TEMPOBJ_PVS"";" \n + " EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n " };" \n " [_unit,axeGeneral] execFSM ""\x\addons\a3_epoch_code\System\Mission_VIP_Militia.fsm"";" \n "" \n diff --git a/Sources/epoch_code/System/cloak.fsm b/Sources/epoch_code/System/cloak.fsm index 4afecf44..46b820e8 100644 --- a/Sources/epoch_code/System/cloak.fsm +++ b/Sources/epoch_code/System/cloak.fsm @@ -668,7 +668,7 @@ class FSM "if(diag_tickTime - _lastAlert > 480 && random 100 < _cAggression)then{" \n "_unit say3D ""cultist_laugh"";" \n "EPOCH_say3D_PVS = [player, _unit, 8,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "_lastAlert = diag_tickTime;" \n "" \n "" \n @@ -676,7 +676,7 @@ class FSM "" \n "_unit say3D ""cultist_talk"";" \n "EPOCH_say3D_PVS = [player, _unit, 7,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "" \n "};" \n "" \n diff --git a/Sources/epoch_code/System/cloakHover.fsm b/Sources/epoch_code/System/cloakHover.fsm index 471635cb..297d8f0b 100644 --- a/Sources/epoch_code/System/cloakHover.fsm +++ b/Sources/epoch_code/System/cloakHover.fsm @@ -40,7 +40,7 @@ class FSM "" \n "_unit say3D ""cultist_laugh"";" \n "EPOCH_say3D_PVS = [player, _unit, 8,Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "" \n "" \n "" \n diff --git a/Sources/epoch_code/System/gender_selection.fsm b/Sources/epoch_code/System/gender_selection.fsm index a0e86f9d..a043f63c 100644 --- a/Sources/epoch_code/System/gender_selection.fsm +++ b/Sources/epoch_code/System/gender_selection.fsm @@ -156,8 +156,8 @@ class FSM class Send_To_Server { name = "Send_To_Server"; - init = /*%FSM*/"EPOCH_respawnPlayer_PVS = [player, Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_respawnPlayer_PVS"";"/*%FSM*/; + init = /*%FSM*/"[player, Epoch_personalToken] remoteExec [""EPOCH_server_respawnPlayer"",2];" \n + "";"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -190,8 +190,8 @@ class FSM class Send_new_selection { name = "Send_new_selection"; - init = /*%FSM*/"EPOCH_respawnPlayer_PVS = [player, Epoch_personalToken,EPOCH_PlayerIsMale];" \n - "publicVariableServer ""EPOCH_respawnPlayer_PVS"";"/*%FSM*/; + init = /*%FSM*/"[player, Epoch_personalToken,EPOCH_PlayerIsMale] remoteExec [""EPOCH_server_respawnPlayer"",2];" \n + ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { diff --git a/Sources/epoch_code/System/player_login.fsm b/Sources/epoch_code/System/player_login.fsm index 222a0409..ccf94652 100644 --- a/Sources/epoch_code/System/player_login.fsm +++ b/Sources/epoch_code/System/player_login.fsm @@ -509,8 +509,7 @@ class FSM "" \n "Epoch_my_Group = [];" \n "" \n - "EPOCH_checkPlayer_PVS = player;" \n - "publicVariableServer ""EPOCH_checkPlayer_PVS"";" \n + "player remoteExec [""EPOCH_server_checkPlayer"",2];" \n "" \n "" \n """Loading Player Data... Please wait!"" call Epoch_updateLoadingScreen;" \n @@ -1375,10 +1374,7 @@ class FSM init = /*%FSM*/"startLoadingScreen ["""",""EpochLoadingScreen""];" \n """Gender Selected... Please wait!"" call Epoch_updateLoadingScreen;" \n "" \n - "" \n - "EPOCH_selectedGender_PVS = [player,EPOCH_PlayerIsMale];" \n - "publicVariableServer ""EPOCH_selectedGender_PVS"";" \n - "EPOCH_selectedGender_PVS = nil;" \n + "[player,EPOCH_PlayerIsMale] remoteExec [""EPOCH_server_loadPlayer"",2];" \n "EPOCH_PlayerIsMale = nil;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links diff --git a/Sources/epoch_code/System/sapperSwarmMember.fsm b/Sources/epoch_code/System/sapperSwarmMember.fsm index 66ded764..6e207b95 100644 --- a/Sources/epoch_code/System/sapperSwarmMember.fsm +++ b/Sources/epoch_code/System/sapperSwarmMember.fsm @@ -50,7 +50,7 @@ class FSM "" \n "if !(isNull _unit) then {" \n " EPOCH_TEMPOBJ_PVS = _unit;" \n - " publicVariableServer ""EPOCH_TEMPOBJ_PVS"";" \n + " EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n "};" \n "" \n "_randomGroan = {" \n @@ -59,7 +59,7 @@ class FSM "" \n "_unit say3D _sound;" \n "EPOCH_say3D_PVS = [player, _unit,(EPOCH_sounds find _sound), Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "};" \n "" \n "_sMarker = objNull;" \n diff --git a/Sources/epoch_code/System/sapperSwarmMemberDispose.fsm b/Sources/epoch_code/System/sapperSwarmMemberDispose.fsm index 99295352..ba7e6129 100644 --- a/Sources/epoch_code/System/sapperSwarmMemberDispose.fsm +++ b/Sources/epoch_code/System/sapperSwarmMemberDispose.fsm @@ -95,7 +95,7 @@ class FSM "_sound = ""sapper_explode"";" \n "_unit say3D _sound;" \n "EPOCH_say3D_PVS = [player,_unit,(EPOCH_sounds find _sound),Epoch_personalToken];" \n - "publicVariableServer ""EPOCH_say3D_PVS"";" \n + "EPOCH_say3D_PVS remoteExec [""EPOCH_server_handle_say3D"",2];" \n "_unit playMoveNow ""Unconscious"";" \n "" \n ""; @@ -174,8 +174,8 @@ class FSM { name = "do_boom"; itemno = ; - init = "EPOCH_SapperObjs_PVS = [_bomb, player, Epoch_personalToken,_unit,_unit];" \n - "publicVariableServer ""EPOCH_SapperObjs_PVS"";" \n + init = "" \n + "[_bomb, player, Epoch_personalToken,_unit,_unit] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n "" \n "_bomb = objNull;" \n "_finalPos = getPosATL _unit;" \n @@ -285,4 +285,4 @@ class FSM { "end" }; -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf b/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf index a853cdd2..634fefaa 100644 --- a/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf +++ b/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf @@ -13,6 +13,5 @@ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_EnterBuilding.sqf */ if !(isNull _this) then{ - EPOCH_oneWayTP = [player,_this,Epoch_personalToken]; - publicVariableServer "EPOCH_oneWayTP"; + [player,_this,Epoch_personalToken] remoteExec ["EPOCH_server_teleportPlayer",2]; }; diff --git a/Sources/epoch_code/compile/EPOCH_LootIT.sqf b/Sources/epoch_code/compile/EPOCH_LootIT.sqf index 7430979c..6c9ce005 100644 --- a/Sources/epoch_code/compile/EPOCH_LootIT.sqf +++ b/Sources/epoch_code/compile/EPOCH_LootIT.sqf @@ -13,8 +13,7 @@ https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/EPOCH_LootIT.sqf */ if (!isNull _this) then { - EPOCH_lootContainer = [_this,player,Epoch_personalToken]; - publicVariableServer "EPOCH_lootContainer"; + [_this,player,Epoch_personalToken] remoteExec ["EPOCH_server_lootContainer",2]; if (typeof _this == "wardrobe_EPOCH") then { if !(_this getVariable["MIRROR_SETUP", false]) then { diff --git a/Sources/epoch_code/compile/EPOCH_chopWood.sqf b/Sources/epoch_code/compile/EPOCH_chopWood.sqf index 93513101..b5e3e4af 100644 --- a/Sources/epoch_code/compile/EPOCH_chopWood.sqf +++ b/Sources/epoch_code/compile/EPOCH_chopWood.sqf @@ -47,7 +47,6 @@ _bushesLootList = getArray(_config >> worldname >> "Bushes"); if (!isNull _object) then { if (alive _object) then { - EPOCH_knockDownTree = [_object,_type,player,EPOCH_personalToken]; - publicVariableServer "EPOCH_knockDownTree"; + [_object,_type,player,EPOCH_personalToken] remoteExec ["EPOCH_server_knockDownTree",2]; }; }; diff --git a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf index 2eb2d719..c5d8e126 100644 --- a/Sources/epoch_code/compile/EPOCH_consumeItem.sqf +++ b/Sources/epoch_code/compile/EPOCH_consumeItem.sqf @@ -166,8 +166,9 @@ switch _interactOption do { if (_item call _removeItem) then { player addMagazine "jerrycanE_epoch"; - EPOCH_fillVehicle_PVS = [_vehicle,_newFuel,player,Epoch_personalToken]; - publicVariableServer "EPOCH_fillVehicle_PVS"; + // send + [_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2]; + _dt = ["Fuel Added", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; }; @@ -184,8 +185,7 @@ switch _interactOption do { if (_newFuel > 0) then { if (_item call _removeItem) then { player addMagazine "jerrycan_epoch"; - EPOCH_fillVehicle_PVS = [_vehicle,_newFuel,player,Epoch_personalToken]; - publicVariableServer "EPOCH_fillVehicle_PVS"; + [_vehicle,_newFuel,player,Epoch_personalToken] remoteExec ["EPOCH_server_fillVehicle",2]; _dt = ["Fuel Siphoned", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; } else { @@ -222,15 +222,13 @@ switch _interactOption do { if (local _vehicle) then { [_vehicle, [_currentHIT, _newDMG]] call EPOCH_client_repairVehicle; } else { - EPOCH_repairVehicle_PVS = [_vehicle,[_currentHIT,_newDMG],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [_vehicle,[_currentHIT,_newDMG],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; }; //diag_log format["DEBUG HITPOINT REPAIRED: %1 %2 %3", _currentHIT, _newDMG, _item]; } else { if ((damage _vehicle) > 0) then { - EPOCH_repairVehicle_PVS = [_vehicle,["ALL",0],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [_vehicle,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; }; }; _dt = ["Vehicle Partially Repaired", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; @@ -242,8 +240,7 @@ switch _interactOption do { _vehicle = cursorTarget; if (_vehicle in _vehicles) then { if (_item call _removeItem) then { - EPOCH_repairVehicle_PVS = [_vehicle,["ALL",0],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [_vehicle,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; _dt = ["Vehicle Fully Repaired", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; }; @@ -265,8 +262,7 @@ switch _interactOption do { _paintCanIndex = getNumber(configfile >> "CfgMagazines" >> _item >> "textureIndex"); _paintCanColor = getText(configfile >> "CfgMagazines" >> _item >> "colorName"); - EPOCH_PAINTBUILD = [_vehicle,_paintCanIndex,player,Epoch_personalToken]; - publicVariableServer "EPOCH_PAINTBUILD"; + [_vehicle,_paintCanIndex,player,Epoch_personalToken] remoteExec ["EPOCH_server_paintBUILD",2]; _msg = format["Wall Painted %1", _paintCanColor]; _dt = [format["%1", _msg], 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; @@ -285,16 +281,14 @@ switch _interactOption do { if (_vehicle in _vehicles) then { if (damage _vehicle != 0) then { if (_item call _removeItem) then { - EPOCH_repairVehicle_PVS = [_vehicle,["ALL",0],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [_vehicle,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; _dt = ["Healed other player", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; }; } else { if (damage player != 0) then { if (_item call _removeItem) then { - EPOCH_repairVehicle_PVS = [player,["ALL",0],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [player,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; _dt = ["Healed yourself", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; }; diff --git a/Sources/epoch_code/compile/EPOCH_fish.sqf b/Sources/epoch_code/compile/EPOCH_fish.sqf index 8a13d3c1..af7cb7b8 100644 --- a/Sources/epoch_code/compile/EPOCH_fish.sqf +++ b/Sources/epoch_code/compile/EPOCH_fish.sqf @@ -35,7 +35,7 @@ if (surfaceIsWater _currentPos) then { _bobber = createVehicle ["Bobber_EPOCH",_currentPos, [], 0, "CAN_COLLIDE"]; EPOCH_TEMPOBJ_PVS = [_bobber]; - publicVariableServer "EPOCH_TEMPOBJ_PVS"; + EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; _bobber setPosASL _currentPos; _bobber setVariable ["EPOCH_bobberTime", diag_tickTime]; diff --git a/Sources/epoch_code/compile/EPOCH_lootTrash.sqf b/Sources/epoch_code/compile/EPOCH_lootTrash.sqf index 25fddda4..3c051a39 100644 --- a/Sources/epoch_code/compile/EPOCH_lootTrash.sqf +++ b/Sources/epoch_code/compile/EPOCH_lootTrash.sqf @@ -79,20 +79,17 @@ if (diag_tickTime - EPOCH_lastTrash > 2) then { }forEach _objects; if (!isNull _lootAnimalObj) then { - EPOCH_lootAnimal = [_lootAnimalObj, player, Epoch_personalToken]; _bloodPos = getPosATL _lootAnimalObj; _blood = "BloodSplat" createVehicleLocal _bloodPos; _blood setPosATL _bloodPos; EPOCH_playerSoiled = (EPOCH_playerSoiled + 1) min 100; - publicVariableServer "EPOCH_lootAnimal"; + // send + [_lootAnimalObj, player, Epoch_personalToken] remoteExec ["EPOCH_server_lootAnimal",2]; _return = true; _dt = ["Object Looted", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; if (!isNull _destroyTrashObj) then { - - EPOCH_destroyTrash = [_destroyTrashObj, _trashType, player, Epoch_personalToken]; - // hint str EPOCH_destroyTrash; - publicVariableServer "EPOCH_destroyTrash"; + [_destroyTrashObj, _trashType, player, Epoch_personalToken] remoteExec ["EPOCH_server_destroyTrash",2]; EPOCH_playerSoiled = (EPOCH_playerSoiled + 1) min 100; _return = true; _dt = ["Object Looted", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; @@ -111,14 +108,14 @@ if (diag_tickTime - EPOCH_lastTrash > 2) then { _animals pushBack _animal; }; EPOCH_TEMPOBJ_PVS = _animals; - publicVariableServer "EPOCH_TEMPOBJ_PVS"; + EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; }; }; if (!isNull EPOCH_bankTerminal) then { // make balance request if (isNil "EPOCH_bankTransferActive") then { - EPOCH_storeCrypto_PVS = [player, [], Epoch_personalToken]; - publicVariableServer "EPOCH_storeCrypto_PVS"; + [player, [], Epoch_personalToken] remoteExec ["EPOCH_server_storeCrypto",2]; + closeDialog 0; createDialog "InteractBank"; diff --git a/Sources/epoch_code/compile/EPOCH_mineRocks.sqf b/Sources/epoch_code/compile/EPOCH_mineRocks.sqf index 3e9318ef..75b45244 100644 --- a/Sources/epoch_code/compile/EPOCH_mineRocks.sqf +++ b/Sources/epoch_code/compile/EPOCH_mineRocks.sqf @@ -53,8 +53,7 @@ if ((diag_tickTime - EPOCH_lastMineRocks) >= 2) then { if (!isNull _object) then { if (alive _object) then { - EPOCH_mineRocks_PVS = [_object, _foundIndex, player, Epoch_personalToken]; - publicVariableServer "EPOCH_mineRocks_PVS"; + [_object, _foundIndex, player, Epoch_personalToken] remoteExec ["EPOCH_server_mineRocks",2]; }; }; }; diff --git a/Sources/epoch_code/compile/EPOCH_supportCopter.sqf b/Sources/epoch_code/compile/EPOCH_supportCopter.sqf index f9e145bf..4d6fee2e 100644 --- a/Sources/epoch_code/compile/EPOCH_supportCopter.sqf +++ b/Sources/epoch_code/compile/EPOCH_supportCopter.sqf @@ -59,4 +59,4 @@ for "_i" from 0 to ((count _arrUnits)-1) do { // cleanup units or (transfer ownership) if player logs out EPOCH_TEMPOBJ_PVS = _units; -publicVariableServer "EPOCH_TEMPOBJ_PVS"; +EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; diff --git a/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf b/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf index 19fe886e..654ac670 100644 --- a/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf +++ b/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf @@ -115,5 +115,5 @@ switch _unitClass do { if !(isNull _unit) then { EPOCH_TEMPOBJ_PVS = _unit; - publicVariableServer "EPOCH_TEMPOBJ_PVS"; + EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; }; diff --git a/Sources/epoch_code/compile/building/EPOCH_countdown.sqf b/Sources/epoch_code/compile/building/EPOCH_countdown.sqf index 548e3952..2c454544 100644 --- a/Sources/epoch_code/compile/building/EPOCH_countdown.sqf +++ b/Sources/epoch_code/compile/building/EPOCH_countdown.sqf @@ -76,9 +76,7 @@ if (!isNull _this) then { // proceed to send save to server } else { if (_saveCheck) then { - EPOCH_SAVEBUILD = [_this, player, Epoch_personalToken]; - publicVariableServer "EPOCH_SAVEBUILD"; - //diag_log format["DEBUG SAVE: %1", _this]; + [_this, player, Epoch_personalToken] remoteExec["EPOCH_server_saveBuilding", 2]; }; }; }; diff --git a/Sources/epoch_code/compile/building/EPOCH_maintainIT.sqf b/Sources/epoch_code/compile/building/EPOCH_maintainIT.sqf index 8a5c02cb..fc112686 100644 --- a/Sources/epoch_code/compile/building/EPOCH_maintainIT.sqf +++ b/Sources/epoch_code/compile/building/EPOCH_maintainIT.sqf @@ -40,8 +40,7 @@ if (EPOCH_playerCrypto > 0) then { EPOCH_maintainLockout = true; - EPOCH_MAINTBUILD = [_this, player, _maintainCount, Epoch_personalToken]; - publicVariableServer "EPOCH_MAINTBUILD"; + [_this, player, _maintainCount, Epoch_personalToken] remoteExec ["EPOCH_server_maintBUILD",2]; [_rnd,_maintainCount] spawn { params ["_rnd","_maintainCount"]; diff --git a/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf b/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf index 5679dbb8..06a29f51 100644 --- a/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf +++ b/Sources/epoch_code/compile/building/EPOCH_removeBUILD.sqf @@ -82,8 +82,7 @@ if !(_buildingAllowed)exitWith{false}; _removeParts = getArray(('CfgBaseBuilding' call EPOCH_returnConfig) >> _objType >> "removeParts"); if !(_removeParts isEqualTo[]) then{ - EPOCH_REMBUILD = [_this, player, Epoch_personalToken]; - publicVariableServer "EPOCH_REMBUILD"; + [_this, player, Epoch_personalToken] remoteExec ["EPOCH_server_removeBUILD",2]; _return = true; _dt = ["Removed", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; diff --git a/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf b/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf index 1c7420b5..d6290c61 100644 --- a/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf +++ b/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf @@ -72,8 +72,7 @@ if (isText(_config)) then { _newObj setposATL (_worldspace select 0); if (_textureSlot != 0) then { - EPOCH_PAINTBUILD = [_newObj, _textureSlot, player, Epoch_personalToken]; - publicVariableServer "EPOCH_PAINTBUILD"; + [_newObj, _textureSlot, player, Epoch_personalToken] remoteExec ["EPOCH_server_paintBUILD",2]; }; }; EP_velocityTransformation = []; diff --git a/Sources/epoch_code/compile/building/EPOCH_staticMove.sqf b/Sources/epoch_code/compile/building/EPOCH_staticMove.sqf index 38506da8..dbe5b6d2 100644 --- a/Sources/epoch_code/compile/building/EPOCH_staticMove.sqf +++ b/Sources/epoch_code/compile/building/EPOCH_staticMove.sqf @@ -74,7 +74,7 @@ if (_class != "") then { EPOCH_target = createVehicle[_class, _pos2, [], 0, "CAN_COLLIDE"]; EPOCH_TEMPOBJ_PVS = EPOCH_target; - publicVariableServer "EPOCH_TEMPOBJ_PVS"; + EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; if (_pos2 select 2 > _maxHeight) then { _pos2 set[2, _maxHeight]; diff --git a/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf b/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf index f16773c7..17a222c1 100644 --- a/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf +++ b/Sources/epoch_code/compile/building/EPOCH_upgradeBUILD.sqf @@ -124,8 +124,7 @@ if (_object isKindOf "Constructions_static_F") then { if (_canUpgradePartCount == _removedPartCount) then { // send to server for upgrade - EPOCH_UPBUILD = [_object,player,Epoch_upgradeIndex,Epoch_personalToken]; - publicVariableServer "EPOCH_UPBUILD"; + [_object,player,Epoch_upgradeIndex,Epoch_personalToken] remoteExec ["EPOCH_server_upgradeBUILD",2]; Epoch_upgradeIndex = nil; _return = true; _dt = ["Upgraded", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; diff --git a/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf b/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf index 9c7cfd05..a21861c3 100644 --- a/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf +++ b/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf @@ -101,7 +101,7 @@ if !(isNull _this && alive _this) then { _this say3D _soundEffect; if (_soundEffectGlobal) then { EPOCH_say3D_PVS = [player, _this, _soundEffectIndex, Epoch_personalToken]; - publicVariableServer "EPOCH_say3D_PVS"; + EPOCH_say3D_PVS remoteExec ["EPOCH_server_handle_say3D",2]; }; }; if (random 1 < _toxicChance) then { diff --git a/Sources/epoch_code/compile/environment/EPOCH_client_loadAnimalBrain.sqf b/Sources/epoch_code/compile/environment/EPOCH_client_loadAnimalBrain.sqf index 17afd304..988f8eeb 100644 --- a/Sources/epoch_code/compile/environment/EPOCH_client_loadAnimalBrain.sqf +++ b/Sources/epoch_code/compile/environment/EPOCH_client_loadAnimalBrain.sqf @@ -51,7 +51,7 @@ if!(isNil "_animalPos") then { // diag_log format["DEBUG: spawned %1", _randomAIClass]; EPOCH_TEMPOBJ_PVS = _animal; - publicVariableServer "EPOCH_TEMPOBJ_PVS"; + EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; { _animal disableAI _x; diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf index cc05edfb..48129425 100644 --- a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf +++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerDeath.sqf @@ -32,8 +32,7 @@ if (vehicle _unit != _unit) then { _unit action["Eject", vehicle _unit]; }; -EPOCH_deadPlayer_PVS = [player,_killer,toArray profileName,Epoch_personalToken]; -publicVariableServer "EPOCH_deadPlayer_PVS"; +[player,_killer,toArray profileName,Epoch_personalToken] remoteExec ["EPOCH_server_deadPlayer",2]; // disable build mode EPOCH_buildMode = 0; diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf index 1708ce82..cb0d4d78 100644 --- a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf +++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf @@ -55,8 +55,7 @@ switch true do { if ("Defib_EPOCH" in _attachments) then { if (!alive _cursorTarget) then { - EPOCH_revivePlayer_PVS = [_cursorTarget,player,Epoch_personalToken]; - publicVariableServer "EPOCH_revivePlayer_PVS"; + [_cursorTarget,player,Epoch_personalToken] remoteExec ["EPOCH_server_revivePlayer",2]; }; }; } else { @@ -83,15 +82,13 @@ switch true do { if (local _cursorTarget) then { [_cursorTarget,[_currentHIT,_newDMG]] call EPOCH_client_repairVehicle; } else { - EPOCH_repairVehicle_PVS = [_cursorTarget,[_currentHIT,_newDMG],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [_cursorTarget,[_currentHIT,_newDMG],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; }; //diag_log format["DEBUG HITPOINT REPAIRED: %1 %2 %3", _currentHIT, _newDMG, _attachments]; } else { if ((damage _cursorTarget) > 0) then { - EPOCH_repairVehicle_PVS = [_cursorTarget,["ALL",0],player,Epoch_personalToken]; - publicVariableServer "EPOCH_repairVehicle_PVS"; + [_cursorTarget,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2]; }; }; }; diff --git a/Sources/epoch_code/compile/interface_event_handlers/EPOCH_KeyDown.sqf b/Sources/epoch_code/compile/interface_event_handlers/EPOCH_KeyDown.sqf index 1e964dff..092bb391 100644 --- a/Sources/epoch_code/compile/interface_event_handlers/EPOCH_KeyDown.sqf +++ b/Sources/epoch_code/compile/interface_event_handlers/EPOCH_KeyDown.sqf @@ -248,14 +248,12 @@ if (vehicle player == player) then { if (isTouchingGround player && speed player > 10) then { if ((primaryWeapon player != "") && (currentWeapon player == primaryWeapon player)) then { player switchMove "AovrPercMrunSrasWrflDf"; - EPOCH_switchMove_PVS = [player, 1, Epoch_personalToken]; - publicVariableServer "EPOCH_switchMove_PVS"; + [player, 1, Epoch_personalToken] remoteExec ["EPOCH_server_handle_switchMove",2]; _handled = true; } else { if (currentWeapon player == "") then { player switchMove "epoch_unarmed_jump"; - EPOCH_switchMove_PVS = [player, 2, Epoch_personalToken]; - publicVariableServer "EPOCH_switchMove_PVS"; + [player, 2, Epoch_personalToken] remoteExec ["EPOCH_server_handle_switchMove",2]; _handled = true; }; }; diff --git a/Sources/epoch_code/compile/missions/EPOCH_mission_cage_sapper.sqf b/Sources/epoch_code/compile/missions/EPOCH_mission_cage_sapper.sqf index 7c9af0b3..4e903762 100644 --- a/Sources/epoch_code/compile/missions/EPOCH_mission_cage_sapper.sqf +++ b/Sources/epoch_code/compile/missions/EPOCH_mission_cage_sapper.sqf @@ -10,7 +10,7 @@ _cage2 setVectorDirAndUp [[0,0,1],[0,1,0]]; _cage attachTo [_cage2,[0,1.3,0]]; EPOCH_TEMPOBJ_PVS = [_cage,_cage2]; -publicVariableServer "EPOCH_TEMPOBJ_PVS"; +EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; _startCage = diag_tickTime; @@ -28,11 +28,10 @@ _sapper forcespeed 0; if !(isNull _sapper) then { EPOCH_TEMPOBJ_PVS = _sapper; - publicVariableServer "EPOCH_TEMPOBJ_PVS"; + EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2]; }; -EPOCH_FillContainer_PVS = [player,Epoch_personalToken,objNull,false,25]; -publicVariableServer "EPOCH_FillContainer_PVS"; +[player,Epoch_personalToken,objNull,false,25] remoteExec ["EPOCH_server_fillContainer",2]; while {player distance _sapper < 100 && alive player} do { @@ -41,7 +40,7 @@ while {player distance _sapper < 100 && alive player} do { _sound = _sounds select (floor (random (count _sounds))); _sapper say3D _sound; EPOCH_say3D_PVS = [player, _sapper,(EPOCH_sounds find _sound), Epoch_personalToken]; - publicVariableServer "EPOCH_say3D_PVS"; + EPOCH_say3D_PVS remoteExec ["EPOCH_server_handle_say3D",2]; }; uiSleep 0.5; }; diff --git a/Sources/epoch_code/compile/p2p_trading/EPOCH_TradeLoop.sqf b/Sources/epoch_code/compile/p2p_trading/EPOCH_TradeLoop.sqf index add0a406..588fb34d 100644 --- a/Sources/epoch_code/compile/p2p_trading/EPOCH_TradeLoop.sqf +++ b/Sources/epoch_code/compile/p2p_trading/EPOCH_TradeLoop.sqf @@ -58,8 +58,7 @@ if (!isNull EPOCH_p2ptradeTarget) then { }forEach _array; if (_removeCount == count _array) then { - EPOCH_MAKETRADE = [player, EPOCH_p2ptradeTarget, _array, _tradeOffer, Epoch_personalToken]; - publicVariableServer "EPOCH_MAKETRADE"; + [player, EPOCH_p2ptradeTarget, _array, _tradeOffer, Epoch_personalToken] remoteExec ["EPOCH_server_makeTrade",2]; }; (findDisplay -1900) closeDisplay 1; diff --git a/Sources/epoch_code/compile/p2p_trading/EPOCH_startTRADEREQ.sqf b/Sources/epoch_code/compile/p2p_trading/EPOCH_startTRADEREQ.sqf index 4e02a297..a3c247c1 100644 --- a/Sources/epoch_code/compile/p2p_trading/EPOCH_startTRADEREQ.sqf +++ b/Sources/epoch_code/compile/p2p_trading/EPOCH_startTRADEREQ.sqf @@ -9,8 +9,8 @@ if (!isNull _otherPlyr) then { // restict to only players not in vehicles if (vehicle player == player && vehicle _otherPlyr == _otherPlyr) then { - EPOCH_MAKETRADEREQ = _this; - publicVariableServer "EPOCH_MAKETRADEREQ"; + // send + _this remoteExec ["EPOCH_server_tradeRequest",2]; // target other player EPOCH_p2ptradeTarget = _otherPlyr; diff --git a/Sources/epoch_code/compile/setup/masterLoop/Event3.sqf b/Sources/epoch_code/compile/setup/masterLoop/Event3.sqf index 15e4bae8..70c3bc34 100644 --- a/Sources/epoch_code/compile/setup/masterLoop/Event3.sqf +++ b/Sources/epoch_code/compile/setup/masterLoop/Event3.sqf @@ -2,5 +2,5 @@ if !(_prevEquippedItem isEqualTo EPOCH_equippedItem_PVS) then { _EPOCH_15 = _tickTime; _prevEquippedItem = EPOCH_equippedItem_PVS; - publicVariableServer "EPOCH_equippedItem_PVS"; + EPOCH_equippedItem_PVS remoteExec ["EPOCH_server_equippedItem",2]; }; diff --git a/Sources/epoch_code/compile/traders/EPOCH_startBankTransfer.sqf b/Sources/epoch_code/compile/traders/EPOCH_startBankTransfer.sqf index 2a5e96e8..266aad2b 100644 --- a/Sources/epoch_code/compile/traders/EPOCH_startBankTransfer.sqf +++ b/Sources/epoch_code/compile/traders/EPOCH_startBankTransfer.sqf @@ -6,9 +6,9 @@ if (isNil "EPOCH_bankTransferActive") then { ctrlEnable[1600, false]; - [] spawn { + [] spawn { ctrlSetText[1004,"Transfer started."]; - + _deposit = parseNumber(ctrlText 1401) min EPOCH_playerCrypto; _withdraw = parseNumber(ctrlText 1402) min EPOCH_bankBalance; _transfer = parseNumber(ctrlText 1400) min EPOCH_bankBalance; @@ -16,7 +16,7 @@ if (isNil "EPOCH_bankTransferActive") then { _totalTransfer = (_deposit + _withdraw) + _transfer; _progress = 0; - uiSleep 1; + uiSleep 1; _transferTarget = ""; if (_transfer > 0) then { @@ -37,8 +37,7 @@ if (isNil "EPOCH_bankTransferActive") then { if (_progress >= 100) then { // if player waited the full time then send upload - EPOCH_storeCrypto_PVS = [player, [_deposit, _withdraw, [_transfer, _transferTarget]], Epoch_personalToken]; - publicVariableServer "EPOCH_storeCrypto_PVS"; + [player, [_deposit, _withdraw, [_transfer, _transferTarget]], Epoch_personalToken] remoteExec ["EPOCH_server_storeCrypto",2]; ctrlSetText[1004, "Transfer complete."]; @@ -53,4 +52,4 @@ if (isNil "EPOCH_bankTransferActive") then { EPOCH_bankTransferActive = nil; ctrlEnable[1600, true]; }; -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/compile/traders/EPOCH_startNpcTrade.sqf b/Sources/epoch_code/compile/traders/EPOCH_startNpcTrade.sqf index 171ff36d..ede13da2 100644 --- a/Sources/epoch_code/compile/traders/EPOCH_startNpcTrade.sqf +++ b/Sources/epoch_code/compile/traders/EPOCH_startNpcTrade.sqf @@ -113,8 +113,7 @@ if (!isNull _this) then { EPOCH_TRADE_STARTED = true; // make trade - EPOCH_MAKENPCTRADE = [_this, _arrayIn, _arrayOut, player, Epoch_personalToken]; - publicVariableServer "EPOCH_MAKENPCTRADE"; + [_this, _arrayIn, _arrayOut, player, Epoch_personalToken] remoteExec ["EPOCH_server_makeNPCTrade",2]; // close menu closeDialog 0; diff --git a/Sources/epoch_code/compile/traders/EPOCH_takeCrypto.sqf b/Sources/epoch_code/compile/traders/EPOCH_takeCrypto.sqf index 11ac1f92..c981d10f 100644 --- a/Sources/epoch_code/compile/traders/EPOCH_takeCrypto.sqf +++ b/Sources/epoch_code/compile/traders/EPOCH_takeCrypto.sqf @@ -3,23 +3,12 @@ if !(isNil "EPOCH_takeCryptoLock") exitWith {}; EPOCH_takeCryptoLock = true; if (!isNull _this) then { if ((typeof _this) == "Land_MPS_EPOCH") then { - _getCrypto = _this getVariable["Crypto", 0]; - // deleteVehicle _this; - - - - // EPOCH_playerCrypto = (EPOCH_playerCrypto + _getCrypto) min 25000; - - EPOCH_takeCrypto_PVS = [player, Epoch_personalToken, _this]; - publicVariableServer "EPOCH_takeCrypto_PVS"; - - - + [player, Epoch_personalToken, _this] remoteExec ["EPOCH_server_takeCrypto",2]; _dt = [format["You found %1 Krypto.", _getCrypto], 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext; }; }; [] spawn{ uiSleep 2; EPOCH_takeCryptoLock = nil; -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/config.cpp b/Sources/epoch_code/config.cpp index 86e2537c..42ec8a39 100644 --- a/Sources/epoch_code/config.cpp +++ b/Sources/epoch_code/config.cpp @@ -30,7 +30,7 @@ class CfgMods hidePicture = 0; hideName = 0; action = "http://www.epochmod.com"; - version = "0.3.6.0"; + version = "0.3.7.0"; majorVersion = 0.3; //MUST BE A NUMBER!; Change this if we release a new major version, don't change if we push just push a hotfix ArmAVersion = 150; overview = "Open world survival mod set in the year 2035, Just two years after the mass extinction of billions of people. Those that remain are left with remnants of a once technological society. Try to survive, build, or explore your way through the harsh dynamic environment."; @@ -41,20 +41,20 @@ class Epoch class Version { //Version System, Check if PBO Version is compatible with Code - A3_epoch_assets = "0.3.6.0"; - A3_epoch_assets_1 = "0.3.6.0"; - epoch_objects = "0.3.6.0"; - A3_epoch_assets_3 = "0.3.6.0"; - A3_epoch_config = "0.3.6.0"; - A3_epoch_language = "0.3.6.0"; - Underground_Epoch = "0.3.6.0"; - A3_epoch_vehicles = "0.3.6.0"; - a3_epoch_weapons = "0.3.6.0"; - a2_epoch_weapons = "0.3.6.0"; - a3_epoch_structures = "0.3.6.0"; - A3_epoch_functions = "0.3.6.0"; - A3_epoch_vehicles_1 = "0.3.6.0"; - Enhanced_Epoch_AiASupport = "0.3.6.0"; + A3_epoch_assets = "0.3.7.0"; + A3_epoch_assets_1 = "0.3.7.0"; + epoch_objects = "0.3.7.0"; + A3_epoch_assets_3 = "0.3.7.0"; + A3_epoch_config = "0.3.7.0"; + A3_epoch_language = "0.3.7.0"; + Underground_Epoch = "0.3.7.0"; + A3_epoch_vehicles = "0.3.7.0"; + a3_epoch_weapons = "0.3.7.0"; + a2_epoch_weapons = "0.3.7.0"; + a3_epoch_structures = "0.3.7.0"; + A3_epoch_functions = "0.3.7.0"; + A3_epoch_vehicles_1 = "0.3.7.0"; + Enhanced_Epoch_AiASupport = "0.3.7.0"; }; }; diff --git a/Sources/epoch_code/gui/Epoch_GUI_ClientConfigs.hpp b/Sources/epoch_code/gui/Epoch_GUI_ClientConfigs.hpp index 553a09ad..b0448365 100644 --- a/Sources/epoch_code/gui/Epoch_GUI_ClientConfigs.hpp +++ b/Sources/epoch_code/gui/Epoch_GUI_ClientConfigs.hpp @@ -1,7 +1,7 @@ /* -The x and y coords of the child control are relative to the parent class, the height and width are not -If the height and / or width of the child control are greater than the parent control then scrollbars will be seen -This allows the creation of scrollable active text controls etc +The x and y coords of the child control are relative to the parent class, the height and width are not +If the height and / or width of the child control are greater than the parent control then scrollbars will be seen +This allows the creation of scrollable active text controls etc The entire child class needs to be defined in the parents subclass class Controls {}; External parent classes: @@ -42,9 +42,9 @@ class Epoch_main_config_template: RscControlsGroup class Epoch_main_config_changelog: Epoch_main_config_template { w = 0.425 * safezoneW; - - //onLoad = "((findDisplay 49) displayCtrl 71000) htmlLoad 'x\addons\a3_epoch_code\gui\changelog.html';"; - onLoad = "((findDisplay 49) displayCtrl 71000) htmlLoad 'https://raw.githubusercontent.com/epochmodteam/epoch/test/changelog.html';"; + + onLoad = "((findDisplay 49) displayCtrl 71000) htmlLoad 'x\addons\a3_epoch_code\gui\changelog.html';"; + //onLoad = "((findDisplay 49) displayCtrl 71000) htmlLoad 'https://raw.githubusercontent.com/epochmodteam/epoch/test/changelog.html';"; class controls { class Epoch_main_config_html: RscHtml //https://community.bistudio.com/wiki/DialogControls-Text#CT_HTML.3D9 @@ -63,7 +63,7 @@ class Epoch_main_config_changelog: Epoch_main_config_template colorBold[] = {0.76,0.5,0.07,0.8}; colorLink[] = {1,1,1,0.75}; colorLinkActive[] = {1,1,1,1.0}; - + colorBackground[] = {0.2,0.2,0.2,1}; colorPicture[] = {1, 1, 1, 1}; @@ -294,4 +294,4 @@ class EpochConfigKeyMap: RscControlsGroupNoScrollbars onMouseButtonClick = "_this call Epoch_config_keymap;"; }; }; -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/gui/Epoch_GUI_Config.hpp b/Sources/epoch_code/gui/Epoch_GUI_Config.hpp index 80721945..8867f59f 100644 --- a/Sources/epoch_code/gui/Epoch_GUI_Config.hpp +++ b/Sources/epoch_code/gui/Epoch_GUI_Config.hpp @@ -1470,7 +1470,6 @@ class InteractBank y = 0.9; w = 0.2375; h = 0.08; - // action = "closeDialog 0; EPOCH_storeCrypto_PVS = [player,[parseNumber(ctrlText 1401),parseNumber(ctrlText 1402),[parseNumber(ctrlText 1400),(lbData [21500, (lbCurSel 21500)])]],Epoch_personalToken]; publicVariableServer 'EPOCH_storeCrypto_PVS'; "; action = "call EPOCH_startBankTransfer;"; }; class RscEdit_deposit : RscEdit diff --git a/Sources/epoch_code/gui/scripts/Epoch_secureStorageHandler.sqf b/Sources/epoch_code/gui/scripts/Epoch_secureStorageHandler.sqf index 6db7ed5b..7907009f 100644 --- a/Sources/epoch_code/gui/scripts/Epoch_secureStorageHandler.sqf +++ b/Sources/epoch_code/gui/scripts/Epoch_secureStorageHandler.sqf @@ -9,8 +9,7 @@ _out = switch (typeName _in) do { }; case "OBJECT": { - EPOCH_lockStorage_PVS = [_in,(_in getVariable ["EPOCH_Locked",false]),player,Epoch_personalToken]; - publicVariableServer "EPOCH_lockStorage_PVS"; + [_in,(_in getVariable ["EPOCH_Locked",false]),player,Epoch_personalToken] remoteExec ["EPOCH_server_lockStorage",2]; true }; default {false}; diff --git a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnInvite.sqf b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnInvite.sqf index 137a144c..b3949086 100644 --- a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnInvite.sqf +++ b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnInvite.sqf @@ -13,8 +13,7 @@ if (_playerUID == Epoch_my_GroupUID || {_x select 0 == _playerUID}count (Epoch_m [_playerUID,_txt] spawn { _ret = [_this select 1,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_Invite_PVS = [_this select 0,Epoch_my_GroupUID,Epoch_my_Group select 0,player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Invite_PVS"; + [_this select 0,Epoch_my_GroupUID,Epoch_my_Group select 0,player,Epoch_personalToken] remoteExec ["EPOCH_server_invitePlayer",2]; }; }; }; @@ -28,8 +27,7 @@ if (_playerUID == Epoch_my_GroupUID || {_x select 0 == _playerUID}count (Epoch_m [_txt,_upgradePrice] spawn { _ret = [_this select 0,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_Upgrade_PVS = [Epoch_my_GroupUID,player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Upgrade_PVS"; + [Epoch_my_GroupUID,player,Epoch_personalToken] remoteExec ["EPOCH_server_upgradeGroup",2]; }; }; } else { @@ -40,4 +38,4 @@ if (_playerUID == Epoch_my_GroupUID || {_x select 0 == _playerUID}count (Epoch_m true } else { false -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnKick.sqf b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnKick.sqf index 99421445..3726026f 100644 --- a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnKick.sqf +++ b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnKick.sqf @@ -13,10 +13,9 @@ if (_playerUID == Epoch_my_GroupUID || {_x select 0 == _playerUID}count (Epoch_m [_playerUID,_txt] spawn { _ret = [_this select 1,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_Player_PVS = [Epoch_my_GroupUID,_this select 0,false,false,player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Player_PVS"; + [Epoch_my_GroupUID,_this select 0,false,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_updatePlayerGroup",2]; }; }; }; }; -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnLeave.sqf b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnLeave.sqf index 62af622e..e03c7160 100644 --- a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnLeave.sqf +++ b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnLeave.sqf @@ -7,8 +7,7 @@ if (getPlayerUID player == Epoch_my_GroupUID) then { _txt spawn { _ret = [_this,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_Delete_PVS = [player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Delete_PVS"; + [player,Epoch_personalToken] remoteExec ["EPOCH_server_deleteGroup",2]; }; }; } else { @@ -16,8 +15,7 @@ if (getPlayerUID player == Epoch_my_GroupUID) then { _txt spawn { _ret = [_this,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_Player_PVS = [Epoch_my_GroupUID,getPlayerUID player,false,false,player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Player_PVS"; + [Epoch_my_GroupUID,getPlayerUID player,false,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_updatePlayerGroup",2]; }; }; -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnMod.sqf b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnMod.sqf index 17f331be..5df08478 100644 --- a/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnMod.sqf +++ b/Sources/epoch_code/gui/scripts/group/EPOCH_Group_BtnMod.sqf @@ -15,8 +15,7 @@ if (getPlayerUID player == Epoch_my_GroupUID) then { [_playerUID,_isMember,_txt] spawn { _ret = [_this select 2,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_Player_PVS = [Epoch_my_GroupUID,_this select 0,true,_this select 1,player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Player_PVS"; + [Epoch_my_GroupUID,_this select 0,true,_this select 1,player,Epoch_personalToken] remoteExec ["EPOCH_server_updatePlayerGroup",2]; }; }; }; @@ -26,4 +25,4 @@ if (getPlayerUID player == Epoch_my_GroupUID) then { true } else { false -}; \ No newline at end of file +}; diff --git a/Sources/epoch_code/gui/scripts/group/EPOCH_cGroup_BtnCreate.sqf b/Sources/epoch_code/gui/scripts/group/EPOCH_cGroup_BtnCreate.sqf index b1aa246c..8d66f392 100644 --- a/Sources/epoch_code/gui/scripts/group/EPOCH_cGroup_BtnCreate.sqf +++ b/Sources/epoch_code/gui/scripts/group/EPOCH_cGroup_BtnCreate.sqf @@ -13,14 +13,13 @@ if (count (_array-[32]) == 0) then { //32 = SPACE _txtCtrl ctrlSetText _groupName; _upgradePrice = parseNumber (EPOCH_group_upgrade_lvl select 1); - if ((EPOCH_playerCrypto-_upgradePrice) >= 0) then { + if ((EPOCH_playerCrypto-_upgradePrice) >= 0) then { [_groupName,_upgradePrice] spawn { _txt = format["Do you want to create your group called %1? You cannot change the group name later!",_this select 0]; _ret = [_txt,"Epoch Group Menu",true,true] call BIS_fnc_GUImessage; if (_ret) then { - EPOCH_GROUP_create_PVS = [player,_this select 0,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_create_PVS"; - + [player,_this select 0,Epoch_personalToken] remoteExec ["EPOCH_server_createGroup",2]; + _timeout = diag_tickTime+10; waitUntil { ((Epoch_my_GroupUID != "") && !(Epoch_my_Group isEqualTo [])) || ((_timeout - diag_tickTime) <= 0) diff --git a/Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_acceptInvite.sqf b/Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_acceptInvite.sqf index 24d7d78e..3c2bdd1f 100644 --- a/Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_acceptInvite.sqf +++ b/Sources/epoch_code/gui/scripts/group/EPOCH_iGroup_acceptInvite.sqf @@ -1,5 +1,4 @@ if (Epoch_invited_GroupUID != "") then { - EPOCH_GROUP_Player_PVS = [Epoch_invited_GroupUID,getPlayerUID player,true,false,player,Epoch_personalToken]; - publicVariableServer "EPOCH_GROUP_Player_PVS"; + [Epoch_invited_GroupUID,getPlayerUID player,true,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_updatePlayerGroup",2]; }; -(findDisplay -1500) closeDisplay 0; \ No newline at end of file +(findDisplay -1500) closeDisplay 0; diff --git a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp index c716f527..96115e4e 100644 --- a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp +++ b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_self.hpp @@ -16,14 +16,14 @@ class veh_lock { condition = "dyna_inVehicle && !dyna_lockedInVehicle"; - action = "EPOCH_lockVehicle_PVS = [vehicle player, true, player, Epoch_personalToken]; publicVariableServer 'EPOCH_lockVehicle_PVS';"; + action = "[vehicle player, true, player, Epoch_personalToken] remoteExec ['EPOCH_server_lockVehicle',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\pad_cannot_lock.paa"; tooltip = "Lock"; }; class veh_unLock { condition = "dyna_inVehicle && dyna_lockedInVehicle"; - action = "EPOCH_lockVehicle_PVS = [vehicle player, false, player, Epoch_personalToken]; publicVariableServer 'EPOCH_lockVehicle_PVS';"; + action = "[vehicle player, false, player, Epoch_personalToken] remoteExec ['EPOCH_server_lockVehicle',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\pad_can_unlock.paa"; tooltip = "Unlock"; }; diff --git a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp index 71e02204..2263dffe 100644 --- a/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp +++ b/Sources/epoch_config/Configs/CfgActionMenu/CfgActionMenu_target.hpp @@ -49,14 +49,14 @@ class veh_gear class veh_lock { condition = "dyna_isVehicle && !dyna_locked"; - action = "EPOCH_lockVehicle_PVS = [dyna_cursorTarget, true, player, Epoch_personalToken]; publicVariableServer 'EPOCH_lockVehicle_PVS';"; + action = "[dyna_cursorTarget, true, player, Epoch_personalToken] remoteExec ['EPOCH_server_lockVehicle',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\pad_cannot_lock.paa"; tooltip = "Lock"; }; class veh_unLock { condition = "dyna_isVehicle && dyna_locked"; - action = "EPOCH_lockVehicle_PVS = [dyna_cursorTarget, false, player, Epoch_personalToken]; publicVariableServer 'EPOCH_lockVehicle_PVS';"; + action = "[dyna_cursorTarget, false, player, Epoch_personalToken] remoteExec ['EPOCH_server_lockVehicle',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\pad_can_unlock.paa"; tooltip = "Unlock"; }; @@ -119,14 +119,14 @@ class lock_safe class pack_lockbox { condition = "(dyna_cursorTargetType in ['LockBox_EPOCH','LockBoxProxy_EPOCH']) && (dyna_cursorTarget getVariable ['EPOCH_Locked',false])"; - action = "EPOCH_packStorage_PVS = [dyna_cursorTarget,player,Epoch_personalToken]; publicVariableServer 'EPOCH_packStorage_PVS';"; + action = "[dyna_cursorTarget,player,Epoch_personalToken] remoteExec ['EPOCH_server_lockStorage',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_pack.paa"; tooltip = "Pack Lockbox"; }; class pack_safe { condition = "(dyna_cursorTargetType in ['Safe_EPOCH','SafeProxy_EPOCH']) && (dyna_cursorTarget getVariable ['EPOCH_Locked',false])"; - action = "EPOCH_packStorage_PVS = [dyna_cursorTarget,player,Epoch_personalToken]; publicVariableServer 'EPOCH_packStorage_PVS';"; + action = "[dyna_cursorTarget,player,Epoch_personalToken] remoteExec ['EPOCH_server_packStorage',2];"; icon = "x\addons\a3_epoch_code\Data\UI\buttons\build_pack.paa"; tooltip = "Pack Safe"; }; diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index d420c6e5..4c206fa8 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -15,7 +15,7 @@ class CfgEpochClient { - epochVersion = "0.3.6.0"; + epochVersion = "0.3.7.0"; sapperRngChance = 100; // increase number to reduce chances and reduce to increase. Default 100 = 1% - 55% if soiled (+ 2% if in city) chance to spawn sapper droneRngChance = 100; // increase number to reduce chances and reduce to increase. Default 100 = // 2% chance (+ 4% chance if in city) (1% - 2% Half if using silencer) to spawn drone if shot fired diff --git a/Sources/epoch_config/Configs/CfgGesturesMale.hpp b/Sources/epoch_config/Configs/CfgGesturesMale.hpp index 35d76dd0..294c876c 100644 --- a/Sources/epoch_config/Configs/CfgGesturesMale.hpp +++ b/Sources/epoch_config/Configs/CfgGesturesMale.hpp @@ -34,7 +34,8 @@ class CfgGesturesMale file = ""; looped = 1; speed = 0.5; - relSpeedMin = 0.5; + static = 0; + relSpeedMin = 1; relSpeedMax = 1; soundEnabled = 0; soundOverride = ""; diff --git a/Sources/epoch_config/Configs/CfgMovesBasic.hpp b/Sources/epoch_config/Configs/CfgMovesBasic.hpp index e6ad4aa3..fddd917c 100644 --- a/Sources/epoch_config/Configs/CfgMovesBasic.hpp +++ b/Sources/epoch_config/Configs/CfgMovesBasic.hpp @@ -386,11 +386,26 @@ class CfgMovesBasic Binoculars = ""; FDStart = ""; Obstructed = ""; + // Custom Start + GestureSwing0 = ""; + GestureSwing1 = ""; + GestureSwing2 = ""; + GestureFinger = ""; + SledgeSwing = ""; + // Custom End }; class Actions { class NoActions: ManActions { + // Custom Start + GestureSwing0[] = {"GestureSwing0","Gesture"}; + GestureSwing1[] = {"GestureSwing1","Gesture"}; + GestureSwing2[] = {"GestureSwing2","Gesture"}; + GestureFinger[] = {"GestureFinger","Gesture"}; + SledgeSwing[] = {"SledgeSwing","Gesture"}; + // Custom End + GestureLegPush[] = {"GestureLegPush","Gesture"}; GestureNod[] = {"GestureNod","Gesture"}; GestureAgonyCargo[] = {"GestureAgonyCargo","Gesture"}; diff --git a/Sources/epoch_config/Configs/CfgRemoteExec.hpp b/Sources/epoch_config/Configs/CfgRemoteExec.hpp new file mode 100644 index 00000000..08f38374 --- /dev/null +++ b/Sources/epoch_config/Configs/CfgRemoteExec.hpp @@ -0,0 +1,188 @@ +/* + Author: Aaron Clark - EpochMod.com + + Contributors: + + Description: + RemoteExec whitelist for Epoch sandbox gamemode. This also blacklists default A3 remoteExec commands. + + Licence: + Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike + + Github: + https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_config/Configs/CfgRemoteExec.hpp +*/ + +class CfgRemoteExec +{ + class Functions + { + mode = 1; + jip = 0; + class EPOCH_server_save_vehicles { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_saveBuilding { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_upgradeBUILD { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_removeBUILD { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_paintBUILD { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_maintBUILD { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_loadPlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_checkPlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_respawnPlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_deadPlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_destroyTrash { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_knockDownTree { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_mineRocks { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_lootAnimal { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_handle_say3D { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_handle_switchMove { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_upgradeGroup { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_updatePlayerGroup { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_createGroup { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_deleteGroup { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_invitePlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_lootContainer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_revivePlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_storeCrypto { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_tradeRequest { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_makeTrade { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_makeNPCTrade { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_takeCrypto { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_repairVehicle { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_fillVehicle { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_lockVehicle { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_equippedItem { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_lockStorage { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_packStorage { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_packJack { + allowedTargets=2; + jip = 0; + }; + class EPOCH_localCleanup { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_teleportPlayer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_fillContainer { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_handle_sapperObjs { + allowedTargets=2; + jip = 0; + }; + class EPOCH_Server_createAirDrop { + allowedTargets=2; + jip = 0; + }; + class EPOCH_server_airDropCrate { + allowedTargets=2; + jip = 0; + }; + }; + class Commands {mode=0;}; +}; diff --git a/Sources/epoch_config/Configs/CfgVehicles.hpp b/Sources/epoch_config/Configs/CfgVehicles.hpp index e9a989b2..5712c216 100644 --- a/Sources/epoch_config/Configs/CfgVehicles.hpp +++ b/Sources/epoch_config/Configs/CfgVehicles.hpp @@ -1607,7 +1607,7 @@ class CfgVehicles position = "Door_knopf"; radius = 3; condition = "this animationPhase ""raise"" == 0"; - statement = "EPOCH_packJack_PVS = [this,player,Epoch_personalToken]; publicVariableServer ""EPOCH_packJack_PVS"";"; + statement = "[this,player,Epoch_personalToken] remoteExec ['EPOCH_server_packJack',2];"; }; }; @@ -2820,7 +2820,7 @@ class CfgVehicles position = "Door_knopf"; radius = 3; condition = "this getVariable [""EPOCH_Locked"",true]"; - statement = "EPOCH_lockStorage_PVS = [this,false,player,Epoch_personalToken]; publicVariableServer ""EPOCH_lockStorage_PVS"";"; + statement = "[this,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_lockStorage",2];"; }; class Pack { @@ -2829,7 +2829,7 @@ class CfgVehicles position = "Door_knopf"; radius = 3; condition = "this getVariable [""EPOCH_Locked"",true]"; - statement = "EPOCH_packStorage_PVS = [this,player,Epoch_personalToken]; publicVariableServer ""EPOCH_packStorage_PVS"";"; + statement = "[this,player,Epoch_personalToken] remoteExec ["EPOCH_server_lockStorage",2];"; }; }; */ @@ -2863,7 +2863,7 @@ class CfgVehicles position = "Door_knopf"; radius = 3; condition = "(this getVariable[""EPOCH_secStorParent"", objNull]) getVariable [""EPOCH_Locked"",true]"; - statement = "EPOCH_lockStorage_PVS = [this,false,player,Epoch_personalToken]; publicVariableServer ""EPOCH_lockStorage_PVS"";"; + statement = "[this,false,player,Epoch_personalToken] remoteExec ["EPOCH_server_lockStorage",2];"; }; class Pack @@ -2873,7 +2873,7 @@ class CfgVehicles position = "Door_knopf"; radius = 3; condition = "(this getVariable[""EPOCH_secStorParent"", objNull]) getVariable [""EPOCH_Locked"",true]"; - statement = "EPOCH_packStorage_PVS = [this,player,Epoch_personalToken]; publicVariableServer ""EPOCH_packStorage_PVS"";"; + statement = "[this,player,Epoch_personalToken] remoteExec ["EPOCH_server_lockStorage",2];"; }; }; diff --git a/Sources/epoch_config/config.cpp b/Sources/epoch_config/config.cpp index 6a708e7e..82922616 100644 --- a/Sources/epoch_config/config.cpp +++ b/Sources/epoch_config/config.cpp @@ -33,7 +33,7 @@ class CfgPatches requiredAddons[] = { "a3_map_altis", "a3_map_stratis", "A3_epoch_assets_3", "a3_epoch_weapons", "epoch_objects", "A3_epoch_vehicles", "A3_epoch_assets_1", "A3_epoch_assets", "A3_Soft_F", "A3_Characters_F", "A3_Characters_F_Beta", "A3_Characters_F_EPA", "A3_Characters_F_EPB", "A3_Structures_F", "A3_Armor_F_Beta", "A3_Data_F", "A3_Weapons_F", "A3_Weapons_F_LongRangeRifles_M320", "A3_Weapons_F_LongRangeRifles_GM6","A3_Weapons_F_EBR", "A3_Weapons_F_EPA_LongRangeRifles_DMR_01", "A3_Weapons_F_Machineguns_M200", "A3_Weapons_F_Machineguns_Zafir", "A3_Weapons_F_Mark_LongRangeRifles_DMR_02", "A3_Weapons_F_Mark_LongRangeRifles_DMR_03", "A3_Weapons_F_Mark_LongRangeRifles_DMR_04", "A3_Weapons_F_Mark_LongRangeRifles_DMR_05", "A3_Weapons_F_Mark_LongRangeRifles_DMR_06","A3_Characters_F_Kart", "A3_Soft_F_Kart_Kart_01", "a2_epoch_weapons", "A3_Air_F_Gamma_UAV_01", "A3_Soft_F_Car", "A3_Soft_F_Heli_Car", "A3_Soft_F_Offroad_01", "A3_Soft_F_Quadbike", "A3_Soft_F_Heli_Quadbike", "A3_Soft_F_SUV", "A3_Soft_F_Heli_SUV", "A3_Boat_F_Boat_Transport_01", "A3_Soft_F_Truck", "A3_Soft_F_Heli_Truck", "A3_Soft_F_Bootcamp_Truck", "A3_Boat_F_Civilian_Boat", "A3_Air_F_Heli_Light_01", "A3_Air_F_Heli_Heli_Light_01", "A3_Air_F_Beta_Heli_Transport_01", "A3_Boat_F_SDV_01", "A3_Boat_F_Heli_SDV_01", "A3_Soft_F_MRAP_01", "A3_Soft_F_Heli_MRAP_01", "A3_Soft_F_HEMTT", "A3_Soft_F_Gamma_HEMTT", "A3_Soft_F_TruckHeavy", "A3_Soft_F_Gamma_TruckHeavy", "A3_Soft_F_EPC_Truck_03", "A3_Air_F_Heli_Light_02", "A3_Air_F_Beta_Heli_Transport_02", "A3_Air_F_EPB_Heli_Light_03", "A3_Air_F_Heli_Heli_Transport_04", "A3_Air_F_Heli_Heli_Transport_03", "A3_Animals_F_Dog", "A3_Animals_F_Rabbit", "A3_Animals_F_Chicken", "A3_Characters_F_Common", "A3_Structures_F_Ind_Transmitter_Tower", "a3_epoch_structures", "A3_Weapons_F_Ammoboxes" }; magazines[] = { "30Rnd_test_mag", "5Rnd_rollins_mag", "CSGAS", "sledge_swing", "30Rnd_test_mag_Tracer", "EnergyPack", "1Rnd_Soda", "1Rnd_Food", "WoodLog_EPOCH", "PaintCanBlk", "PaintCanBlu", "PaintCanBrn", "PaintCanGrn", "PaintCanOra", "PaintCanPur", "PaintCanRed", "PaintCanTeal", "PaintCanYel" }; ammo[] = { "B_EnergyPack", "B_Swing", "Sapper_Charge_Ammo", "SapperB_Charge_Ammo", "B_Soda", "B_Food", "B_Test_Caseless", "ChainSaw_Bullet", "SmokeShellCustom" }; - epochVersion = "0.3.6.0"; + epochVersion = "0.3.7.0"; }; }; @@ -73,15 +73,11 @@ class WeaponCloudsMGun; #include "\x\addons\a3_epoch_config\Configs\CfgMovesMaleSdr2.hpp" #include "\x\addons\a3_epoch_config\Configs\CfgGesturesMale.hpp" #include "\x\addons\a3_epoch_config\Configs\CfgMovesAnimal.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgSounds.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgCloudlets.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgVehicles.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgActions.hpp" - +#include "\x\addons\a3_epoch_config\Configs\CfgRemoteExec.hpp" //#include "\x\addons\a3_epoch_config\Configs\CfgInGameUI.hpp" class Mode_SemiAuto; @@ -92,11 +88,8 @@ class CowsSlot; class PointerSlot; #include "\x\addons\a3_epoch_config\Configs\cfgRecoils.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgMagazines.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgAmmo.hpp" - #include "\x\addons\a3_epoch_config\Configs\CfgWeapons.hpp" class CfgInventoryGlobalVariable diff --git a/Sources/epoch_server/config.cpp b/Sources/epoch_server/config.cpp index 650a3a8c..57003af3 100644 --- a/Sources/epoch_server/config.cpp +++ b/Sources/epoch_server/config.cpp @@ -44,7 +44,7 @@ class cfgFunctions }; class CfgServerVersion { - client = "0.3.6.0"; - config = "0.3.6.0"; + client = "0.3.7.0"; + config = "0.3.7.0"; hive = "0.5.1.7"; }; diff --git a/Sources/epoch_server/init/server_publicEH.sqf b/Sources/epoch_server/init/server_publicEH.sqf index 3fd3a30e..5e75095d 100644 --- a/Sources/epoch_server/init/server_publicEH.sqf +++ b/Sources/epoch_server/init/server_publicEH.sqf @@ -1,44 +1,49 @@ -"EPOCH_SAVEBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_saveBuilding}; -"EPOCH_UPBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_upgradeBUILD}; -"EPOCH_REMBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_removeBUILD}; -"EPOCH_PAINTBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_paintBUILD}; -"EPOCH_MAINTBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_maintBUILD}; -"EPOCH_selectedGender_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_loadPlayer}; -"EPOCH_checkPlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_checkPlayer}; -"EPOCH_respawnPlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_respawnPlayer}; -// "EPOCH_S_S_VEHICLES" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_save_vehicles}; +// "EPOCH_SAVEBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_saveBuilding}; +// "EPOCH_UPBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_upgradeBUILD}; +// "EPOCH_REMBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_removeBUILD}; +// "EPOCH_PAINTBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_paintBUILD}; +// "EPOCH_MAINTBUILD" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_maintBUILD}; +// "EPOCH_selectedGender_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_loadPlayer}; +// "EPOCH_checkPlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_checkPlayer}; +// "EPOCH_respawnPlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_respawnPlayer}; +// "EPOCH_S_S_VEHICLES" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_save_vehicles}; "EPOCH_pushPlayer_PVS" addPublicVariableEventHandler{if([_this select 1 select 0,_this select 1 select 2]call EPOCH_server_getPToken)then{(_this select 1)call EPOCH_server_savePlayer}}; -"EPOCH_deadPlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_deadPlayer}; -"EPOCH_destroyTrash" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_destroyTrash}; -"EPOCH_knockDownTree" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_knockDownTree}; -"EPOCH_mineRocks_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_mineRocks}; -"EPOCH_lootAnimal" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lootAnimal}; -"EPOCH_say3D_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_handle_say3D}; -"EPOCH_switchMove_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_handle_switchMove}; -"EPOCH_GROUP_Upgrade_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_upgradeGroup}; -"EPOCH_GROUP_Player_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_updatePlayerGroup}; -"EPOCH_GROUP_create_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_createGroup}; -"EPOCH_GROUP_Delete_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_deleteGroup}; -"EPOCH_GROUP_Invite_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_invitePlayer}; -"EPOCH_lootContainer" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lootContainer}; -"EPOCH_revivePlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_revivePlayer}; -"EPOCH_storeCrypto_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_storeCrypto}; -"EPOCH_MAKETRADEREQ" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_tradeRequest}; -"EPOCH_MAKETRADE" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_makeTrade}; -"EPOCH_MAKENPCTRADE" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_makeNPCTrade}; -"EPOCH_takeCrypto_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_takeCrypto}; -"EPOCH_repairVehicle_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_repairVehicle}; -"EPOCH_fillVehicle_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_fillVehicle}; -"EPOCH_lockVehicle_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lockVehicle}; -"EPOCH_equippedItem_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_equippedItem}; -"EPOCH_lockStorage_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lockStorage}; -"EPOCH_packStorage_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_packStorage}; -"EPOCH_packJack_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_packJack}; -"EPOCH_TEMPOBJ_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_localCleanup}; -"EPOCH_oneWayTP" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_teleportPlayer}; -"EPOCH_FillContainer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_fillContainer}; -"EPOCH_SapperObjs_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_handle_sapperObjs}; -"EPOCH_createAirDrop_PVS" addPublicVariableEventHandler{ (_this select 1)call EPOCH_Server_createAirDrop }; +// "EPOCH_deadPlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_deadPlayer}; +// "EPOCH_destroyTrash" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_destroyTrash}; +// "EPOCH_knockDownTree" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_knockDownTree}; +// "EPOCH_mineRocks_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_mineRocks}; + +// "EPOCH_lootAnimal" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lootAnimal}; +// "EPOCH_say3D_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_handle_say3D}; +// "EPOCH_switchMove_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_handle_switchMove}; +// "EPOCH_GROUP_Upgrade_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_upgradeGroup}; + +// "EPOCH_GROUP_Player_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_updatePlayerGroup}; +// "EPOCH_GROUP_create_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_createGroup}; +// "EPOCH_GROUP_Delete_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_deleteGroup}; +// "EPOCH_GROUP_Invite_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_invitePlayer}; + +// "EPOCH_lootContainer" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lootContainer}; +// "EPOCH_revivePlayer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_revivePlayer}; +// "EPOCH_storeCrypto_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_storeCrypto}; +// "EPOCH_MAKETRADEREQ" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_tradeRequest}; + +// "EPOCH_MAKETRADE" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_makeTrade}; +// "EPOCH_MAKENPCTRADE" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_makeNPCTrade}; +// "EPOCH_takeCrypto_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_takeCrypto}; +// "EPOCH_repairVehicle_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_repairVehicle}; + +// "EPOCH_fillVehicle_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_fillVehicle}; +// "EPOCH_lockVehicle_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lockVehicle}; +// "EPOCH_equippedItem_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_equippedItem}; +// "EPOCH_lockStorage_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_lockStorage}; + +// "EPOCH_packStorage_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_packStorage}; +// "EPOCH_packJack_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_packJack}; +// "EPOCH_TEMPOBJ_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_localCleanup}; +// "EPOCH_oneWayTP" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_teleportPlayer}; + +// "EPOCH_FillContainer_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_fillContainer}; +// "EPOCH_SapperObjs_PVS" addPublicVariableEventHandler{(_this select 1)call EPOCH_server_handle_sapperObjs}; +// "EPOCH_createAirDrop_PVS" addPublicVariableEventHandler{ (_this select 1)call EPOCH_Server_createAirDrop }; "EPOCH_airDropCrate_PVS" addPublicVariableEventHandler{ (_this select 1)call EPOCH_server_airDropCrate }; - - diff --git a/Sources/epoch_server_settings/config.cpp b/Sources/epoch_server_settings/config.cpp index 37c4fa70..6901cdc4 100644 --- a/Sources/epoch_server_settings/config.cpp +++ b/Sources/epoch_server_settings/config.cpp @@ -20,7 +20,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.1; - epochVersion = "0.3.6.0"; + epochVersion = "0.3.7.0"; requiredAddons[] = {}; }; }; diff --git a/Sources/epoch_server_settings/configs/security/security_checks.h b/Sources/epoch_server_settings/configs/security/security_checks.h index 702e7779..3c34a352 100644 --- a/Sources/epoch_server_settings/configs/security/security_checks.h +++ b/Sources/epoch_server_settings/configs/security/security_checks.h @@ -74,7 +74,7 @@ class CfgSecConf checks[] = {"Fired","InventoryClosed","InventoryOpened","Killed","HandleDamage","HandleHeal","Dammaged","Hit","HitPart"}; Fired = "_this call EPOCH_fnc_playerFired;"; InventoryClosed = "if !(EPOCH_arr_interactedObjs isEqualTo[]) then {EPOCH_arr_interactedObjs remoteExec['EPOCH_server_save_vehicles', 2]; EPOCH_arr_interactedObjs = [];};"; - InventoryOpened = "_this spawn EPOCH_initUI;_container = _this select 1;_lockedNear = false;if (_container isKindOf 'GroundWeaponHolder') then {{if (locked _x in [2, 3] ||_x getVariable['EPOCH_Locked', false]) exitWith {_lockedNear = true}} forEach (player nearSupplies 10);};if (locked _container in [2, 3] || _container getVariable['EPOCH_Locked', false] || _lockedNear) then {[] spawn {disableSerialization;waitUntil {!isNull findDisplay 602};_display = findDisplay 602;_ctrl_cargo = _display displayCtrl 6401;_ctrl_ground = _display displayCtrl 6321;_ctrl_cargo ctrlEnable false;ctrlSetFocus _ctrl_ground;ctrlActivate _ctrl_ground;};};"; + InventoryOpened = "_this spawn EPOCH_initUI;_container = _this select 1;_lockedNear = false;if (_container isKindOf 'GroundWeaponHolder' || _container isKindOf 'WeaponHolderSimulated') then {{if (locked _x in [2, 3] ||_x getVariable['EPOCH_Locked', false]) exitWith {_lockedNear = true}} forEach (player nearSupplies 10);};if (locked _container in [2, 3] || _container getVariable['EPOCH_Locked', false] || _lockedNear) then {[] spawn {disableSerialization;waitUntil {!isNull findDisplay 602};_display = findDisplay 602;_ctrl_cargo = _display displayCtrl 6401;_ctrl_ground = _display displayCtrl 6321;_ctrl_cargo ctrlEnable false;ctrlSetFocus _ctrl_ground;ctrlActivate _ctrl_ground;};};"; Killed = "_this call EPOCH_fnc_playerDeath;"; HandleDamage = ""; HandleHeal = ""; diff --git a/Sources/mpmissions/epoch.Altis/description.ext b/Sources/mpmissions/epoch.Altis/description.ext index 63b6e071..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Altis/description.ext +++ b/Sources/mpmissions/epoch.Altis/description.ext @@ -56,20 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Australia/description.ext b/Sources/mpmissions/epoch.Australia/description.ext index c4debdbe..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Australia/description.ext +++ b/Sources/mpmissions/epoch.Australia/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Bornholm/description.ext b/Sources/mpmissions/epoch.Bornholm/description.ext index c4debdbe..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Bornholm/description.ext +++ b/Sources/mpmissions/epoch.Bornholm/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Chernarus/description.ext b/Sources/mpmissions/epoch.Chernarus/description.ext index c4debdbe..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Chernarus/description.ext +++ b/Sources/mpmissions/epoch.Chernarus/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Chernarus_Summer/description.ext b/Sources/mpmissions/epoch.Chernarus_Summer/description.ext index c4debdbe..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Chernarus_Summer/description.ext +++ b/Sources/mpmissions/epoch.Chernarus_Summer/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Esseker/description.ext b/Sources/mpmissions/epoch.Esseker/description.ext index f924418a..20b1bdac 100644 --- a/Sources/mpmissions/epoch.Esseker/description.ext +++ b/Sources/mpmissions/epoch.Esseker/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Stratis/description.ext b/Sources/mpmissions/epoch.Stratis/description.ext index c4debdbe..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Stratis/description.ext +++ b/Sources/mpmissions/epoch.Stratis/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.Takistan/description.ext b/Sources/mpmissions/epoch.Takistan/description.ext index c4debdbe..cfe65cba 100644 --- a/Sources/mpmissions/epoch.Takistan/description.ext +++ b/Sources/mpmissions/epoch.Takistan/description.ext @@ -56,21 +56,6 @@ class cfgFunctions }; }; - -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochSapper { detonateDistMax = 8; //Random distance between 3m and this number at which sapper detonates. Min value = 4 diff --git a/Sources/mpmissions/epoch.VR/description.ext b/Sources/mpmissions/epoch.VR/description.ext index ec8d9e02..ae92cce3 100644 --- a/Sources/mpmissions/epoch.VR/description.ext +++ b/Sources/mpmissions/epoch.VR/description.ext @@ -56,24 +56,9 @@ class cfgFunctions }; }; -class CfgRemoteExec -{ - class Functions - { - mode = 1; - jip = 0; - class EPOCH_server_save_vehicles { - allowedTargets=2; - jip = 0; - }; - }; - class Commands {mode=0;}; -}; - class CfgEpochClient { - epochVersion = "0.3.6.0"; - + epochVersion = "0.3.7.0"; sapperRngChance = 100; // increase number to reduce chances and reduce to increase. Default 100 = 1% - 55% if soiled (+ 2% if in city) chance to spawn sapper droneRngChance = 100; // increase number to reduce chances and reduce to increase. Default 100 = // 2% chance (+ 4% chance if in city) (1% - 2% Half if using silencer) to spawn drone if shot fired