2#define BROADCAST_BUNKER_SP_VIS_ENABLED
78 super.InitializeTab(root, console, button, parent);
92 m_ButtonCopyPos = ButtonWidget.Cast(root.FindAnyWidget(
"Button_CopyPos"));
102 m_LogsEnabled = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_LogsEnabled"));
103 m_HudDCharStats = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_CharacterStats"));
104 m_HudDCharLevels = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_CharacterLevels"));
105 m_HudDCharStomach = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_CharacterStomach"));
107 m_HudDCharAgents = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_CharacterAgents"));
108 m_HudDCharDebug = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_CharacterDebug"));
111 m_HudDVersion = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_Version"));
112 m_HudDHealth = CheckBoxWidget.Cast(root.FindAnyWidget(
"cbx_Health"));
119 m_TimeSlider = SliderWidget.Cast(root.FindAnyWidget(
"TimeSlider"));
127 m_ShowOthers = CheckBoxWidget.Cast(root.FindAnyWidget(
"ShowOthersCheckbox"));
133 #ifdef DIAG_DEVELOPER
144 #ifdef DIAG_DEVELOPER
150 PluginRemotePlayerDebugClient plugin_remote_client = PluginRemotePlayerDebugClient.Cast(
GetPluginSafe(PluginRemotePlayerDebugClient));
152 plugin_remote_client.RequestPlayerInfo(
PlayerBase.Cast(
g_Game.GetPlayer()), 0);
174 g_Game.GetDiagModeNames(diag_names);
176 for (i = 0; i < diag_names.Count(); i++)
181 g_Game.GetDiagDrawModeNames(diag_names);
182 for (i = 0; i < diag_names.Count(); i++)
200 m_LateInit.Run(0.05,
this,
"LateInit", null,
false);
202 int year,month,day,hour,minute;
203 g_Game.GetWorld().GetDate(year,month, day, hour, minute);
221 for (
int i = 0; i < count; i++)
225 if (data.param1 ==
name)
242 PluginRemotePlayerDebugClient plugin_remote_client = PluginRemotePlayerDebugClient.Cast(
GetPluginSafe(PluginRemotePlayerDebugClient));
245 plugin_remote_client.RequestPlayerInfo(
PlayerBase.Cast(
g_Game.GetPlayer()), 1);
249 PluginRemotePlayerDebugServer plugin_remote_server = PluginRemotePlayerDebugServer.Cast(
GetPluginSafe(PluginRemotePlayerDebugServer));
250 if (plugin_remote_server)
268 bool doTeleport, doSetDir;
274 if (numbersPos.Count() != 0)
276 if (numbersPos.Count() == 1)
280 else if (numbersPos.Count() == 2)
282 pos =
Vector(numbersPos[0],
g_Game.SurfaceY(numbersPos[0], numbersPos[1]), numbersPos[1]);
284 else if (numbersPos.Count() <= 5)
286 pos =
Vector(numbersPos[0], numbersPos[1], numbersPos[2]);
288 else if (numbersPos.Count() > 5)
290 pos =
Vector(numbersPos[0], numbersPos[1], numbersPos[2]);
291 dir =
Vector(numbersPos[3], numbersPos[4], numbersPos[5]);
310 if (numbersDir.Count() != 0)
312 if (numbersDir.Count() == 1)
316 else if (numbersDir.Count() == 2)
318 dir =
Vector(numbersDir[0], 0, numbersDir[1]);
320 else if (numbersDir.Count() <= 5)
322 dir =
Vector(numbersDir[0], numbersDir[1], numbersDir[2]);
324 else if (numbersDir.Count() > 5)
326 pos =
Vector(numbersDir[0], numbersDir[1], numbersDir[2]);
327 dir =
Vector(numbersDir[3], numbersDir[4], numbersDir[5]);
361 int length = text.
Length();
362 int numberStart = -1;
365 for (
int i = 0; i < length; i++)
367 string letter = text.
Get(i);
369 if (numberStart == -1 &&
NUMERIC_LETTERS.Contains(letter) && letter !=
".")
372 if (numberStart != -1 && (!
NUMERIC_LETTERS.Contains(letter) || (letter ==
"-" && numberStart != i)))
374 numberLen = i - numberStart;
378 else if (numberStart != -1 && (i + 1 == length))
380 numberLen = i - numberStart + 1;
398 string name = dta.param1;
472 Param5<int,int,int,int,int> p5 =
new Param5<int,int,int,int,int>(0,0,0,0,0);
473 int year, month, day, hour, minute;
482 hour = time_minutes / 60;
483 minute = time_minutes % 60;
498 g_Game.GetWorld().SetDate(year, month, day, hour, minute);
500 g_Game.GetMission().GetOnTimeChanged().Invoke();
504 g_Game.GetPlayer().RPCSingleParam(
ERPCs.DEV_RPC_SET_TIME, p5,
true);
512 vector mousePos, worldPos;
516 worldPos[1] =
g_Game.SurfaceY(worldPos[0], worldPos[2]);
520 m_MouseCurPos.SetText(
"Mouse: "+ MiscGameplayFunctions.TruncateToS(worldPos[0]) +
", "+ MiscGameplayFunctions.TruncateToS(worldPos[1]) +
", "+ MiscGameplayFunctions.TruncateToS(worldPos[2]));
524 vector playerPos =
g_Game.GetPlayer().GetWorldPosition();
526 float dst = (worldPos - playerPos).Length();
528 m_PlayerMouseDiff.SetText(
"Distance: " + MiscGameplayFunctions.TruncateToS(dst));
535 m_PlayerCurPos.SetText(
"Position: "+ MiscGameplayFunctions.TruncateToS(pos[0]) +
", "+ MiscGameplayFunctions.TruncateToS(pos[1]) +
", "+ MiscGameplayFunctions.TruncateToS(pos[2]));
540 m_CameraCurPos.SetText(
"Camera Position: "+ MiscGameplayFunctions.TruncateToS(pos[0]) +
", "+ MiscGameplayFunctions.TruncateToS(pos[1]) +
", "+ MiscGameplayFunctions.TruncateToS(pos[2]));
545 m_PlayerCurDir.SetText(
"Direction: "+ MiscGameplayFunctions.TruncateToS(dir[0]) +
", "+ MiscGameplayFunctions.TruncateToS(dir[1]) +
", "+ MiscGameplayFunctions.TruncateToS(dir[2]));
550 m_CameraCurDir.SetText(
"Camera Direction: "+ MiscGameplayFunctions.TruncateToS(dir[0]) +
", "+ MiscGameplayFunctions.TruncateToS(dir[1]) +
", "+ MiscGameplayFunctions.TruncateToS(dir[2]));
560 super.OnMouseButtonDown(w,
x,
y,button);
576 vector mousePos, worldPos;
577 mousePos[0] = mouseX;
578 mousePos[1] = mouseY;
580 worldPos[1] =
g_Game.SurfaceY(worldPos[0], worldPos[2]);
584 else if (button == 1 &&
g_Game.GetPlayer())
597 super.OnKeyDown(w,
x,
y, key);
603 super.OnChange(w,
x,
y, finished);
607 if (
g_Game.IsDedicatedServer())
614 PluginRemotePlayerDebugClient plugin_remote_client = PluginRemotePlayerDebugClient.Cast(
GetPluginSafe(PluginRemotePlayerDebugClient));
617 plugin_remote_client.RequestPlayerInfo(
PlayerBase.Cast(
g_Game.GetPlayer()), 1);
623 plugin_remote_client.RequestPlayerInfo(
PlayerBase.Cast(
g_Game.GetPlayer()), 0);
640 super.OnItemSelected(w,
x,
y, row, column, oldRow, oldColumn);
663 super.OnDoubleClick(w,
x,
y, button);
669 float pos_y_a =
g_Game.SurfaceY(screen_to_map[0], screen_to_map[2]);
670 float pos_y_b =
g_Game.SurfaceRoadY(screen_to_map[0], screen_to_map[2]);
671 float pos_y =
Math.
Max(pos_y_a, pos_y_b);
672 screen_to_map[1] = pos_y;
677 float camPosY = camPos[1];
678 screen_to_map[1] = camPosY;
719 super.OnClick(w,
x,
y, button);
724 PluginDeveloper module_dev = PluginDeveloper.Cast(
GetPlugin(PluginDeveloper));
905 bool toggle_state =
g_Game.GetDiagModeEnable(toggle_row_index);
906 g_Game.SetDiagModeEnable(toggle_row_index, !toggle_state);
912 g_Game.SetDiagDrawMode(draw_row_index);
933 super.OnRPCEx(rpc_type, ctx);
935 #ifdef DIAG_DEVELOPER
938 case ERPCs.DEV_PLAYER_DEBUG_DATA:
947 super.Update(timeslice);
956 playerPos = player.GetWorldPosition();
961 PluginRemotePlayerDebugServer plugin_remote_server = PluginRemotePlayerDebugServer.Cast(
GetPluginSafe(PluginRemotePlayerDebugServer));
962 if (plugin_remote_server)
964 plugin_remote_server.GatherPlayerInfo();
974 if (player && rpd.m_Player != player)
976 vector dir = rpd.m_Pos - playerPos;
979 string text = rpd.m_Name +
" " +dist +
"m";
1007 #ifdef BROADCAST_BUNKER_SP_VIS_ENABLED
1021 if (bunkers && bunkers.Count() > 0)
1025 int color = 0xFFFFA500;
1027 int bunkerId = bunker.GetId();
1028 if (bunkersHistory.Find(bunkerId) !=
INDEX_NOT_FOUND && !bunker.IsActive())
1034 if (bunker.IsActive())
1038 MapMarker bunkerMarker =
new MapMarker(bunker.GetPosition(),
string.Format(
"bunker #%1", bunkerId), color, eMapMarkerTypes.MARKERTYPE_MAP_MONUMENT);
array< ref BunkerBroadcastComponentBase > BunkerComponentsArray
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Param3< string, bool, vector > LocationParams
PluginBase GetPlugin(typename plugin_type)
PluginBase GetPluginSafe(typename plugin_type)
void RemotePlayerStatDebug(PlayerBase player)
TIntArray GetActiveBunkersHistory()
BunkerComponentsArray GetRegisteredBunkers()
static BunkerBroadcastHandler GetInstance()
static void SetLogsEnabled(bool enable)
void OnRPC(ParamsReadContext ctx)
static string GetMarkerTypeFromID(int id)
CheckBoxWidget m_HudDHorticulture
CheckBoxWidget m_HudDCharLevels
const string NUMERIC_LETTERS
CheckBoxWidget m_HudDCharModifiers
ButtonWidget m_ButtonCopyPos
TextListboxWidget m_DiagDrawmodeTextListbox
void ~ScriptConsoleGeneralTab()
EditBoxWidget m_TeleportXYZ
TextWidget m_CameraCurPos
void SetCameraDir(vector dir)
int GetCurrentPositionIndex()
EditBoxWidget m_DateMinute
TextListboxWidget m_DiagToggleTextListbox
MapWidget m_DebugMapWidget
TextListboxWidget m_PositionsListbox
override bool OnDoubleClick(Widget w, int x, int y, int button)
void SetMapCameraPos(vector pos)
static float DEBUG_MAP_ZOOM
bool IsCurrentPositionCustom()
bool m_UpdatePlayerPositions
FreeDebugCamera m_FreeDebugCamera
bool m_PlayerPosRefreshBlocked
override bool OnClick(Widget w, int x, int y, int button)
CheckBoxWidget m_HudDCharStomach
CheckBoxWidget m_HudDVersion
vector GetCurrentLocationPos()
CheckBoxWidget m_HudDCharStats
void UpdateHudDebugSetting()
bool IsLocationNameAvailable(string name)
EditBoxWidget m_TeleportHeading
TextListboxWidget m_HelpTextListboxWidget
override void OnSelected()
override bool OnMouseButtonDown(Widget w, int x, int y, int button)
ButtonWidget m_LocationRemoveButton
CheckBoxWidget m_ShowOthers
ref array< ref RemotePlayerStatDebug > m_PlayerDebugStats
CheckBoxWidget m_HudDHealth
TextWidget m_CameraCurDir
override bool OnChange(Widget w, int x, int y, bool finished)
TextWidget m_PlayerCurDir
SliderWidget m_TimeSlider
void ProcessTeleportText(PlayerBase player)
TextWidget m_PlayerCurPos
PluginDeveloper m_Developer
static int m_ObjectsScope
EditBoxWidget m_DateMonth
CheckBoxWidget m_LogsEnabled
void Teleport(PlayerBase player, vector position)
CheckBoxWidget m_HudDCharDebug
void GetCurrentPositionData(out LocationParams data)
override void InitializeTab(Widget root, ScriptConsole console, Widget button, ScriptConsoleTabBase parent=null)
CheckBoxWidget m_HudDFreeCamCross
CheckBoxWidget m_HudDTemperature
void UpdateTime(bool slider_used)
override void OnRPCEx(int rpc_type, ParamsReadContext ctx)
string GetCurrentLocationName()
TextWidget m_PlayerMouseDiff
override void Update(float timeslice)
array< float > TextToNumbersArray(string text)
override bool OnItemSelected(Widget w, int x, int y, int row, int column, int oldRow, int oldColumn)
ButtonWidget m_DiagToggleButton
bool IsCurrentPositionValid()
override bool OnKeyDown(Widget w, int x, int y, int key)
void RefreshPlayerPosEditBoxes()
MissionGameplay m_MissionGameplay
ButtonWidget m_TeleportButton
void RefreshDateWidgets(int year, int month, int day, int hour, int minute)
ButtonWidget m_DiagDrawButton
CheckBoxWidget m_HudDCharAgents
void SetMapPos(vector pos)
ButtonWidget m_LocationAddButton
PluginConfigDebugProfile m_ConfigDebugProfile
ScriptConsole m_ScriptConsole
PluginConfigDebugProfileFixed m_ConfigDebugProfileFixed
proto bool Read(void value_in)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native float Length()
Returns length of vector (magnitude)
proto string ToString(bool beautify=true)
Vector to string.
const int INDEX_NOT_FOUND
Serializer ParamsReadContext
class array< Class T > TStringArray
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Max(float x, float y)
Returns bigger of two given values.
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...
proto void GetMousePos(out int x, out int y)
proto native int Length()
Returns length of string.
proto string Get(int index)
Gets n-th character from string.
proto native float ToFloat()
Converts string to float.
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.