mirror of
https://github.com/Tomato-dayZ/DayZ-SA-Tomato.git
synced 2024-08-30 16:22:09 +00:00
1.0 Update
This commit is contained in:
parent
ddfc4d7e36
commit
d27a52a879
@ -1 +0,0 @@
|
|||||||
com\DayZ-SA-Tomato
|
|
@ -1 +0,0 @@
|
|||||||
1
|
|
@ -1,3 +1,2 @@
|
|||||||
|
76561198161388867
|
||||||
76561198017833573
|
76561198017833573
|
||||||
76561198134309775
|
|
||||||
76561198065995341
|
|
||||||
|
15
DayZ-Sa-Tomato/Config/List/TeleportLocation.txt
Normal file
15
DayZ-Sa-Tomato/Config/List/TeleportLocation.txt
Normal file
@ -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
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$
Normal file
1
DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$MIKERO$
Normal file
@ -0,0 +1 @@
|
|||||||
|
DePbo.dll.6.44
|
1
DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$VERSION$
Normal file
1
DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/$VERSION$
Normal file
@ -0,0 +1 @@
|
|||||||
|
18121423
|
@ -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'
|
|
||||||
//////</HEADER>//////
|
|
BIN
DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.bin
Normal file
BIN
DayZ-Sa-Tomato/addons/DayZ-SA-Tomato/config.bin
Normal file
Binary file not shown.
@ -1,10 +0,0 @@
|
|||||||
class CfgPatches
|
|
||||||
{
|
|
||||||
class DayZSATomato
|
|
||||||
{
|
|
||||||
units[]={};
|
|
||||||
weapons[]={};
|
|
||||||
requiredVersion=0.1;
|
|
||||||
requiredAddons[]={};
|
|
||||||
};
|
|
||||||
};
|
|
@ -23,21 +23,23 @@ modded class MissionServer
|
|||||||
{
|
{
|
||||||
protected bool m_bLoaded;
|
protected bool m_bLoaded;
|
||||||
ref DevTeleport devTeleport;
|
ref DevTeleport devTeleport;
|
||||||
|
ref FileHandler fileHandler;
|
||||||
ref AdminMenu adminMenu;
|
ref AdminMenu adminMenu;
|
||||||
ref DevCam devCam;
|
ref DevCam devCam;
|
||||||
protected float m_LogInTimerLength = 1;
|
protected float m_LogInTimerLength1 = 1;
|
||||||
//admin list
|
//admin list
|
||||||
PlayerBase Admin = NULL;
|
PlayerBase Admin = NULL;
|
||||||
protected ref map<string, string> m_AdminList;
|
protected ref map<string, string> m_AdminList;
|
||||||
static ref map<string, string> m_StaminaList;
|
static ref map<string, string> m_StaminaList;
|
||||||
protected string m_AdminListPath = "$CurrentDir:\\DayZ-SA-Tomato\\Config\\";
|
protected string m_AdminListPath = "$CurrentDir:\\DayZ-SA-Tomato\\Config\\";
|
||||||
|
protected string m_AdminListPath2 = "$CurrentDir:\\@DayZ-SA-Tomato\\Config\\";
|
||||||
void MissionServer()
|
void MissionServer()
|
||||||
{
|
{
|
||||||
|
//super.MissionServer();
|
||||||
Print( "Dayz-Sa-Tomato initialized .." );
|
Print( "Dayz-Sa-Tomato initialized .." );
|
||||||
m_bLoaded = false;
|
m_bLoaded = false;
|
||||||
devTeleport = new DevTeleport();
|
devTeleport = new DevTeleport();
|
||||||
|
fileHandler = new FileHandler();
|
||||||
adminMenu = new AdminMenu();
|
adminMenu = new AdminMenu();
|
||||||
devCam = new DevCam();
|
devCam = new DevCam();
|
||||||
}
|
}
|
||||||
@ -77,7 +79,7 @@ modded class MissionServer
|
|||||||
NewPosition[0] = OldPosition[0] + 1.5;
|
NewPosition[0] = OldPosition[0] + 1.5;
|
||||||
NewPosition[1] = OldPosition[1] + 0.1;
|
NewPosition[1] = OldPosition[1] + 0.1;
|
||||||
NewPosition[2] = OldPosition[2] + 1.5;
|
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("PSO1Optic");
|
||||||
gun.GetInventory().CreateAttachment("ImprovisedSuppressor");
|
gun.GetInventory().CreateAttachment("ImprovisedSuppressor");
|
||||||
gun.GetInventory().CreateAttachment("GhillieAtt_Tan");
|
gun.GetInventory().CreateAttachment("GhillieAtt_Tan");
|
||||||
@ -92,6 +94,8 @@ modded class MissionServer
|
|||||||
return gun;
|
return gun;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override void OnEvent(EventType eventTypeId, Param params)
|
override void OnEvent(EventType eventTypeId, Param params)
|
||||||
{
|
{
|
||||||
super.OnEvent(eventTypeId,params);
|
super.OnEvent(eventTypeId,params);
|
||||||
@ -164,7 +168,7 @@ modded class MissionServer
|
|||||||
vector pos;
|
vector pos;
|
||||||
|
|
||||||
pos = currentPlayer.GetPosition();
|
pos = currentPlayer.GetPosition();
|
||||||
CLogDebug("CommunityOfflineServer - SendPosTOAdmins1/2() - Name :" + PlayerName + "pos : " + pos);
|
Print("CommunityOfflineServer - SendPosTOAdmins1/2() - Name :" + PlayerName + "pos : " + pos);
|
||||||
//SendPosToAdmins(PlayerName, pos);
|
//SendPosToAdmins(PlayerName, pos);
|
||||||
m_currentPlayer1++;
|
m_currentPlayer1++;
|
||||||
|
|
||||||
@ -187,7 +191,7 @@ modded class MissionServer
|
|||||||
PlayerSteam64ID1 = AdminIdent1.GetPlainId();
|
PlayerSteam64ID1 = AdminIdent1.GetPlainId();
|
||||||
if (IsAdmin(AdminPlayerName1, PlayerSteam64ID1 ))
|
if (IsAdmin(AdminPlayerName1, PlayerSteam64ID1 ))
|
||||||
{
|
{
|
||||||
CLogDebug("CommunityOfflineServer - SendPosTOAdmins2/2() - Name :" + PlayerName + "pos : " + pos);
|
Print("CommunityOfflineServer - SendPosTOAdmins2/2() - Name :" + PlayerName + "pos : " + pos);
|
||||||
ScriptRPC PPos = new ScriptRPC();
|
ScriptRPC PPos = new ScriptRPC();
|
||||||
PPos.Write(PlayerName);
|
PPos.Write(PlayerName);
|
||||||
PPos.Write(pos);
|
PPos.Write(pos);
|
||||||
@ -218,7 +222,7 @@ modded class MissionServer
|
|||||||
PlayerIdent = currentPlayer.GetIdentity();
|
PlayerIdent = currentPlayer.GetIdentity();
|
||||||
PlayerName = PlayerIdent.GetName();
|
PlayerName = PlayerIdent.GetName();
|
||||||
PlayerSteam64ID = PlayerIdent.GetPlainId();
|
PlayerSteam64ID = PlayerIdent.GetPlainId();
|
||||||
CLogDebug("CommunityOfflineServer - SendPlayerListToAdmins() - Name :" + PlayerName + "m_currentPlayer1 : " + m_currentPlayer1);
|
Print("CommunityOfflineServer - SendPlayerListToAdmins() - Name :" + PlayerName + "m_currentPlayer1 : " + m_currentPlayer1);
|
||||||
//SendPosToAdmins(PlayerName, pos);
|
//SendPosToAdmins(PlayerName, pos);
|
||||||
m_currentPlayer1++;
|
m_currentPlayer1++;
|
||||||
|
|
||||||
@ -272,19 +276,7 @@ modded class MissionServer
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// bool IsAdmin( string name, string ID )
|
|
||||||
// {
|
|
||||||
// array<Man> players = new array<Man>;
|
|
||||||
// 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;
|
Count = 0;
|
||||||
}
|
}
|
||||||
PlayerBase currentPlayer = PlayerBase.Cast(m_Players.Get(Count));
|
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))
|
if (currentPlayer.GetIdentity().GetName() == name && m_AdminList.Contains(ID))
|
||||||
{
|
{
|
||||||
Admin = currentPlayer;
|
Admin = currentPlayer;
|
||||||
//AdminIdentity = Admin.GetIdentity();
|
//AdminIdentity = Admin.GetIdentity();
|
||||||
//AdminUID = AdminIdentity.GetPlainId();
|
//AdminUID = AdminIdentity.GetPlainId();
|
||||||
CLogDebug("Returning True for : " + players.Get(i).GetIdentity().GetName() );
|
Print("Returning True for : " + players.Get(i).GetIdentity().GetName() );
|
||||||
return Admin;
|
return Admin;
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
CLogDebug("Returning False 1" );
|
Print("Returning False 1" );
|
||||||
Admin = NULL;
|
Admin = NULL;
|
||||||
}
|
}
|
||||||
Count ++;
|
Count ++;
|
||||||
@ -366,6 +358,8 @@ modded class MissionServer
|
|||||||
m_AdminList = new map<string, string>; //UID, name
|
m_AdminList = new map<string, string>; //UID, name
|
||||||
m_StaminaList = new map<string, string>; //UID, name
|
m_StaminaList = new map<string, string>; //UID, name
|
||||||
FileHandle AdminUIDSFile = OpenFile(m_AdminListPath + "Admins.txt", FileMode.READ);
|
FileHandle AdminUIDSFile = OpenFile(m_AdminListPath + "Admins.txt", FileMode.READ);
|
||||||
|
FileHandle AdminUIDSFile2 = OpenFile(m_AdminListPath2 + "Admins.txt", FileMode.READ);
|
||||||
|
|
||||||
if (AdminUIDSFile != 0)
|
if (AdminUIDSFile != 0)
|
||||||
{
|
{
|
||||||
string line_content = "";
|
string line_content = "";
|
||||||
@ -376,6 +370,16 @@ modded class MissionServer
|
|||||||
}
|
}
|
||||||
CloseFile(AdminUIDSFile);
|
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()
|
static void SetupWeather()
|
||||||
{
|
{
|
||||||
//Offical DayZ SA weather code
|
//Offical DayZ SA weather code
|
||||||
Weather weather = g_Game.GetWeather();
|
// Weather weather = g_Game.GetWeather();
|
||||||
|
|
||||||
weather.GetOvercast().SetLimits( 0.0 , 2.0 );
|
// weather.GetOvercast().SetLimits( 0.0 , 2.0 );
|
||||||
weather.GetRain().SetLimits( 0.0 , 2.0 );
|
// weather.GetRain().SetLimits( 0.0 , 2.0 );
|
||||||
weather.GetFog().SetLimits( 0.0 , 2.0 );
|
// weather.GetFog().SetLimits( 0.0 , 2.0 );
|
||||||
|
|
||||||
weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.0 );
|
// weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.0 );
|
||||||
weather.GetRain().SetForecastChangeLimits( 0.0, 0.0 );
|
// weather.GetRain().SetForecastChangeLimits( 0.0, 0.0 );
|
||||||
weather.GetFog().SetForecastChangeLimits( 0.0, 0.0 );
|
// weather.GetFog().SetForecastChangeLimits( 0.0, 0.0 );
|
||||||
|
|
||||||
weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 );
|
// weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 );
|
||||||
weather.GetRain().SetForecastTimeLimits( 600 , 600 );
|
// weather.GetRain().SetForecastTimeLimits( 600 , 600 );
|
||||||
weather.GetFog().SetForecastTimeLimits( 600 , 600 );
|
// weather.GetFog().SetForecastTimeLimits( 600 , 600 );
|
||||||
|
|
||||||
weather.GetOvercast().Set( 0.0, 0, 0 );
|
// weather.GetOvercast().Set( 0.0, 0, 0 );
|
||||||
weather.GetRain().Set( 0.0, 0, 0 );
|
// weather.GetRain().Set( 0.0, 0, 0 );
|
||||||
weather.GetFog().Set( 0.0, 0, 0 );
|
// weather.GetFog().Set( 0.0, 0, 0 );
|
||||||
|
|
||||||
weather.SetWindMaximumSpeed( 50 );
|
// weather.SetWindMaximumSpeed( 50 );
|
||||||
weather.SetWindFunctionParams( 0, 0, 1 );
|
// weather.SetWindFunctionParams( 0, 0, 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
override void OnPreloadEvent(PlayerIdentity identity, out bool useDB, out vector pos, out float yaw, out int queueTime)
|
override void OnPreloadEvent(PlayerIdentity identity, out bool useDB, out vector pos, out float yaw, out int queueTime)
|
||||||
{
|
{
|
||||||
if (GetHive())
|
if (GetHive())
|
||||||
{
|
{
|
||||||
queueTime = m_LogInTimerLength;
|
queueTime = m_LogInTimerLength1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
queueTime = m_LogInTimerLength;
|
queueTime = m_LogInTimerLength1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -61,4 +61,7 @@ enum M_RPCs
|
|||||||
M_Admin_Menu_Log_Startup = 7039;
|
M_Admin_Menu_Log_Startup = 7039;
|
||||||
M_Admin_Menu_Log_RPC = 7040;
|
M_Admin_Menu_Log_RPC = 7040;
|
||||||
M_Admin_Menu_Message = 7041;
|
M_Admin_Menu_Message = 7041;
|
||||||
|
M_Admin_Menu_Teleport_List_Request = 7042;
|
||||||
|
M_Admin_Menu_Teleport_List = 7043;
|
||||||
|
M_Admin_Menu_TpMeToPos = 7044;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
class FileReader
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -265,7 +265,7 @@ static MissionServer GetServerMission()
|
|||||||
|
|
||||||
static ref PlayerBase GetPlayer()
|
static ref PlayerBase GetPlayer()
|
||||||
{
|
{
|
||||||
return GetGame().GetPlayer();
|
return PlayerBase.Cast(GetGame().GetPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool SHIFT()
|
static bool SHIFT()
|
||||||
|
@ -23,6 +23,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
|
|
||||||
ref AdminMenuGui m_adMenu;
|
ref AdminMenuGui m_adMenu;
|
||||||
ref AdminMenuGuiMap m_map;
|
ref AdminMenuGuiMap m_map;
|
||||||
|
ref AdminMenuManager adminMenuManager;
|
||||||
PlayerBase Admin;
|
PlayerBase Admin;
|
||||||
PlayerIdentity AdminIdentity;
|
PlayerIdentity AdminIdentity;
|
||||||
string AdminUID;
|
string AdminUID;
|
||||||
@ -31,6 +32,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
void AdminMenu()
|
void AdminMenu()
|
||||||
{
|
{
|
||||||
GetDayZGame().Event_OnRPC.Insert( this.ReceiveRPC );
|
GetDayZGame().Event_OnRPC.Insert( this.ReceiveRPC );
|
||||||
|
adminMenuManager = new AdminMenuManager();
|
||||||
//adminMenuMain = new AdminMenuMain();
|
//adminMenuMain = new AdminMenuMain();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +97,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
||||||
if ( Admin != NULL)
|
if ( Admin != NULL)
|
||||||
{
|
{
|
||||||
GetServerMission().CLogDebug(DebugLog);
|
GetServerMission().Print(DebugLog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -133,11 +135,11 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
case (int)M_RPCs.M_Admin_Menu:
|
case (int)M_RPCs.M_Admin_Menu:
|
||||||
if ( GetGame().IsServer() )
|
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());
|
Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
||||||
if ( Admin != NULL)
|
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();
|
AdminIdentity = Admin.GetIdentity();
|
||||||
AdminUID = AdminIdentity.GetPlainId();
|
AdminUID = AdminIdentity.GetPlainId();
|
||||||
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_OK, new Param1<string>( "Test" ), false, AdminIdentity );
|
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_OK, new Param1<string>( "Test" ), false, AdminIdentity );
|
||||||
@ -189,7 +191,8 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
//obEditor.addObject( oObj );
|
//obEditor.addObject( oObj );
|
||||||
if ( oObj.IsInherited( ItemBase ) )
|
if ( oObj.IsInherited( ItemBase ) )
|
||||||
{
|
{
|
||||||
oItem = ( ItemBase ) oObj;
|
//oItem = ( ItemBase ) oObj;
|
||||||
|
oItem = ItemBase.Cast(oObj);
|
||||||
SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 );
|
SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 );
|
||||||
|
|
||||||
quantity = 0;
|
quantity = 0;
|
||||||
@ -225,7 +228,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
if ( Admin != NULL)
|
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 );
|
//obEditor.addObject( oObj );
|
||||||
|
|
||||||
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Spawn_ItemPrev_ok, new Param1<EntityAI>( oObjp ), false, AdminIdentity );
|
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Spawn_ItemPrev_ok, new Param1<EntityAI>( oObjp ), false, AdminIdentity );
|
||||||
@ -268,7 +271,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
oInvItem.SetHealth( oInvItem.GetMaxHealth() );
|
oInvItem.SetHealth( oInvItem.GetMaxHealth() );
|
||||||
if ( oInvItem.IsInherited( ItemBase ) )
|
if ( oInvItem.IsInherited( ItemBase ) )
|
||||||
{
|
{
|
||||||
oItem = ( ItemBase ) oObj;
|
oItem = ItemBase.Cast(oObj);
|
||||||
SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 );
|
SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 );
|
||||||
quantity = 0;
|
quantity = 0;
|
||||||
text = Inventory_QuantityItem;
|
text = Inventory_QuantityItem;
|
||||||
@ -315,12 +318,12 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
||||||
if ( Admin != NULL)
|
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 );
|
//obEditor.addObject( oCursorObj );
|
||||||
|
|
||||||
if ( oCursorObj.IsInherited( ItemBase ) )
|
if ( oCursorObj.IsInherited( ItemBase ) )
|
||||||
{
|
{
|
||||||
oItem = ( ItemBase ) oCursorObj;
|
oItem = ItemBase.Cast(oCursorObj);
|
||||||
SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 );
|
SetupSpawnedItem( oItem, oItem.GetMaxHealth(), 1 );
|
||||||
|
|
||||||
quantity = 0;
|
quantity = 0;
|
||||||
@ -382,7 +385,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
{
|
{
|
||||||
for ( int a = 0; a < players.Count(); ++a )
|
for ( int a = 0; a < players.Count(); ++a )
|
||||||
{
|
{
|
||||||
selectedPlayer = players.Get(a);
|
selectedPlayer = PlayerBase.Cast(players.Get(a));
|
||||||
selectedIdentity = selectedPlayer.GetIdentity();
|
selectedIdentity = selectedPlayer.GetIdentity();
|
||||||
if ( selectedIdentity.GetName() == PlayerName )
|
if ( selectedIdentity.GetName() == PlayerName )
|
||||||
{
|
{
|
||||||
@ -412,12 +415,12 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
|
|
||||||
vector AdminPos;
|
vector AdminPos;
|
||||||
AdminPos = Admin.GetPosition();
|
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 )
|
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();
|
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 )
|
if ( selectedIdentity.GetName() == PlayerName )
|
||||||
{
|
{
|
||||||
//PlayerBase Target = players.Get(i);
|
//PlayerBase Target = players.Get(i);
|
||||||
@ -443,7 +446,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
// }
|
// }
|
||||||
// selectedPlayer = PlayerBase.Cast(m_Players.Get(Count));
|
// selectedPlayer = PlayerBase.Cast(m_Players.Get(Count));
|
||||||
// selectedIdentity = selectedPlayer.GetIdentity();
|
// 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 )
|
// if ( selectedIdentity.GetName() == PlayerName )
|
||||||
// {
|
// {
|
||||||
// selectedPlayer.SetPosition(Admin.GetPosition());
|
// 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() )
|
if ( GetGame().IsClient() && GetGame().IsMultiplayer() )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -513,11 +553,11 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
if ( Admin != NULL)
|
if ( Admin != NULL)
|
||||||
{
|
{
|
||||||
Car MyNiva;
|
Car MyNiva;
|
||||||
vector position = Admin.GetPosition();
|
vector position22 = Admin.GetPosition();
|
||||||
float adminHeading = MiscGameplayFunctions.GetHeadingAngle(Admin);
|
float adminHeading = MiscGameplayFunctions.GetHeadingAngle(Admin);
|
||||||
vector posModifier = Vector(-(3 * Math.Sin(adminHeading)), 0, 3 * Math.Cos(adminHeading));
|
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("HatchbackHood");
|
||||||
MyNiva.GetInventory().CreateAttachment("HatchbackTrunk");
|
MyNiva.GetInventory().CreateAttachment("HatchbackTrunk");
|
||||||
MyNiva.GetInventory().CreateAttachment("HatchbackDoors_CoDriver");
|
MyNiva.GetInventory().CreateAttachment("HatchbackDoors_CoDriver");
|
||||||
@ -607,36 +647,36 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case M_RPCs.M_Admin_Menu_TpToPos:
|
// case M_RPCs.M_Admin_Menu_TpToPos:
|
||||||
ctx.Read( stringParam );
|
// ctx.Read( stringParam );
|
||||||
cData = stringParam.param1;
|
// cData = stringParam.param1;
|
||||||
if ( GetGame().IsServer() )
|
// if ( GetGame().IsServer() )
|
||||||
{
|
// {
|
||||||
Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
// Admin = GetServerMission().IsAdminID(sender.GetName(), sender.GetPlainId());
|
||||||
if ( Admin != NULL)
|
// if ( Admin != NULL)
|
||||||
{
|
// {
|
||||||
vector position3 = "0 0 0";
|
// vector position3 = "0 0 0";
|
||||||
m_TPLocations.Find( cData, position3 );
|
// m_TPLocations.Find( cData, position3 );
|
||||||
|
|
||||||
vector ofixPlayerPos;
|
// vector ofixPlayerPos;
|
||||||
ofixPlayerPos[0] = position3[0];
|
// ofixPlayerPos[0] = position3[0];
|
||||||
ofixPlayerPos[2] = position3[2];
|
// ofixPlayerPos[2] = position3[2];
|
||||||
|
|
||||||
ofixPlayerPos = SnapToGround( ofixPlayerPos );
|
// ofixPlayerPos = SnapToGround( ofixPlayerPos );
|
||||||
|
|
||||||
Admin.SetPosition(ofixPlayerPos);
|
// Admin.SetPosition(ofixPlayerPos);
|
||||||
|
|
||||||
strMessage = "Teleported To Location: " + cData;
|
// strMessage = "Teleported To Location: " + cData;
|
||||||
Msgparam = new Param1<string>( strMessage );
|
// Msgparam = new Param1<string>( strMessage );
|
||||||
GetGame().RPCSingleParam(Admin, ERPCs.RPC_USER_ACTION_MESSAGE, Msgparam, true, AdminIdentity);
|
// GetGame().RPCSingleParam(Admin, ERPCs.RPC_USER_ACTION_MESSAGE, Msgparam, true, AdminIdentity);
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if ( GetGame().IsClient() && GetGame().IsMultiplayer() )
|
// if ( GetGame().IsClient() && GetGame().IsMultiplayer() )
|
||||||
{
|
// {
|
||||||
}
|
// }
|
||||||
break;
|
// break;
|
||||||
|
|
||||||
case M_RPCs.M_Admin_Menu_Kill:
|
case M_RPCs.M_Admin_Menu_Kill:
|
||||||
ctx.Read( stringParam );
|
ctx.Read( stringParam );
|
||||||
@ -648,7 +688,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
{
|
{
|
||||||
for ( int ig = 0; ig < players.Count(); ++ig )
|
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 )
|
if ( Target.GetIdentity().GetName() == PlayerName )
|
||||||
{
|
{
|
||||||
Target.SetHealth(0);
|
Target.SetHealth(0);
|
||||||
@ -672,7 +712,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
{
|
{
|
||||||
for ( int ig1 = 0; ig1 < players.Count(); ++ig1 )
|
for ( int ig1 = 0; ig1 < players.Count(); ++ig1 )
|
||||||
{
|
{
|
||||||
PlayerBase Target1 = players.Get(ig1);
|
PlayerBase Target1 = PlayerBase.Cast(players.Get(ig1));
|
||||||
Target1.SetHealth(0);
|
Target1.SetHealth(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -693,7 +733,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
{
|
{
|
||||||
for ( int ig2 = 0; ig2 < players.Count(); ++ig2 )
|
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( Admin.GetMaxHealth( "", "" ) );
|
||||||
Target2.SetHealth( "","Blood", Admin.GetMaxHealth( "", "Blood" ) );
|
Target2.SetHealth( "","Blood", Admin.GetMaxHealth( "", "Blood" ) );
|
||||||
Target2.GetStatEnergy().Add(250);
|
Target2.GetStatEnergy().Add(250);
|
||||||
@ -718,7 +758,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
{
|
{
|
||||||
for ( int ig3 = 0; ig3 < players.Count(); ++ig3 )
|
for ( int ig3 = 0; ig3 < players.Count(); ++ig3 )
|
||||||
{
|
{
|
||||||
PlayerBase Target3 = players.Get(ig3);
|
PlayerBase Target3 = PlayerBase.Cast(players.Get(ig3));
|
||||||
Target3.RemoveAllItems();
|
Target3.RemoveAllItems();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -802,7 +842,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
{
|
{
|
||||||
for ( int z1 = 0; z1 < players.Count(); ++z1 )
|
for ( int z1 = 0; z1 < players.Count(); ++z1 )
|
||||||
{
|
{
|
||||||
selectedPlayer = players.Get(z1);
|
selectedPlayer = PlayerBase.Cast(players.Get(z1));
|
||||||
selectedIdentity = selectedPlayer.GetIdentity();
|
selectedIdentity = selectedPlayer.GetIdentity();
|
||||||
if ( selectedIdentity.GetName() == MSGName )
|
if ( selectedIdentity.GetName() == MSGName )
|
||||||
{
|
{
|
||||||
@ -853,6 +893,22 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
}
|
}
|
||||||
break;
|
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:
|
case M_RPCs.M_Admin_Menu_Player_Health_Request:
|
||||||
|
|
||||||
PlayerBase HealthPlayer;
|
PlayerBase HealthPlayer;
|
||||||
@ -994,7 +1050,7 @@ class AdminMenu //extends UIScriptedMenu
|
|||||||
|
|
||||||
for ( int i = 0; i < players.Count(); ++i )
|
for ( int i = 0; i < players.Count(); ++i )
|
||||||
{
|
{
|
||||||
PlayerBase Target = players.Get(i);
|
PlayerBase Target = PlayerBase.Cast(players.Get(i));
|
||||||
Target.SetPosition( AdminPos );
|
Target.SetPosition( AdminPos );
|
||||||
}
|
}
|
||||||
return i;
|
return i;
|
||||||
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
class AdminMenuManager
|
||||||
|
{
|
||||||
|
|
||||||
|
static bool Config_Teleport = false;
|
||||||
|
static bool Config_Cam = false;
|
||||||
|
static ref map<string, vector> m_PlayerLocations;
|
||||||
|
static ref map<int, string> m_TeleportLocations;
|
||||||
|
protected string m_TeleportLocationsPath = "$CurrentDir:\\DayZ-Sa-Tomato\\Config\\List\\TeleportLocation.txt";
|
||||||
|
void ~AdminMenuManager()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AdminMenuManager()
|
||||||
|
{
|
||||||
|
m_PlayerLocations = new map<string, vector>;
|
||||||
|
m_TeleportLocations = new map<int, string>;
|
||||||
|
//LoadTeleportLocations();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Teleport()
|
||||||
|
{
|
||||||
|
if (Config_Teleport)
|
||||||
|
{
|
||||||
|
GetGame().RPCSingleParam( NULL, M_RPCs.M_TELEPORT, new Param1<vector>( 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<vector>( 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()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -35,7 +35,7 @@ class DevCam
|
|||||||
{
|
{
|
||||||
Print( " receive rpc dev cam is server");
|
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;
|
Param2< bool, vector > camParams;
|
||||||
ctx.Read( camParams );
|
ctx.Read( camParams );
|
||||||
|
@ -39,7 +39,7 @@ class DevTeleport
|
|||||||
|
|
||||||
if ( GetGame().IsServer() )
|
if ( GetGame().IsServer() )
|
||||||
{
|
{
|
||||||
ref PlayerBase player = GetServerMission().GetPlayerFromIdentity( sender );
|
ref PlayerBase player = PlayerBase.Cast(GetServerMission().GetPlayerFromIdentity( sender ));
|
||||||
// permission check - server mission file
|
// permission check - server mission file
|
||||||
// if has permissions send message back to client
|
// if has permissions send message back to client
|
||||||
if ( GetServerMission().IsAdmin( sender.GetName(), sender.GetPlainId()) )
|
if ( GetServerMission().IsAdmin( sender.GetName(), sender.GetPlainId()) )
|
||||||
|
@ -24,6 +24,11 @@ class AdminMenuGui extends UIScriptedMenu
|
|||||||
protected ref AdminMenuGuiSpawn m_SpawnTab;
|
protected ref AdminMenuGuiSpawn m_SpawnTab;
|
||||||
protected ref AdminMenuGuiPlayer m_PlayerTab;
|
protected ref AdminMenuGuiPlayer m_PlayerTab;
|
||||||
protected ref AdminMenuGuiMap m_MapTab;
|
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<string, string> m_TestListS;
|
protected ref map<string, string> m_TestListS;
|
||||||
protected string m_TestListPath = "$CurrentDir:\\DayZ-SA-Tomato\\";
|
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_SpawnTab = new AdminMenuGuiSpawn( layoutRoot.FindAnyWidget( "Tab_1" ), this );
|
||||||
m_PlayerTab = new AdminMenuGuiPlayer( layoutRoot.FindAnyWidget( "Tab_2" ), this );
|
m_PlayerTab = new AdminMenuGuiPlayer( layoutRoot.FindAnyWidget( "Tab_2" ), this );
|
||||||
m_MapTab = new AdminMenuGuiMap( layoutRoot.FindAnyWidget( "Tab_3" ), 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" ) );
|
m_Back = ButtonWidget.Cast( layoutRoot.FindAnyWidget( "back" ) );
|
||||||
|
|
||||||
@ -147,6 +156,13 @@ class AdminMenuGui extends UIScriptedMenu
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TeleportTab
|
||||||
|
if ( w.GetName().Contains("_Teleport_") )
|
||||||
|
{
|
||||||
|
ok = m_TeleportTab.Click(w, x, y, button);
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
//CommandTab
|
//CommandTab
|
||||||
if ( w.GetName().Contains("_Command_") )
|
if ( w.GetName().Contains("_Command_") )
|
||||||
{
|
{
|
||||||
@ -193,10 +209,20 @@ class AdminMenuGui extends UIScriptedMenu
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 3:
|
case 3:
|
||||||
|
{
|
||||||
|
m_TeleportTab.Focus();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4:
|
||||||
{
|
{
|
||||||
m_MapTab.Focus();
|
m_MapTab.Focus();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 5:
|
||||||
|
{
|
||||||
|
m_ConfigTab.Focus();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
class AdminMenuManager
|
|
||||||
{
|
|
||||||
|
|
||||||
static bool Config_Teleport = false;
|
|
||||||
static bool Config_Cam = false;
|
|
||||||
static ref map<string, vector> m_PlayerLocations;
|
|
||||||
|
|
||||||
void ~AdminMenuManager()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void AdminMenuManager()
|
|
||||||
{
|
|
||||||
m_PlayerLocations = new map<string, vector>; //name of town, pos
|
|
||||||
}
|
|
||||||
void Teleport()
|
|
||||||
{
|
|
||||||
if (Config_Teleport)
|
|
||||||
{
|
|
||||||
GetGame().RPCSingleParam( NULL, M_RPCs.M_TELEPORT, new Param1<vector>( 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<vector>( GetCursorPos() ), false, NULL );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -112,7 +112,7 @@ class AdminMenuGuiPlayer extends ScriptedWidgetEventHandler
|
|||||||
if( ( w == m_btn_Player_TpMe ) )
|
if( ( w == m_btn_Player_TpMe ) )
|
||||||
{
|
{
|
||||||
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_TpMe, new Param1<string>(PlayerName), false, NULL );
|
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_TpMe, new Param1<string>(PlayerName), false, NULL );
|
||||||
LogD("AdminMenuPlayer - Click - m_btn_Player_TpMe Playername : " + PlayerName)
|
LogD("AdminMenuPlayer - Click - m_btn_Player_TpMe Playername : " + PlayerName);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ class AdminMenuGuiPlayer extends ScriptedWidgetEventHandler
|
|||||||
PlayerIdentity selectedIdentity;
|
PlayerIdentity selectedIdentity;
|
||||||
for ( int a = 0; a < players.Count(); ++a )
|
for ( int a = 0; a < players.Count(); ++a )
|
||||||
{
|
{
|
||||||
selectedPlayer = players.Get(a);
|
selectedPlayer = PlayerBase.Cast(players.Get(a));
|
||||||
selectedIdentity = selectedPlayer.GetIdentity();
|
selectedIdentity = selectedPlayer.GetIdentity();
|
||||||
if ( selectedIdentity.GetName() == GetCurrentSelection() )
|
if ( selectedIdentity.GetName() == GetCurrentSelection() )
|
||||||
{
|
{
|
||||||
|
@ -56,7 +56,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler
|
|||||||
m_item_widget = ItemPreviewWidget.Cast( m_Root.FindAnyWidget( "ItemPrev" ) );
|
m_item_widget = ItemPreviewWidget.Cast( m_Root.FindAnyWidget( "ItemPrev" ) );
|
||||||
m_Spawn_QuantityItem = EditBoxWidget.Cast( m_Root.FindAnyWidget( "quantity_items" ) );
|
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" );
|
UpdateList( "All" );
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler
|
|||||||
}
|
}
|
||||||
else if ( w == m_Spawn_btnSpawnGround )
|
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();
|
text = m_Spawn_QuantityItem.GetText();
|
||||||
//RPC Build and Send
|
//RPC Build and Send
|
||||||
ScriptRPC rpc = new ScriptRPC();
|
ScriptRPC rpc = new ScriptRPC();
|
||||||
@ -220,7 +220,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler
|
|||||||
if ( w == m_classList )
|
if ( w == m_classList )
|
||||||
{
|
{
|
||||||
EntityAI item;
|
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<string>( GetCurrentSelection() ), false, NULL );
|
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Spawn_ItemPrev, new Param1<string>( GetCurrentSelection() ), false, NULL );
|
||||||
if (item)
|
if (item)
|
||||||
{
|
{
|
||||||
@ -422,7 +422,7 @@ class AdminMenuGuiSpawn extends ScriptedWidgetEventHandler
|
|||||||
//delete m_item_widget;
|
//delete m_item_widget;
|
||||||
if (item == NULL)
|
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)
|
if (!m_item_widget)
|
||||||
{
|
{
|
||||||
|
@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
class AdminMenuGuiTeleport extends ScriptedWidgetEventHandler
|
||||||
|
{
|
||||||
|
protected Widget m_Root;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected AdminMenuGui m_Menu;
|
||||||
|
|
||||||
|
protected ref map<int, ref Param2<string, string>> 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<string, string> m_TeleportLocations;
|
||||||
|
static ref map<int, string> 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<string, string>;
|
||||||
|
m_TeleportLocations_old = new map<int, string>;
|
||||||
|
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<string>(""), false, NULL );
|
||||||
|
}
|
||||||
|
|
||||||
|
void LogD(string s)
|
||||||
|
{
|
||||||
|
GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Log_Debug, new Param1<string>( 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<string>(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<string>(""), 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<string>(""), 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<string, string> 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<Man> players = new array<Man>;
|
||||||
|
// 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<PlayerBase>(selectedPlayer), false, NULL );
|
||||||
|
// GetGame().RPCSingleParam( NULL, M_RPCs.M_Admin_Menu_Player_Stamina_Request, new Param1<string>(selectedIdentity.GetName()), false, NULL );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
void PlayerList()
|
||||||
|
{
|
||||||
|
|
||||||
|
// m_PlayerList.ClearItems();
|
||||||
|
// array<Man> players = new array<Man>;
|
||||||
|
// 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<string>( 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, ""));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -24,7 +24,7 @@ FrameWidgetClass settings_menu_root {
|
|||||||
clipchildren 0
|
clipchildren 0
|
||||||
ignorepointer 1
|
ignorepointer 1
|
||||||
position 80 40
|
position 80 40
|
||||||
size 710 60
|
size 1350 60
|
||||||
hexactpos 1
|
hexactpos 1
|
||||||
vexactpos 1
|
vexactpos 1
|
||||||
hexactsize 1
|
hexactsize 1
|
||||||
@ -69,7 +69,7 @@ FrameWidgetClass settings_menu_root {
|
|||||||
GridSpacerWidgetClass Tab_Control_Container {
|
GridSpacerWidgetClass Tab_Control_Container {
|
||||||
ignorepointer 1
|
ignorepointer 1
|
||||||
position 0 0
|
position 0 0
|
||||||
size 710 1
|
size 1050 1
|
||||||
hexactpos 1
|
hexactpos 1
|
||||||
vexactpos 1
|
vexactpos 1
|
||||||
hexactsize 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 {
|
PanelWidgetClass Tab_Control_3 {
|
||||||
visible 1
|
visible 1
|
||||||
clipchildren 1
|
clipchildren 1
|
||||||
position 0 0
|
position 0 0
|
||||||
size 220 1
|
size 170 1
|
||||||
hexactpos 1
|
hexactpos 1
|
||||||
vexactpos 1
|
vexactpos 1
|
||||||
hexactsize 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
|
hexactsize 1
|
||||||
vexactsize 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 {
|
TextWidgetClass SettingsTextWidget {
|
||||||
ignorepointer 1
|
ignorepointer 1
|
||||||
position 0.05 40
|
position 0.00178 2.4828
|
||||||
size 0.38295 50
|
size 1 37.15
|
||||||
halign right_ref
|
halign right_ref
|
||||||
hexactpos 0
|
hexactpos 0
|
||||||
vexactpos 1
|
vexactpos 1
|
||||||
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -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"};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user