From d27a52a879a4d69dd1878c855cc813c2a71ce6bf Mon Sep 17 00:00:00 2001 From: SchnitzelPommes <41128311+SchnitzelPommes@users.noreply.github.com> Date: Sat, 15 Dec 2018 07:46:51 +0100 Subject: [PATCH] 1.0 Update --- DayZ-Sa-Tomato/$PREFIX$ | 1 - DayZ-Sa-Tomato/$REVISION$ | 1 - DayZ-Sa-Tomato/Config/Admins.txt | 3 +- .../Config/List/TeleportLocation.txt | 15 + DayZ-Sa-Tomato/Keys/SchnitzelPommes.bikey | Bin 168 -> 168 bytes DayZ-Sa-Tomato/addons/DayZ-SA-Tomato.pbo | Bin 160613 -> 187415 bytes .../DayZ-SA-Tomato.pbo.SchnitzelPommes.bisign | Bin 568 -> 568 bytes DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$ | 1 + .../addons/DayZ-SA-Tomato/$VERSION$ | 1 + .../addons/DayZ-SA-Tomato/PBOPREFIX.txt | 6 - .../addons/DayZ-SA-Tomato/config.bin | Bin 0 -> 655 bytes .../addons/DayZ-SA-Tomato/config.cpp | 10 - .../{M_MissionG.c => M_MissionGameplay.c} | 0 ...unityOfflineServer.c => M_MissionServer.c} | 84 +++--- .../DayZ-SA-Tomato/scripts/5_Mission/M_RPCs.c | 3 + .../core/FileHandeling/FileHandler.c | 98 +++++++ .../5_Mission/core/FileHandeling/FileReader.c | 4 + .../scripts/5_Mission/core/StaticFunctions.c | 2 +- .../5_Mission/core/modules/AdminMenu.c | 146 +++++++--- .../5_Mission/core/modules/AdminMenuManager.c | 130 +++++++++ .../scripts/5_Mission/core/modules/DevCam.c | 2 +- .../5_Mission/core/modules/DevTeleport.c | 2 +- .../5_Mission/core/modules/GUI/AdminMenuGui.c | 26 ++ .../core/modules/GUI/AdminMenuManager.c | 58 ---- .../core/modules/GUI/AdminMenuPlayer.c | 4 +- .../core/modules/GUI/AdminMenuSpawn.c | 8 +- .../core/modules/GUI/AdminMenuTeleport.c | 231 ++++++++++++++++ .../modules/GUI/Layouts/Admin_Config.layout | 97 +++++++ .../modules/GUI/Layouts/Admin_Main.layout | 260 +++++++++++++++++- .../modules/GUI/Layouts/Admin_Teleport.layout | 115 ++++++++ DayZ-Sa-Tomato/mod.cpp | 41 --- 31 files changed, 1131 insertions(+), 218 deletions(-) delete mode 100644 DayZ-Sa-Tomato/$PREFIX$ delete mode 100644 DayZ-Sa-Tomato/$REVISION$ create mode 100644 DayZ-Sa-Tomato/Config/List/TeleportLocation.txt create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$ create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$VERSION$ delete mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/PBOPREFIX.txt create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.bin delete mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.cpp rename DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/{M_MissionG.c => M_MissionGameplay.c} (100%) rename DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/{core/CommunityOfflineServer.c => M_MissionServer.c} (86%) create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileHandler.c create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileReader.c create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenuManager.c delete mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuManager.c create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuTeleport.c create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Config.layout create mode 100644 DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Teleport.layout delete mode 100644 DayZ-Sa-Tomato/mod.cpp diff --git a/DayZ-Sa-Tomato/$PREFIX$ b/DayZ-Sa-Tomato/$PREFIX$ deleted file mode 100644 index 6c342f1..0000000 --- a/DayZ-Sa-Tomato/$PREFIX$ +++ /dev/null @@ -1 +0,0 @@ -com\DayZ-SA-Tomato \ No newline at end of file diff --git a/DayZ-Sa-Tomato/$REVISION$ b/DayZ-Sa-Tomato/$REVISION$ deleted file mode 100644 index 56a6051..0000000 --- a/DayZ-Sa-Tomato/$REVISION$ +++ /dev/null @@ -1 +0,0 @@ -1 \ No newline at end of file diff --git a/DayZ-Sa-Tomato/Config/Admins.txt b/DayZ-Sa-Tomato/Config/Admins.txt index f6e81e1..359025e 100644 --- a/DayZ-Sa-Tomato/Config/Admins.txt +++ b/DayZ-Sa-Tomato/Config/Admins.txt @@ -1,3 +1,2 @@ +76561198161388867 76561198017833573 -76561198134309775 -76561198065995341 diff --git a/DayZ-Sa-Tomato/Config/List/TeleportLocation.txt b/DayZ-Sa-Tomato/Config/List/TeleportLocation.txt new file mode 100644 index 0000000..0359209 --- /dev/null +++ b/DayZ-Sa-Tomato/Config/List/TeleportLocation.txt @@ -0,0 +1,15 @@ +prison;2651.42 0.0 1395.8 +mogilevka;7572.65 0.0 5182.3 +stary;6192.39 0.0 7666.5 +msta;11206.6 0.0 5398.70 +solni;13436.5 0.0 6158.7 +cherno;6350.99 0.0 2666.12 +elektro;10432.1 0.0 2218.56 +berez;12661.4 0.0 9465.03 +tisy;1890.45 0.0 13704.6 +gorka;9678.94 0.0 8828.93 +balota;4546.92 0.0 2416.4 +vybor;3916.85 0.0 8795.59 +vybora;4107.80 0.0 11205.29 +severo;8318.51 0.0 12743.4 +severor;7986.21 0.0 12737.1 \ No newline at end of file diff --git a/DayZ-Sa-Tomato/Keys/SchnitzelPommes.bikey b/DayZ-Sa-Tomato/Keys/SchnitzelPommes.bikey index 60e40919e619250b5d62662528957268401daf14..24edca7c5aff747af5975464fc0154cde17390eb 100644 GIT binary patch delta 136 zcmV;30C)eW0jL3xD1U{bAZ=_KdQ)YIo@7CMpK=4Lp5E?>v&-pF$7XfV{c=Q)9fx05 zm@V8&CC2Dgt q`cvlD+Cw@*o_f|}J@u7vVzkVTZ5DCb!&6knImyRUKPf>hrl91fN%}X408&Zb}n?ajRCOu4ncqb diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato.pbo b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato.pbo index 3b8db23bb8e30b86cc431d5c6c934f505c6895cb..5622f691bede72a920f859a521014c3970e0d184 100644 GIT binary patch delta 20420 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

FOyV^!qT<;~ zE0g&gReo+P*?{6Rk-c0)jO;-$*$Hd>PbKh3K1!;b-4R>bgFT&jWaN3Ge zsFqDdL5J=-8}y1Im@QHTIBN>v8~#EHu*m%jDL^FpXHvjTCr}JPscSUQI<=S5hnzrqmU(DP4|xoL9!#pnaHOKxUN=?ee=PTi;uktn_}<$5-osG zsODWTVL#G4ao;Ow0Zl$D-EOCHfLJn~XoAj}kdfc(AUnem?E;E+%J782bPU2_5EPC`ZgYp5o~ zc%}%fdJR*E*un4+yt}4)Pgdp^H-)sN%wU!W#fYFnPTW@Yz%JGss7`gY5$(REEC{$- zp3DQ)uOmZ|GLT@Jk+<}0xaL==G~HgBz0skx<J3y+?NHSksq+N`L%t1xpg$~x*oGDC#)@J1Ru3Ex zhnE%T9+poGieY$>j{axydK`4Ls>7hs0b2|nY9Lg}9+(FlHrp+&`g7gt$aE5J;|G8; zQmN6(1Jw=&0VCDODZ6ay{u-e`H`ZvMZpF2y!P~UFg{I{M`F|P6PaoVdFJI(_x;&^`WT-77M#M+aNroiq#W$23~Dl<8}ZDyk+Fgy zny61>Zk6cG#5o+e^=&Y#kF)fp`SR}JrZ7JQd)C*!jjE|9Wc|##^q#lT+yX)@DFfXX zFJ`VgEW*pqy^+9RFBq?HBW^i?9!|`72YtH%UvL5)Ah**HzWZJ@O+Hd_;YkSE=plg* zOY~)B$!?X6nN0BRMz$MH_WHB2SfF=anEuFzGE7z39PqZi8{W{DO+}{Zgtw|2Jxw-y zD&_3+;M+f981Fm<7Eg|PEK^dea5^D*1bPA!7um1(!nP$Cp*-}dO}d+@z(QD!j{ShtCFhZ0sNjQKeyeR7@qjSfR%bb;Az(IJ*Hg zH>MmqaM_#|w--)+;GKU&>ni0Vo{F>)ZXhfU(hqW&@Uhcq_W9l9sEW!Z_1O0WZcXs6 zzun!~+~BQL}sUeI1e-tkMm>l5Y%;P9pV z9g=3rXkLfxQo#Hg{?&9;Bo)@>8y#?h&NNrWmh{dC)8mKR?m#j|c*SD*R@#65pj=pg!B?`Rp7ye8 z(k#vEP4uh~8DHeJCWmxW``q|{wwsW&ue~VG!6n~qB5y90AqT#8A(~(4NO{-CAyuq) zKvi`Ss=T!x&4aUEUt4_+a>SolU9Kme5O}r2NiO$vR!9w= zi^%0v*E`U)zv%YB1bWJaisK8`-Iy<(niD7Qfqqw?cwW2$20#2e+lG$ delta 7024 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 diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato.pbo.SchnitzelPommes.bisign b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato.pbo.SchnitzelPommes.bisign index b6e189afddafaf6337c392469c4686c05351d397..beac6cf8269bb9555f0290d2059b3c621aa1b503 100644 GIT binary patch delta 539 zcmV+$0_6R;1h@o{D1U{bAZ=_KdQ)YIo@7CMpK=4Lp5E?>v&-pF$7XfV{c=Q)9fx05 zm@V8&CC2Dgt z`cvlD+Cw@*o_f|}J@u7vVzkVTZ5K9nrH81#G)7T0e6Uov%LfOE8$}z7og|@kiN0aGDnZMm6winQ#jp(Un2)g- zfg)d-ojyTWr%G|eGZmqqy18r#>0eZTVOo6Tm%74`VKtV7c4}t+qOOc(U&b@6%A^nN zSz{XsMqd4zLVt`-Y=&hH0ssI2fB*mh8XFhL&$Tax@L=3v&usq>DqLFr>&C(ZYPHF5q5NpTxVfz?roDqyl1^iP26(zVsuY8M-nupf*LPev_}yoT)p-jj dfw-Ng))e(72Xdr88N-z~3OyJV?2t0>Xnf180(t-d delta 539 zcmV+$0_6R;1h@o{D1RBDCb!&6knImyRUKPf>hrl91fN%}X408&Zb}n?ajeoF!0001Xt`ng((jH*! zTlqskaYeT5>=;Hv3AT&8QFWy%A0Sk%&`CaN_*h_ihqmgg4zE{O8x`Nlt5dy+01zr% zq$IZqhEVG{c!a&nq{ky?NBXOh!t;pHPfyFXMEXmAORzkZc0ssI2fB*mh6zQ5q zO7ztyR1AU)f`WFmdpM*_h3BAYQ(Om~yePzlVGrlPj-M0u&?PqoF0G3d>k2|d&m>_? zEAXS08<=~O+Z{HA1T{X7dgpEg&e3o@6dqHTwSl)M5`Qp+oA_I>Y+3IX&t73&HGlvB z0MVa0$(V$J+BGyH)&T>!$N!j`P)WEi~_P$~Rbz|1SUl diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$ new file mode 100644 index 0000000..ce31d01 --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$ @@ -0,0 +1 @@ +DePbo.dll.6.44 \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$VERSION$ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$VERSION$ new file mode 100644 index 0000000..72e6b05 --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$VERSION$ @@ -0,0 +1 @@ +18121423 \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/PBOPREFIX.txt b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/PBOPREFIX.txt deleted file mode 100644 index e0e0b48..0000000 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/PBOPREFIX.txt +++ /dev/null @@ -1,6 +0,0 @@ -///'scripts.pbo' from Mikero's dos tools, dll version 5.66/// -prefix=com\DayZ-Sa-Tomato -revision=1 -Pbo Type is: Arma Unknown pbo typ (no config). -Sha: '5CAF7A50CB0D1CACBB90A6A0DA4EFC47B8998E0D' -//////////// diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.bin b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.bin new file mode 100644 index 0000000000000000000000000000000000000000..230b7b3291ea9b1ad27bd591f8e0762e80649b10 GIT binary patch literal 655 zcmb7BK~BRk5FEQ4IC0?}rJ%x*Lq#QoP^(HsAaSXzc-vY^;$STu-d_cyC7p#%lXKA3fMY1&e#e zV-H8NE=};vu_0C2lK+Ho^imr~`jMPBw#4^tcP(3Rq;(og>wjp!TDcPeZCujq&qw{e zsz7D3P&;A~s4PTo2)Qt@9 literal 0 HcmV?d00001 diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.cpp b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.cpp deleted file mode 100644 index af6c5bc..0000000 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.cpp +++ /dev/null @@ -1,10 +0,0 @@ -class CfgPatches -{ - class DayZSATomato - { - units[]={}; - weapons[]={}; - requiredVersion=0.1; - requiredAddons[]={}; - }; -}; \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionG.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionGameplay.c similarity index 100% rename from DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionG.c rename to DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionGameplay.c diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/CommunityOfflineServer.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionServer.c similarity index 86% rename from DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/CommunityOfflineServer.c rename to DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionServer.c index 1d69297..26d0c35 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/CommunityOfflineServer.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_MissionServer.c @@ -23,21 +23,23 @@ modded class MissionServer { protected bool m_bLoaded; ref DevTeleport devTeleport; - + ref FileHandler fileHandler; ref AdminMenu adminMenu; ref DevCam devCam; - protected float m_LogInTimerLength = 1; + protected float m_LogInTimerLength1 = 1; //admin list PlayerBase Admin = NULL; protected ref map m_AdminList; static ref map m_StaminaList; protected string m_AdminListPath = "$CurrentDir:\\DayZ-SA-Tomato\\Config\\"; + protected string m_AdminListPath2 = "$CurrentDir:\\@DayZ-SA-Tomato\\Config\\"; void MissionServer() { + //super.MissionServer(); Print( "Dayz-Sa-Tomato initialized .." ); m_bLoaded = false; devTeleport = new DevTeleport(); - + fileHandler = new FileHandler(); adminMenu = new AdminMenu(); devCam = new DevCam(); } @@ -77,7 +79,7 @@ modded class MissionServer NewPosition[0] = OldPosition[0] + 1.5; NewPosition[1] = OldPosition[1] + 0.1; NewPosition[2] = OldPosition[2] + 1.5; - EntityAI gun = GetGame().CreateObject( "SVD", NewPosition, false, true ); + EntityAI gun = EntityAI.Cast(GetGame().CreateObject( "SVD", NewPosition, false, true )); gun.GetInventory().CreateAttachment("PSO1Optic"); gun.GetInventory().CreateAttachment("ImprovisedSuppressor"); gun.GetInventory().CreateAttachment("GhillieAtt_Tan"); @@ -92,6 +94,8 @@ modded class MissionServer return gun; } + + override void OnEvent(EventType eventTypeId, Param params) { super.OnEvent(eventTypeId,params); @@ -164,7 +168,7 @@ modded class MissionServer vector pos; pos = currentPlayer.GetPosition(); - CLogDebug("CommunityOfflineServer - SendPosTOAdmins1/2() - Name :" + PlayerName + "pos : " + pos); + Print("CommunityOfflineServer - SendPosTOAdmins1/2() - Name :" + PlayerName + "pos : " + pos); //SendPosToAdmins(PlayerName, pos); m_currentPlayer1++; @@ -187,7 +191,7 @@ modded class MissionServer PlayerSteam64ID1 = AdminIdent1.GetPlainId(); if (IsAdmin(AdminPlayerName1, PlayerSteam64ID1 )) { - CLogDebug("CommunityOfflineServer - SendPosTOAdmins2/2() - Name :" + PlayerName + "pos : " + pos); + Print("CommunityOfflineServer - SendPosTOAdmins2/2() - Name :" + PlayerName + "pos : " + pos); ScriptRPC PPos = new ScriptRPC(); PPos.Write(PlayerName); PPos.Write(pos); @@ -218,7 +222,7 @@ modded class MissionServer PlayerIdent = currentPlayer.GetIdentity(); PlayerName = PlayerIdent.GetName(); PlayerSteam64ID = PlayerIdent.GetPlainId(); - CLogDebug("CommunityOfflineServer - SendPlayerListToAdmins() - Name :" + PlayerName + "m_currentPlayer1 : " + m_currentPlayer1); + Print("CommunityOfflineServer - SendPlayerListToAdmins() - Name :" + PlayerName + "m_currentPlayer1 : " + m_currentPlayer1); //SendPosToAdmins(PlayerName, pos); m_currentPlayer1++; @@ -272,19 +276,7 @@ modded class MissionServer - // bool IsAdmin( string name, string ID ) - // { - // array players = new array; - // GetGame().GetPlayers( players ); - // for (int i = 0; i < players.Count(); ++i) - // { - // if (players.Get(i).GetIdentity().GetName() == name && m_AdminList.Contains(ID)) - // { - // return true; - // } - // } - // return false; - // } + @@ -302,17 +294,17 @@ modded class MissionServer Count = 0; } PlayerBase currentPlayer = PlayerBase.Cast(m_Players.Get(Count)); - CLogDebug("Current Player : " + currentPlayer.GetIdentity().GetName() + "Count : " + Count.ToString()); + Print("Current Player : " + currentPlayer.GetIdentity().GetName() + "Count : " + Count.ToString()); if (currentPlayer.GetIdentity().GetName() == name && m_AdminList.Contains(ID)) { Admin = currentPlayer; //AdminIdentity = Admin.GetIdentity(); //AdminUID = AdminIdentity.GetPlainId(); - CLogDebug("Returning True for : " + players.Get(i).GetIdentity().GetName() ); + Print("Returning True for : " + players.Get(i).GetIdentity().GetName() ); return Admin; }else { - CLogDebug("Returning False 1" ); + Print("Returning False 1" ); Admin = NULL; } Count ++; @@ -366,6 +358,8 @@ modded class MissionServer m_AdminList = new map; //UID, name m_StaminaList = new map; //UID, name FileHandle AdminUIDSFile = OpenFile(m_AdminListPath + "Admins.txt", FileMode.READ); + FileHandle AdminUIDSFile2 = OpenFile(m_AdminListPath2 + "Admins.txt", FileMode.READ); + if (AdminUIDSFile != 0) { string line_content = ""; @@ -376,6 +370,16 @@ modded class MissionServer } CloseFile(AdminUIDSFile); } + if (AdminUIDSFile2 != 0) + { + string line_content2 = ""; + while ( FGets(AdminUIDSFile2,line_content2) > 0 ) + { + m_AdminList.Insert(line_content2,"null"); //UID , NAME + Print("Adding Admin: "+ line_content2 + " To the Admin List!"); + } + CloseFile(AdminUIDSFile2); + } } @@ -412,37 +416,37 @@ modded class MissionServer static void SetupWeather() { //Offical DayZ SA weather code - Weather weather = g_Game.GetWeather(); + // Weather weather = g_Game.GetWeather(); - weather.GetOvercast().SetLimits( 0.0 , 2.0 ); - weather.GetRain().SetLimits( 0.0 , 2.0 ); - weather.GetFog().SetLimits( 0.0 , 2.0 ); + // weather.GetOvercast().SetLimits( 0.0 , 2.0 ); + // weather.GetRain().SetLimits( 0.0 , 2.0 ); + // weather.GetFog().SetLimits( 0.0 , 2.0 ); - weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.0 ); - weather.GetRain().SetForecastChangeLimits( 0.0, 0.0 ); - weather.GetFog().SetForecastChangeLimits( 0.0, 0.0 ); + // weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.0 ); + // weather.GetRain().SetForecastChangeLimits( 0.0, 0.0 ); + // weather.GetFog().SetForecastChangeLimits( 0.0, 0.0 ); - weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 ); - weather.GetRain().SetForecastTimeLimits( 600 , 600 ); - weather.GetFog().SetForecastTimeLimits( 600 , 600 ); + // weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 ); + // weather.GetRain().SetForecastTimeLimits( 600 , 600 ); + // weather.GetFog().SetForecastTimeLimits( 600 , 600 ); - weather.GetOvercast().Set( 0.0, 0, 0 ); - weather.GetRain().Set( 0.0, 0, 0 ); - weather.GetFog().Set( 0.0, 0, 0 ); + // weather.GetOvercast().Set( 0.0, 0, 0 ); + // weather.GetRain().Set( 0.0, 0, 0 ); + // weather.GetFog().Set( 0.0, 0, 0 ); - weather.SetWindMaximumSpeed( 50 ); - weather.SetWindFunctionParams( 0, 0, 1 ); + // weather.SetWindMaximumSpeed( 50 ); + // weather.SetWindFunctionParams( 0, 0, 1 ); } override void OnPreloadEvent(PlayerIdentity identity, out bool useDB, out vector pos, out float yaw, out int queueTime) { if (GetHive()) { - queueTime = m_LogInTimerLength; + queueTime = m_LogInTimerLength1; } else { - queueTime = m_LogInTimerLength; + queueTime = m_LogInTimerLength1; } } diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_RPCs.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_RPCs.c index 092f3c2..5fdfb92 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_RPCs.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/M_RPCs.c @@ -61,4 +61,7 @@ enum M_RPCs M_Admin_Menu_Log_Startup = 7039; M_Admin_Menu_Log_RPC = 7040; M_Admin_Menu_Message = 7041; + M_Admin_Menu_Teleport_List_Request = 7042; + M_Admin_Menu_Teleport_List = 7043; + M_Admin_Menu_TpMeToPos = 7044; } diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileHandler.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileHandler.c new file mode 100644 index 0000000..73da04c --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileHandler.c @@ -0,0 +1,98 @@ +class FileHandler +{ + //Main Folder + string MainFolder = "$profile:\\Dayz-Sa-Tomato"; + string MainFolderPath = "$profile:\\Dayz-Sa-Tomato\\"; + //Config Folder and Files + string ConfigFolder = MainFolderPath + "Config"; + string ConfigFolderPath = MainFolderPath + "Config\\"; + string ConfigFile = ConfigFolderPath + "Config.txt"; + string AdminsFile = ConfigFolderPath + "Admins.txt"; + //Customization Folder and Files + string CustomizationFolder = MainFolderPath + "Customization"; + string CustomizationFolderPath = MainFolderPath + "Customization\\"; + string TeleportFile = CustomizationFolderPath + "Teleport_Locations.txt"; + + + + void FileHandler() + { + CheckAndCreateFiles(); + } + void CheckAndCreateFiles() + { + CheckFolder(MainFolder); + CheckFolder(ConfigFolder); + CheckFolder(CustomizationFolder); + + CheckFile(ConfigFile); + CheckFile(AdminsFile); + CheckFile(TeleportFile); + } + + void CheckFile(string File) + { + if(FileExist(File)) + { + GetServerMission().Print("FileHandler : File " + File + " found!"); + }else + { + FileHandle file = OpenFile(File, FileMode.APPEND); + if (file != 0) + { + FPrintln(file, " "); + CloseFile(file); + } + if(FileExist(File)) + { + if(File == TeleportFile) + { + CreateTeleportFile(); + }else + { + GetServerMission().Print("FileHandler : File " + File + " Created"); + } + } + } + } + + + void CheckFolder(string Folder) + { + if(FileExist(Folder)) + { + GetServerMission().Print("FileHandler : Folder " + Folder + " found!"); + }else + { + MakeDirectory(Folder); + if(FileExist(Folder)) + { + GetServerMission().Print("FileHandler : Folder " + Folder + " Created"); + } + } + } + + void CreateTeleportFile() + { + FileHandle file = OpenFile(TeleportFile, FileMode.APPEND); + if (file != 0) + { + FPrintln(file, "prison;2651.42 0.0 1395.8"); + FPrintln(file, "mogilevka;7572.65 0.0 5182.3"); + FPrintln(file, "stary;6192.39 0.0 7666.5"); + FPrintln(file, "msta;11206.6 0.0 5398.70"); + FPrintln(file, "solni;13436.5 0.0 6158.7"); + FPrintln(file, "cherno;6350.99 0.0 2666.12"); + FPrintln(file, "elektro;10432.1 0.0 2218.56"); + FPrintln(file, "berez;12661.4 0.0 9465.03"); + FPrintln(file, "tisy;1890.45 0.0 13704.6"); + FPrintln(file, "gorka;9678.94 0.0 8828.93"); + FPrintln(file, "balota;4546.92 0.0 2416.4"); + FPrintln(file, "vybor;3916.85 0.0 8795.59"); + FPrintln(file, "vybora;4107.80 0.0 11205.29"); + FPrintln(file, "severo;8318.51 0.0 12743.4"); + FPrintln(file, "severor;7986.21 0.0 12737.1"); + CloseFile(file); + } + } +} \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileReader.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileReader.c new file mode 100644 index 0000000..e84ca7d --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/FileHandeling/FileReader.c @@ -0,0 +1,4 @@ +class FileReader +{ + +} \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/StaticFunctions.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/StaticFunctions.c index cecea36..98da41e 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/StaticFunctions.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/StaticFunctions.c @@ -265,7 +265,7 @@ static MissionServer GetServerMission() static ref PlayerBase GetPlayer() { - return GetGame().GetPlayer(); + return PlayerBase.Cast(GetGame().GetPlayer()); } static bool SHIFT() diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenu.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenu.c index 8426c98..85d79b8 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenu.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenu.c @@ -23,6 +23,7 @@ class AdminMenu //extends UIScriptedMenu ref AdminMenuGui m_adMenu; ref AdminMenuGuiMap m_map; + ref AdminMenuManager adminMenuManager; PlayerBase Admin; PlayerIdentity AdminIdentity; string AdminUID; @@ -31,6 +32,7 @@ class AdminMenu //extends UIScriptedMenu void AdminMenu() { GetDayZGame().Event_OnRPC.Insert( this.ReceiveRPC ); + adminMenuManager = new AdminMenuManager(); //adminMenuMain = new AdminMenuMain(); } @@ -95,7 +97,7 @@ class AdminMenu //extends UIScriptedMenu Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); if ( Admin != NULL) { - GetServerMission().CLogDebug(DebugLog); + GetServerMission().Print(DebugLog); } } break; @@ -133,11 +135,11 @@ class AdminMenu //extends UIScriptedMenu case (int)M_RPCs.M_Admin_Menu: if ( GetGame().IsServer() ) { - GetServerMission().CLogDebug("M_RPCs.M_Admin_Menu - RPC Main sender : " + sender.GetName()); + GetServerMission().Print("M_RPCs.M_Admin_Menu - RPC Main sender : " + sender.GetName()); Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); if ( Admin != NULL) { - GetServerMission().CLogDebug("M_RPCs.M_Admin_Menu - Is Admin sender : " + sender.GetName() + "Admin name : " + Admin.GetIdentity().GetName()); + GetServerMission().Print("M_RPCs.M_Admin_Menu - Is Admin sender : " + sender.GetName() + "Admin name : " + Admin.GetIdentity().GetName()); AdminIdentity = Admin.GetIdentity(); AdminUID = AdminIdentity.GetPlainId(); GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_OK, new Param1( "Test" ), false, AdminIdentity ); @@ -189,7 +191,8 @@ class AdminMenu //extends UIScriptedMenu //obEditor.addObject( oObj ); if ( oObj.IsInherited( ItemBase ) ) { - oItem = ( ItemBase ) oObj; + //oItem = ( ItemBase ) oObj; + oItem = ItemBase.Cast(oObj); SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 ); quantity = 0; @@ -225,7 +228,7 @@ class AdminMenu //extends UIScriptedMenu if ( Admin != NULL) { - EntityAI oObjp = GetGame().CreateObject( ItemPrev_Item, vector.Zero, false, false ); + EntityAI oObjp = EntityAI.Cast(GetGame().CreateObject( ItemPrev_Item, vector.Zero, false, false )); //obEditor.addObject( oObj ); GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Spawn_ItemPrev_ok, new Param1( oObjp ), false, AdminIdentity ); @@ -268,7 +271,7 @@ class AdminMenu //extends UIScriptedMenu oInvItem.SetHealth( oInvItem.GetMaxHealth() ); if ( oInvItem.IsInherited( ItemBase ) ) { - oItem = ( ItemBase ) oObj; + oItem = ItemBase.Cast(oObj); SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 ); quantity = 0; text = Inventory_QuantityItem; @@ -315,12 +318,12 @@ class AdminMenu //extends UIScriptedMenu Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); if ( Admin != NULL) { - EntityAI oCursorObj = GetGame().CreateObject( Cursor_Item, Cursor_Pos, false, ai ); + EntityAI oCursorObj = EntityAI.Cast(GetGame().CreateObject( Cursor_Item, Cursor_Pos, false, ai )); //obEditor.addObject( oCursorObj ); if ( oCursorObj.IsInherited( ItemBase ) ) { - oItem = ( ItemBase ) oCursorObj; + oItem = ItemBase.Cast(oCursorObj); SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 ); quantity = 0; @@ -382,7 +385,7 @@ class AdminMenu //extends UIScriptedMenu { for ( int a = 0; a < players.Count(); ++a ) { - selectedPlayer = players.Get(a); + selectedPlayer = PlayerBase.Cast(players.Get(a)); selectedIdentity = selectedPlayer.GetIdentity(); if ( selectedIdentity.GetName() == PlayerName ) { @@ -412,12 +415,12 @@ class AdminMenu //extends UIScriptedMenu vector AdminPos; AdminPos = Admin.GetPosition(); - GetServerMission().CLogDebug("TPTO Target : " + selectedIdentity.GetName() + " PlayerName : " + PlayerName); + GetServerMission().Print("TPTO Target : " + selectedIdentity.GetName() + " PlayerName : " + PlayerName); for ( int it = 0; it < playerstptp.Count(); ++it ) { - PlayerBase Targettpto = playerstptp.Get(it); + PlayerBase Targettpto = PlayerBase.Cast(playerstptp.Get(it)); selectedIdentity =playerstptp.Get(it).GetIdentity(); - GetServerMission().CLogDebug("TPTO Target : " + selectedIdentity.GetName() + " PlayerName : " + PlayerName + " Number :" + it.ToString()); + GetServerMission().Print("TPTO Target : " + selectedIdentity.GetName() + " PlayerName : " + PlayerName + " Number :" + it.ToString()); if ( selectedIdentity.GetName() == PlayerName ) { //PlayerBase Target = players.Get(i); @@ -443,7 +446,7 @@ class AdminMenu //extends UIScriptedMenu // } // selectedPlayer = PlayerBase.Cast(m_Players.Get(Count)); // selectedIdentity = selectedPlayer.GetIdentity(); - // GetServerMission().CLogDebug("Current Player : " + selectedIdentity.GetName() + "TP Player name : " + PlayerName); + // GetServerMission().Print("Current Player : " + selectedIdentity.GetName() + "TP Player name : " + PlayerName); // if ( selectedIdentity.GetName() == PlayerName ) // { // selectedPlayer.SetPosition(Admin.GetPosition()); @@ -483,6 +486,43 @@ class AdminMenu //extends UIScriptedMenu } } + if ( GetGame().IsClient() && GetGame().IsMultiplayer() ) + { + } + break; + + case M_RPCs.M_Admin_Menu_TpMeToPos: + string TpDestination; + ctx.Read( TpDestination ); + if ( GetGame().IsServer() ) + { + + TStringArray strs = new TStringArray; + vector vecTpDestination = TpDestination.ToVector(); + TpDestination.Split(" ", strs ); + float x = strs.Get(0).ToFloat(); + float y = strs.Get(2).ToFloat(); + float z = 0.0; + string Vec = "" + strs.Get(0).ToFloat() + "0.0" + strs.Get(2).ToFloat(); + //vector ofixPlayerPos = Vector(x, 0.0, y) + //vector ofixPlayerPos = Vector( x, z, y ); + Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); + if ( Admin != NULL) + { + //vector position = strs.Get(0) + " 0 " + strs.Get(2); + vector position = TpDestination.ToVector(); + vector ofixPlayerPos; + ofixPlayerPos[0] = strs.Get(0).ToFloat(); + ofixPlayerPos[2] = strs.Get(2).ToFloat(); + + ofixPlayerPos = SnapToGround( ofixPlayerPos ); + Print("Teleport strs 0 : " + strs.Get(0) + " 1 : " + strs.Get(1) + " 2 : " + strs.Get(2)); + Print("Teleport Location ofix full : " + ofixPlayerPos); + Print("Teleport Location ToDestination Pos : " + TpDestination + strs.Get(0) + strs.Get(2)); + Admin.SetPosition(ofixPlayerPos); + } + } + if ( GetGame().IsClient() && GetGame().IsMultiplayer() ) { } @@ -513,11 +553,11 @@ class AdminMenu //extends UIScriptedMenu if ( Admin != NULL) { Car MyNiva; - vector position = Admin.GetPosition(); + vector position22 = Admin.GetPosition(); float adminHeading = MiscGameplayFunctions.GetHeadingAngle(Admin); vector posModifier = Vector(-(3 * Math.Sin(adminHeading)), 0, 3 * Math.Cos(adminHeading)); - MyNiva = Car.Cast(GetGame().CreateObject( "OffroadHatchback", position + posModifier, false, true, true )); + MyNiva = Car.Cast(GetGame().CreateObject( "OffroadHatchback", position22 + posModifier, false, true, true )); MyNiva.GetInventory().CreateAttachment("HatchbackHood"); MyNiva.GetInventory().CreateAttachment("HatchbackTrunk"); MyNiva.GetInventory().CreateAttachment("HatchbackDoors_CoDriver"); @@ -607,36 +647,36 @@ class AdminMenu //extends UIScriptedMenu } break; - case M_RPCs.M_Admin_Menu_TpToPos: - ctx.Read( stringParam ); - cData = stringParam.param1; - if ( GetGame().IsServer() ) - { - Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); - if ( Admin != NULL) - { - vector position3 = "0 0 0"; - m_TPLocations.Find( cData, position3 ); + // case M_RPCs.M_Admin_Menu_TpToPos: + // ctx.Read( stringParam ); + // cData = stringParam.param1; + // if ( GetGame().IsServer() ) + // { + // Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); + // if ( Admin != NULL) + // { + // vector position3 = "0 0 0"; + // m_TPLocations.Find( cData, position3 ); - vector ofixPlayerPos; - ofixPlayerPos[0] = position3[0]; - ofixPlayerPos[2] = position3[2]; + // vector ofixPlayerPos; + // ofixPlayerPos[0] = position3[0]; + // ofixPlayerPos[2] = position3[2]; - ofixPlayerPos = SnapToGround( ofixPlayerPos ); + // ofixPlayerPos = SnapToGround( ofixPlayerPos ); - Admin.SetPosition(ofixPlayerPos); + // Admin.SetPosition(ofixPlayerPos); - strMessage = "Teleported To Location: " + cData; - Msgparam = new Param1( strMessage ); - GetGame().RPCSingleParam(Admin, ERPCs.RPC_USER_ACTION_MESSAGE, Msgparam, true, AdminIdentity); + // strMessage = "Teleported To Location: " + cData; + // Msgparam = new Param1( strMessage ); + // GetGame().RPCSingleParam(Admin, ERPCs.RPC_USER_ACTION_MESSAGE, Msgparam, true, AdminIdentity); - } - } + // } + // } - if ( GetGame().IsClient() && GetGame().IsMultiplayer() ) - { - } - break; + // if ( GetGame().IsClient() && GetGame().IsMultiplayer() ) + // { + // } + // break; case M_RPCs.M_Admin_Menu_Kill: ctx.Read( stringParam ); @@ -648,7 +688,7 @@ class AdminMenu //extends UIScriptedMenu { for ( int ig = 0; ig < players.Count(); ++ig ) { - PlayerBase Target = players.Get(ig); + PlayerBase Target = PlayerBase.Cast(players.Get(ig)); if ( Target.GetIdentity().GetName() == PlayerName ) { Target.SetHealth(0); @@ -672,7 +712,7 @@ class AdminMenu //extends UIScriptedMenu { for ( int ig1 = 0; ig1 < players.Count(); ++ig1 ) { - PlayerBase Target1 = players.Get(ig1); + PlayerBase Target1 = PlayerBase.Cast(players.Get(ig1)); Target1.SetHealth(0); } } @@ -693,7 +733,7 @@ class AdminMenu //extends UIScriptedMenu { for ( int ig2 = 0; ig2 < players.Count(); ++ig2 ) { - PlayerBase Target2 = players.Get(ig2); + PlayerBase Target2 = PlayerBase.Cast(players.Get(ig2)); Target2.SetHealth( Admin.GetMaxHealth( "", "" ) ); Target2.SetHealth( "","Blood", Admin.GetMaxHealth( "", "Blood" ) ); Target2.GetStatEnergy().Add(250); @@ -718,7 +758,7 @@ class AdminMenu //extends UIScriptedMenu { for ( int ig3 = 0; ig3 < players.Count(); ++ig3 ) { - PlayerBase Target3 = players.Get(ig3); + PlayerBase Target3 = PlayerBase.Cast(players.Get(ig3)); Target3.RemoveAllItems(); } } @@ -802,7 +842,7 @@ class AdminMenu //extends UIScriptedMenu { for ( int z1 = 0; z1 < players.Count(); ++z1 ) { - selectedPlayer = players.Get(z1); + selectedPlayer = PlayerBase.Cast(players.Get(z1)); selectedIdentity = selectedPlayer.GetIdentity(); if ( selectedIdentity.GetName() == MSGName ) { @@ -853,6 +893,22 @@ class AdminMenu //extends UIScriptedMenu } break; + case M_RPCs.M_Admin_Menu_Teleport_List_Request: + if ( GetGame().IsServer() ) + { + + Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId()); + if ( Admin != NULL) + { + adminMenuManager.LoadTeleportLocations(AdminIdentity);; + } + } + if ( GetGame().IsClient() && GetGame().IsMultiplayer() ) + { + + } + break; + case M_RPCs.M_Admin_Menu_Player_Health_Request: PlayerBase HealthPlayer; @@ -994,7 +1050,7 @@ class AdminMenu //extends UIScriptedMenu for ( int i = 0; i < players.Count(); ++i ) { - PlayerBase Target = players.Get(i); + PlayerBase Target = PlayerBase.Cast(players.Get(i)); Target.SetPosition( AdminPos ); } return i; diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenuManager.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenuManager.c new file mode 100644 index 0000000..c6b1253 --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/AdminMenuManager.c @@ -0,0 +1,130 @@ + /* + DayZ SA Tomato Gui Admin tool for DayZ Standalone. Contact DayZ-SA-Tomato@Primary-Network.de + Copyright (C) 2018 DayZ-SA-Tomato + + This file is part of DayZ SA Tomato. + + DayZ SA Tomato is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + DayZ SA Tomato is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DayZ SA Tomato. If not, see . + */ +class AdminMenuManager +{ + + static bool Config_Teleport = false; + static bool Config_Cam = false; + static ref map m_PlayerLocations; + static ref map m_TeleportLocations; + protected string m_TeleportLocationsPath = "$CurrentDir:\\DayZ-Sa-Tomato\\Config\\List\\TeleportLocation.txt"; + void ~AdminMenuManager() + { + + } + + void AdminMenuManager() + { + m_PlayerLocations = new map; + m_TeleportLocations = new map; + //LoadTeleportLocations(); + } + + void Teleport() + { + if (Config_Teleport) + { + GetGame().RPCSingleParam( NULL, M_RPCs.M_TELEPORT, new Param1( GetCursorPos() ), false, NULL ); + } + } + + void CamTeleport( bool isSpectating, vector toPos ) + { + if (Config_Cam) + { + Print("Send Cam RPC"); + GetGame().RPCSingleParam( NULL, M_RPCs.M_SET_CAM, new Param2< bool, vector >( isSpectating, toPos ), false, NULL ); + } + } + + void MenuOpen() + { + GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu, new Param1( GetCursorPos() ), false, NULL ); + } + + void SendTeleportList(PlayerIdentity admin) + { + + string save; + string a =";"; + vector v; + + + ScriptRPC TList = new ScriptRPC(); + TList.Write(m_TeleportLocations); + TList.Send(NULL, M_RPCs.M_Admin_Menu_Teleport_List, false, admin); + + + // for (int i = 0; i < m_TeleportLocations.Count(); ++i) + // { + + + // TStringArray strs = new TStringArray; + // save = m_TeleportLocations.GetElement(i); + // save.Split(a, strs ); + // v = strs.Get(1).ToVector(); + // string Lname = strs.Get(0); + // Print("SendTeleportList Number : " + i + " Name : " + Lname + "Pos : " + strs.Get(1).ToVector()); + + + // ScriptRPC TList = new ScriptRPC(); + // TList.Write(Lname); + // TList.Write(v); + // TList.Send(NULL, M_RPCs.M_Admin_Menu_Teleport_List, false, admin); + + //} + + } + void LoadTeleportLocations(PlayerIdentity admin) + { + m_TeleportLocations.Clear(); + FileHandle TpList = OpenFile(m_TeleportLocationsPath, FileMode.READ); + if (TpList != 0) + { + string a =";"; + int i = 0; + string line_content = ""; + while ( FGets(TpList,line_content) > 0 ) + { + + TStringArray strs = new TStringArray; + //string.Split(line_content, a, strs ); + //line_content.Split(";", strs) + //vector v = strs.Get(1).ToVector(); + m_TeleportLocations.Insert(i,line_content); //int Name, posvector + Print("Adding Number : " + i + " line : " + line_content + " To the Teleport List!"); + i++; + } + CloseFile(TpList); + SendTeleportList(admin); + } + Print("TpList = NULL"); + } + + + + + + void AddTeleportLocations() + { + + } + +} \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevCam.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevCam.c index 8aa3830..5af5b9b 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevCam.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevCam.c @@ -35,7 +35,7 @@ class DevCam { Print( " receive rpc dev cam is server"); - ref PlayerBase player = GetServerMission().GetPlayerFromIdentity( sender ); + ref PlayerBase player = PlayerBase.Cast(GetServerMission().GetPlayerFromIdentity( sender )); Param2< bool, vector > camParams; ctx.Read( camParams ); diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevTeleport.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevTeleport.c index eff887a..ddbe2b8 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevTeleport.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/DevTeleport.c @@ -39,7 +39,7 @@ class DevTeleport if ( GetGame().IsServer() ) { - ref PlayerBase player = GetServerMission().GetPlayerFromIdentity( sender ); + ref PlayerBase player = PlayerBase.Cast(GetServerMission().GetPlayerFromIdentity( sender )); // permission check - server mission file // if has permissions send message back to client if ( GetServerMission().IsAdmin( sender.GetName(), sender.GetPlainId()) ) diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuGui.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuGui.c index 1431f64..2c80dc6 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuGui.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuGui.c @@ -24,6 +24,11 @@ class AdminMenuGui extends UIScriptedMenu protected ref AdminMenuGuiSpawn m_SpawnTab; protected ref AdminMenuGuiPlayer m_PlayerTab; protected ref AdminMenuGuiMap m_MapTab; + protected ref AdminMenuGuiTeleport m_TeleportTab; + protected ref AdminMenuGuiTeleport m_ConfigTab; + protected ref AdminMenuGuiTeleport m_todo; + protected ref AdminMenuGuiTeleport m_todo2; + protected ref map m_TestListS; protected string m_TestListPath = "$CurrentDir:\\DayZ-SA-Tomato\\"; @@ -104,6 +109,10 @@ class AdminMenuGui extends UIScriptedMenu m_SpawnTab = new AdminMenuGuiSpawn( layoutRoot.FindAnyWidget( "Tab_1" ), this ); m_PlayerTab = new AdminMenuGuiPlayer( layoutRoot.FindAnyWidget( "Tab_2" ), this ); m_MapTab = new AdminMenuGuiMap( layoutRoot.FindAnyWidget( "Tab_3" ), this ); + m_TeleportTab = new AdminMenuGuiTeleport( layoutRoot.FindAnyWidget( "Tab_4" ), this ); + m_ConfigTab = new AdminMenuGuiTeleport( layoutRoot.FindAnyWidget( "Tab_5" ), this ); + m_todo = new AdminMenuGuiTeleport( layoutRoot.FindAnyWidget( "Tab_5" ), this ); + m_todo2 = new AdminMenuGuiTeleport( layoutRoot.FindAnyWidget( "Tab_5" ), this ); m_Back = ButtonWidget.Cast( layoutRoot.FindAnyWidget( "back" ) ); @@ -147,6 +156,13 @@ class AdminMenuGui extends UIScriptedMenu return ok; } + //TeleportTab + if ( w.GetName().Contains("_Teleport_") ) + { + ok = m_TeleportTab.Click(w, x, y, button); + return ok; + } + //CommandTab if ( w.GetName().Contains("_Command_") ) { @@ -193,10 +209,20 @@ class AdminMenuGui extends UIScriptedMenu break; } case 3: + { + m_TeleportTab.Focus(); + break; + } + case 4: { m_MapTab.Focus(); break; } + case 5: + { + m_ConfigTab.Focus(); + break; + } } } diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuManager.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuManager.c deleted file mode 100644 index 9b6a8ef..0000000 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuManager.c +++ /dev/null @@ -1,58 +0,0 @@ - /* - DayZ SA Tomato Gui Admin tool for DayZ Standalone. Contact DayZ-SA-Tomato@Primary-Network.de - Copyright (C) 2018 DayZ-SA-Tomato - - This file is part of DayZ SA Tomato. - - DayZ SA Tomato is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - DayZ SA Tomato is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DayZ SA Tomato. If not, see . - */ -class AdminMenuManager -{ - - static bool Config_Teleport = false; - static bool Config_Cam = false; - static ref map m_PlayerLocations; - - void ~AdminMenuManager() - { - - } - - void AdminMenuManager() - { - m_PlayerLocations = new map; //name of town, pos - } - void Teleport() - { - if (Config_Teleport) - { - GetGame().RPCSingleParam( NULL, M_RPCs.M_TELEPORT, new Param1( GetCursorPos() ), false, NULL ); - } - } - - void CamTeleport( bool isSpectating, vector toPos ) - { - if (Config_Cam) - { - Print("Send Cam RPC"); - GetGame().RPCSingleParam( NULL, M_RPCs.M_SET_CAM, new Param2< bool, vector >( isSpectating, toPos ), false, NULL ); - } - } - - void MenuOpen() - { - GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu, new Param1( GetCursorPos() ), false, NULL ); - } - -} \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuPlayer.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuPlayer.c index f5c0965..edf29b1 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuPlayer.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuPlayer.c @@ -112,7 +112,7 @@ class AdminMenuGuiPlayer extends ScriptedWidgetEventHandler if( ( w == m_btn_Player_TpMe ) ) { GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_TpMe, new Param1(PlayerName), false, NULL ); - LogD("AdminMenuPlayer - Click - m_btn_Player_TpMe Playername : " + PlayerName) + LogD("AdminMenuPlayer - Click - m_btn_Player_TpMe Playername : " + PlayerName); return true; } @@ -269,7 +269,7 @@ class AdminMenuGuiPlayer extends ScriptedWidgetEventHandler PlayerIdentity selectedIdentity; for ( int a = 0; a < players.Count(); ++a ) { - selectedPlayer = players.Get(a); + selectedPlayer = PlayerBase.Cast(players.Get(a)); selectedIdentity = selectedPlayer.GetIdentity(); if ( selectedIdentity.GetName() == GetCurrentSelection() ) { diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuSpawn.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuSpawn.c index 0242578..3e08cdd 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuSpawn.c +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuSpawn.c @@ -56,7 +56,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler m_item_widget = ItemPreviewWidget.Cast( m_Root.FindAnyWidget( "ItemPrev" ) ); m_Spawn_QuantityItem = EditBoxWidget.Cast( m_Root.FindAnyWidget( "quantity_items" ) ); - m_Spawn_editBox = m_Root.FindAnyWidget("className_spawner_box"); + m_Spawn_editBox = EditBoxWidget.Cast( m_Root.FindAnyWidget("className_spawner_box") ); UpdateList( "All" ); } @@ -108,7 +108,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler } else if ( w == m_Spawn_btnSpawnGround ) { - EntityAI oObj = g_Game.CreateObject( strSelection, GetGame().GetPlayer().GetPosition(), false, ai ); + EntityAI oObj = EntityAI.Cast(g_Game.CreateObject( strSelection, GetGame().GetPlayer().GetPosition(), false, ai )); text = m_Spawn_QuantityItem.GetText(); //RPC Build and Send ScriptRPC rpc = new ScriptRPC(); @@ -220,7 +220,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler if ( w == m_classList ) { EntityAI item; - item = g_Game.CreateObject( GetCurrentSelection(), vector.Zero, false, false, false ); + item = EntityAI.Cast(g_Game.CreateObject( GetCurrentSelection(), vector.Zero, false, false, false )); GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Spawn_ItemPrev, new Param1( GetCurrentSelection() ), false, NULL ); if (item) { @@ -422,7 +422,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler //delete m_item_widget; if (item == NULL) { - item = GetGame().CreateObject( "WaterBottle", vector.Zero, false, false ); + item = EntityAI.Cast(GetGame().CreateObject( "WaterBottle", vector.Zero, false, false )); } if (!m_item_widget) { diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuTeleport.c b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuTeleport.c new file mode 100644 index 0000000..e7ca0c8 --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/AdminMenuTeleport.c @@ -0,0 +1,231 @@ + /* + DayZ SA Tomato Gui Admin tool for DayZ Standalone. Contact DayZ-SA-Tomato@Primary-Network.de + Copyright (C) 2018 DayZ-SA-Tomato + + This file is part of DayZ SA Tomato. + + DayZ SA Tomato is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + DayZ SA Tomato is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DayZ SA Tomato. If not, see . + */ +class AdminMenuGuiTeleport extends ScriptedWidgetEventHandler +{ + protected Widget m_Root; + + + + protected AdminMenuGui m_Menu; + + protected ref map> m_TextMap; + protected ButtonWidget m_btn_Teleport_Teleport; + protected ButtonWidget m_btn_Teleport_Reload; + protected ButtonWidget m_btn_Teleport_Add_Location; + ref AdminMenuManager adminMenuManager; + protected EditBoxWidget m_Text_Teleport_Loacation_Name; + static ref map m_TeleportLocations; + static ref map m_TeleportLocations_old; + TextListboxWidget m_List_Teleport_Location; + + + void AdminMenuGuiTeleport( Widget parent, AdminMenuGui menu ) + { + + m_Root = GetGame().GetWorkspace().CreateWidgets( "com\\DayZ-SA-Tomato\\scripts\\5_Mission\\core\\modules\\GUI\\Layouts\\Admin_Teleport.layout", parent ); + adminMenuManager = new AdminMenuManager(); + m_Menu = menu; + GetDayZGame().Event_OnRPC.Insert( this.ReceiveRPC ); + m_TeleportLocations = new map; + m_TeleportLocations_old = new map; + m_List_Teleport_Location = TextListboxWidget.Cast( m_Root.FindAnyWidget( "List_Teleport_Location" ) ); + m_Text_Teleport_Loacation_Name = EditBoxWidget.Cast( m_Root.FindAnyWidget( "Text_Teleport_Loacation_Name" ) ); + m_btn_Teleport_Teleport = ButtonWidget.Cast( m_Root.FindAnyWidget( "btn_Teleport_Teleport" ) ); + m_btn_Teleport_Reload = ButtonWidget.Cast( m_Root.FindAnyWidget( "btn_Teleport_Reload" ) ); + m_btn_Teleport_Add_Location = ButtonWidget.Cast( m_Root.FindAnyWidget( "btn_Teleport_Add_Location" ) ); + + m_List_Teleport_Location.ClearItems(); + //TpLocations; + GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Teleport_List_Request, new Param1(""), false, NULL ); + } + + void LogD(string s) + { + GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Log_Debug, new Param1( s ), false, NULL ); + } + bool Click(Widget w, int x, int y, int button) + { + PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() ); + string TpLocation = GetCurrentSelection(); + if (player) + { + if( ( w == m_btn_Teleport_Teleport ) ) + { + string TpDest; + + m_TeleportLocations.Find(TpLocation, TpDest); + Print("TpLocation : " + TpLocation + " Tp Dest : " + TpDest); + //GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_TpMeToPos, new Param1(TpDest.ToString()), false, NULL ); + ScriptRPC TListDst = new ScriptRPC(); + TListDst.Write(TpDest); + TListDst.Send(NULL, M_RPCs.M_Admin_Menu_TpMeToPos, false, NULL); + return true; + } + + if( ( w == m_btn_Teleport_Reload ) ) + { + m_TeleportLocations.Clear(); + m_List_Teleport_Location.ClearItems(); + GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Teleport_List_Request, new Param1(""), false, NULL ); + } + + if( ( w == m_btn_Teleport_Add_Location ) ) + { + + + m_List_Teleport_Location.ClearItems(); + GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Teleport_List_Request, new Param1(""), false, NULL ); + } + } + return true; + } + + void ~AdminMenuGuiTeleport() + { + m_List_Teleport_Location.ClearItems(); + } + + void Focus() + { + + } + + void AddLocationToFile(string LocationName) + { + + } + override bool OnFocus( Widget w, int x, int y ) + { + if( m_Menu ) + m_Menu.OnFocus( w, x, y ); + if( w ) + { + Param2 p = m_TextMap.Get( w.GetUserID() ); + if( p ) + { + return true; + } + } + + return ( w != null ); + } + bool stop = false; + + void ReceiveRPC( PlayerIdentity sender, Object target, int rpc_type, ParamsReadContext ctx ) + { + int ListCount = 0; + + switch(rpc_type) + { + + case M_RPCs.M_Admin_Menu_Teleport_List: + string PosName; + vector Pos1; //Vector Postition + // ctx.Read(PosName); + // ctx.Read(Pos1); + ctx.Read(m_TeleportLocations_old); + //ctx.Read(m_TeleportLocations); + + if ( GetGame().IsServer() ) + { + + } + if ( GetGame().IsClient() && GetGame().IsMultiplayer() ) + { + + for (int i = 0; i < m_TeleportLocations_old.Count(); ++i) + { + ListCount ++; + string save; + string a =";"; + vector v; + TStringArray strs = new TStringArray; + save = m_TeleportLocations_old.GetElement(i); + save.Split(a, strs ); + v = strs.Get(1).ToVector(); + string Lname = strs.Get(0); + if (m_TeleportLocations.Contains(Lname)) + { + return; + } + m_TeleportLocations.Insert(Lname, strs.Get(1)); //int Name, posvector + m_List_Teleport_Location.AddItem( Lname, NULL, 0 ); + Print("SendTeleportList Number : " + i + " Name : " + Lname + "Pos : " + strs.Get(1)); + } + // Print("Adding : PosName : " + PosName + " Pos1 : " + Pos1); + // m_TeleportLocations.Insert(PosName, Pos1); //int Name, posvector + // m_List_Teleport_Location.AddItem( PosName, NULL, 0 ); + } + break; + } + } + + // void PlayerSelect() + // { + // array players = new array; + // GetGame().GetPlayers( players ); + // PlayerBase selectedPlayer; + // PlayerIdentity selectedIdentity; + // for ( int a = 0; a < players.Count(); ++a ) + // { + // selectedPlayer = players.Get(a); + // selectedIdentity = selectedPlayer.GetIdentity(); + // if ( selectedIdentity.GetName() == GetCurrentSelection() ) + // { + // GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Player_Health_Request, new Param1(selectedPlayer), false, NULL ); + // GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Player_Stamina_Request, new Param1(selectedIdentity.GetName()), false, NULL ); + // } + // } + // } + + void PlayerList() + { + + // m_PlayerList.ClearItems(); + // array players = new array; + // GetGame().GetPlayers( players ); + // for (int i = 0; i < players.Count(); ++i) + // { + // string msg = "AdminMenuPlayer - PlayerList() Adding " + players.Get(i).GetIdentity().GetName() + " To List"; + // GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Log_Info, new Param1( msg ), false, NULL ); + // m_PlayerList.AddItem( players.Get(i).GetIdentity().GetName(), NULL, 0 ); + // } + } + + string GetCurrentSelection() + { + if ( m_List_Teleport_Location.GetSelectedRow() != -1 ) + { + string result; + m_List_Teleport_Location.GetItemText( m_List_Teleport_Location.GetSelectedRow(), 0, result ); + return result; + } + + return ""; + } + + void Message( string txt ) + { + GetGame().GetMission().OnEvent(ChatMessageEventTypeID, new ChatMessageEventParams(0, "", txt, "")); + } + + + +} diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Config.layout b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Config.layout new file mode 100644 index 0000000..bbea010 --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Config.layout @@ -0,0 +1,97 @@ +FrameWidgetClass rootFrame { + position 10 10 + size 1400 800 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + { + FrameWidgetClass command_settings_root { + ignorepointer 1 + size 1 1 + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 0 + { + TextWidgetClass TextWidget0 { + position 0 10 + size 1 50 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 1 + style Bold + text "Config" + "exact text" 0 + "size to text h" 0 + "size to text v" 0 + "text halign" center + "text valign" center + } + PanelWidgetClass PanelWidget0 { + color 0.9333 0 0.0784 1 + position 0 75 + size 0.9 3.5 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 1 + style rover_sim_colorable + } + ButtonWidgetClass btn_Config_Refresh_Admin { + position 1100 150 + size 256.392 48 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Refresh Admins" + text_proportion 0.8 + } + TextWidgetClass TextWidget2 { + position 40 90 + size 167.963 49.9234 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Admins" + } + ButtonWidgetClass btn_Config_Add_Admin { + position 800 150 + size 256.38998 50 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Add Steam64ID" + text_proportion 0.9 + switch normal + } + PanelWidgetClass PanelWidget1 { + color 0.9333 0 0.0784 1 + position 0 223.85101 + size 0.9 3.5 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 1 + style rover_sim_colorable + } + EditBoxWidgetClass Text_Config_Admin_ID { + position 40 150 + size 734.37097 48 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + style ServerBrowser + } + } + } + } +} \ No newline at end of file diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Main.layout b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Main.layout index f5f4d7d..4dae70d 100644 --- a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Main.layout +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Main.layout @@ -24,7 +24,7 @@ FrameWidgetClass settings_menu_root { clipchildren 0 ignorepointer 1 position 80 40 - size 710 60 + size 1350 60 hexactpos 1 vexactpos 1 hexactsize 1 @@ -69,7 +69,7 @@ FrameWidgetClass settings_menu_root { GridSpacerWidgetClass Tab_Control_Container { ignorepointer 1 position 0 0 - size 710 1 + size 1050 1 hexactpos 1 vexactpos 1 hexactsize 1 @@ -251,11 +251,68 @@ FrameWidgetClass settings_menu_root { } } } + PanelWidgetClass Tab_Control_4 { + visible 1 + clipchildren 1 + position 0 0 + size 170 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + priority 200 + userID 0 + style blank + "no focus" 1 + "next down" "XComboBoxWidget1" + { + TextWidgetClass Tab_Control_1_Title0 { + visible 1 + ignorepointer 1 + position 0 0 + size 1 0.48 + halign center_ref + valign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 0 + priority 250 + text "Teleport" + font "gui/fonts/sdf_MetronLight72" + "text halign" center + "text valign" center + } + ImageWidgetClass Tab_Control_1_Background0 { + visible 0 + disabled 0 + inheritalpha 0 + ignorepointer 1 + color 1 1 1 0.7843 + position -160 0 + size 710 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + draggable 0 + imageTexture "{5A89D58DD2276E85}Gui/textures/SerratedBlack2.edds" + mode blend + "src alpha" 1 + "no wrap" 0 + stretch 1 + "flip u" 0 + "flip v" 0 + filter 1 + nocache 0 + } + } + } PanelWidgetClass Tab_Control_3 { visible 1 clipchildren 1 position 0 0 - size 220 1 + size 170 1 hexactpos 1 vexactpos 1 hexactsize 1 @@ -308,6 +365,177 @@ FrameWidgetClass settings_menu_root { } } } + PanelWidgetClass Tab_Control_5 { + visible 1 + clipchildren 1 + position 0 0 + size 170 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + priority 200 + userID 0 + style blank + "no focus" 1 + "next down" "XComboBoxWidget1" + { + TextWidgetClass Tab_Control_1_Title1 { + visible 1 + ignorepointer 1 + position 0 0 + size 1 0.48 + halign center_ref + valign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 0 + priority 250 + text "Config" + font "gui/fonts/sdf_MetronLight72" + "text halign" center + "text valign" center + } + ImageWidgetClass Tab_Control_1_Background1 { + visible 0 + disabled 0 + inheritalpha 0 + ignorepointer 1 + color 1 1 1 0.7843 + position -160 0 + size 710 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + draggable 0 + imageTexture "{5A89D58DD2276E85}Gui/textures/SerratedBlack2.edds" + mode blend + "src alpha" 1 + "no wrap" 0 + stretch 1 + "flip u" 0 + "flip v" 0 + filter 1 + nocache 0 + } + } + } + PanelWidgetClass Tab_Control_6 { + visible 0 + clipchildren 1 + position 0 0 + size 170 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + priority 200 + userID 0 + style blank + "no focus" 1 + "next down" "XComboBoxWidget1" + { + TextWidgetClass Tab_Control_1_Title2 { + visible 1 + ignorepointer 1 + position 0 0 + size 1 0.48 + halign center_ref + valign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 0 + priority 250 + text "Config" + font "gui/fonts/sdf_MetronLight72" + "text halign" center + "text valign" center + } + ImageWidgetClass Tab_Control_1_Background2 { + visible 0 + disabled 0 + inheritalpha 0 + ignorepointer 1 + color 1 1 1 0.7843 + position -160 0 + size 710 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + draggable 0 + imageTexture "{5A89D58DD2276E85}Gui/textures/SerratedBlack2.edds" + mode blend + "src alpha" 1 + "no wrap" 0 + stretch 1 + "flip u" 0 + "flip v" 0 + filter 1 + nocache 0 + } + } + } + PanelWidgetClass Tab_Control_7 { + visible 0 + clipchildren 1 + position 0 0 + size 170 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + priority 200 + userID 0 + style blank + "no focus" 1 + "next down" "XComboBoxWidget1" + { + TextWidgetClass Tab_Control_1_Title3 { + visible 1 + ignorepointer 1 + position 0 0 + size 1 0.48 + halign center_ref + valign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 0 + priority 250 + text "Config" + font "gui/fonts/sdf_MetronLight72" + "text halign" center + "text valign" center + } + ImageWidgetClass Tab_Control_1_Background3 { + visible 0 + disabled 0 + inheritalpha 0 + ignorepointer 1 + color 1 1 1 0.7843 + position -160 0 + size 710 1 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 0 + draggable 0 + imageTexture "{5A89D58DD2276E85}Gui/textures/SerratedBlack2.edds" + mode blend + "src alpha" 1 + "no wrap" 0 + stretch 1 + "flip u" 0 + "flip v" 0 + filter 1 + nocache 0 + } + } + } } } } @@ -407,12 +635,34 @@ FrameWidgetClass settings_menu_root { hexactsize 1 vexactsize 1 } + FrameWidgetClass Tab_4 { + visible 0 + ignorepointer 1 + position 0 110 + size 1400 800 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + } + FrameWidgetClass Tab_5 { + visible 0 + ignorepointer 1 + position 0 110 + size 1400 800 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + } } } TextWidgetClass SettingsTextWidget { ignorepointer 1 - position 0.05 40 - size 0.38295 50 + position 0.00178 2.4828 + size 1 37.15 halign right_ref hexactpos 0 vexactpos 1 diff --git a/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Teleport.layout b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Teleport.layout new file mode 100644 index 0000000..edea356 --- /dev/null +++ b/DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/scripts/5_Mission/core/modules/GUI/Layouts/Admin_Teleport.layout @@ -0,0 +1,115 @@ +FrameWidgetClass rootFrame { + position 10 10 + size 1400 800 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + { + FrameWidgetClass command_settings_root { + ignorepointer 1 + size 1 1 + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 0 + { + TextWidgetClass TextWidget0 { + position 0 10 + size 1 50 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 1 + style Bold + text "Teleport" + "exact text" 0 + "size to text h" 0 + "size to text v" 0 + "text halign" center + "text valign" center + } + PanelWidgetClass PanelWidget0 { + color 0.9333 0 0.0784 1 + position 0 75 + size 0.9 3.5 + halign center_ref + hexactpos 1 + vexactpos 1 + hexactsize 0 + vexactsize 1 + style rover_sim_colorable + } + PanelWidgetClass PanelWidget1 { + visible 0 + position 20 160 + size 400 570 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + style rover_sim_black_2 + } + TextListboxWidgetClass List_Teleport_Location { + position 26.6539 160 + size 386.76901 570 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + style Editor + lines 20 + } + ButtonWidgetClass btn_Teleport_Add_Location { + position 450 680.46002 + size 430 48 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Add Current Location" + } + ButtonWidgetClass btn_Teleport_Teleport { + position 450 160 + size 431.70602 48 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Teleport to Location" + } + ButtonWidgetClass btn_Teleport_Reload { + position 20 740 + size 403.58899 45 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Reload Locations from File" + } + EditBoxWidgetClass Text_Teleport_Loacation_Name { + position 904.15796 680 + size 430 48 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + style ServerBrowser + text "Location_Name" + } + TextWidgetClass TextWidget1 { + position 20 100 + size 400 48 + hexactpos 1 + vexactpos 1 + hexactsize 1 + vexactsize 1 + text "Locations" + "text halign" center + "text valign" center + } + } + } + } +} \ No newline at end of file diff --git a/DayZ-Sa-Tomato/mod.cpp b/DayZ-Sa-Tomato/mod.cpp deleted file mode 100644 index 8e38403..0000000 --- a/DayZ-Sa-Tomato/mod.cpp +++ /dev/null @@ -1,41 +0,0 @@ -class CfgMods -{ - class DayZSATomato - { - dir = "DayZ-SA-Tomato"; - picture = ""; - action = ""; - hideName = 1; - hidePicture = 1; - name = "DayZ-SA-Tomato"; - credits = ""; - author = "DayZ-SA-Tomato"; - authorID = "0"; - version = "1.0"; - extra = 0; - type = "mod"; - - dependencies[] = {"Game", "World", "Mission"}; - - class defs - { - class gameScriptModule - { - value = ""; - files[] = {"com/DayZ-SA-Tomato/scripts/3_Game"}; - }; - - class worldScriptModule - { - value = ""; - files[] = {"com/DayZ-SA-Tomato/scripts/4_World"}; - }; - - class missionScriptModule - { - value = ""; - files[] = {"com/DayZ-SA-Tomato/scripts/5_Mission"}; - }; - } - }; -};