DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
PluginDiagMenu.c
См. документацию.
1// For modding, see PluginDiagMenuModding.c
2// !!! MODDING DISCLAIMER: These are debug functionality files, if you are thinking about modding the vanilla ones, do so at your own risk
3// These files will not be maintained with the thought of "what if a modder modded this" (Excluding the modding functionality of course)
4// Which is why the modding functionality was developed with the thought of the modded ones having their own isolated safe space
5
12
13#ifdef DIAG_DEVELOPER
14enum ESubscriberSystems
15{
16 TRIGGERS = 0x00000001,
17 //SYSTEM2 = 0x00000002,
18 //SYSTEM3 = 0x00000004,
19 //SYSTEM4 = 0x00000008,
20}
21
22typedef Param1<int> SendDiagRPCSelfBasicParam;
23typedef Param2<int,Param> SendDiagRPCSelfParamParam;
24
25typedef Param2<int,bool> SendDiagRPCBasicParam;
26typedef Param3<int,bool,Param> SendDiagRPCParamParam;
27#endif
28
30{
31#ifdef DIAG_DEVELOPER
32
33 int m_ModdedDiagID = DiagMenuIDs.MODDED_MENU;
34
35 // LEVEL 3 - Script > Misc > Hair Hiding
36 ref map<int,bool> m_HairHidingStateMap;
37 ref TStringArray m_HairSelectionArray;
38 int m_TotalHairLevelsAdjusted;
39
40 override void OnInit()
41 {
42 //----------------------
43 m_HairHidingStateMap = new map<int,bool>;
44 m_HairSelectionArray = new TStringArray;
45
46 g_Game.ConfigGetTextArray("cfgVehicles Head_Default simpleHiddenSelections", m_HairSelectionArray);
47 m_TotalHairLevelsAdjusted = m_HairSelectionArray.Count() - 1;
48 for (int i = 0; i < m_HairSelectionArray.Count(); ++i)
49 {
50 m_HairHidingStateMap.Insert(i, 1); //all considered "shown" on init
51 }
52
53 //----------------------
54
56
57 RegisterDiags();
58 }
59
60 override void OnDestroy()
61 {
63 }
64
65 protected void RegisterDiags()
66 {
67 RegisterDeveloperDiags();
68 RegisterModdedDiagsIDs();
69 RegisterModdedDiags();
70
71 if (m_ModdedDiagID == DiagMenuIDs.MODDED_MENU)
72 {
73 DiagMenu.Unregister(DiagMenuIDs.MODDED_MENU);
74 }
75 }
76
77 private void RegisterDeveloperDiags()
78 {
79 //---------------------------------------------------------------
80 // LEVEL 0
81 //---------------------------------------------------------------
82 DiagMenu.RegisterMenu(DiagMenuIDs.SCRIPTS_MENU, "Script", -1);
83 {
84 //---------------------------------------------------------------
85 // LEVEL 1 - Script
86 //---------------------------------------------------------------
87 DiagMenu.RegisterMenu(DiagMenuIDs.VEHICLES, "Vehicles", DiagMenuIDs.SCRIPTS_MENU);
88 {
89 //---------------------------------------------------------------
90 // LEVEL 2 - Script > Vehicles
91 //---------------------------------------------------------------
92 DiagMenu.RegisterItem(DiagMenuIDs.VEHICLE_DEBUG_OUTPUT, "", "Crash Log", DiagMenuIDs.VEHICLES, "None, Basic, Extended, Contact, Basic+Contact");
93 DiagMenu.RegisterBool(DiagMenuIDs.VEHICLE_DUMP_CRASH_DATA, "lalt+7", "Dump Crash Data", DiagMenuIDs.VEHICLES);
94 DiagMenu.RegisterBool(DiagMenuIDs.VEHICLE_DRAW_FLIP_CONTEXT, "", "Draw Flip Context", DiagMenuIDs.VEHICLES);
95 }
96
97 //---------------------------------------------------------------
98 // LEVEL 1 - Script
99 //---------------------------------------------------------------
100 DiagMenu.RegisterMenu(DiagMenuIDs.INVENTORY_MENU, "Inventory", DiagMenuIDs.SCRIPTS_MENU);
101 {
102 //---------------------------------------------------------------
103 // LEVEL 2 - Script > Inventory
104 //---------------------------------------------------------------
105 DiagMenu.RegisterBool(DiagMenuIDs.INVENTORY_ENTITY_PLACEMENT_CALLBACK_DEBUG, "", "Placement Debug", DiagMenuIDs.INVENTORY_MENU);
106 }
107
108 //---------------------------------------------------------------
109 // LEVEL 1 - Script
110 //---------------------------------------------------------------
111 DiagMenu.RegisterMenu(DiagMenuIDs.TRANSFER_VALUES_MENU, "TransferValues", DiagMenuIDs.SCRIPTS_MENU);
112 {
113 //---------------------------------------------------------------
114 // LEVEL 2 - Script > TransferValues
115 //---------------------------------------------------------------
116 DiagMenu.RegisterBool(DiagMenuIDs.TRANSFER_VALUES_SHOW, "", "ShowValues", DiagMenuIDs.TRANSFER_VALUES_MENU);
117 }
118
119 //---------------------------------------------------------------
120 // LEVEL 1 - Script
121 //---------------------------------------------------------------
122 DiagMenu.RegisterMenu(DiagMenuIDs.CRAFTING_MENU, "Crafting", DiagMenuIDs.SCRIPTS_MENU);
123 {
124 //---------------------------------------------------------------
125 // LEVEL 2 - Script > Crafting
126 //---------------------------------------------------------------
127 DiagMenu.RegisterBool(DiagMenuIDs.CRAFTING_GENERATE, "", "Generate Cache", DiagMenuIDs.CRAFTING_MENU);
128 DiagMenu.RegisterBool(DiagMenuIDs.CRAFTING_INSTANT, "", "Debug Insta Crafting", DiagMenuIDs.CRAFTING_MENU);
129 DiagMenu.RegisterBool(DiagMenuIDs.CRAFTING_DUMP, "", "Dump recipes to file", DiagMenuIDs.CRAFTING_MENU);
130 }
131
132 //---------------------------------------------------------------
133 // LEVEL 1 - Script
134 //---------------------------------------------------------------
135 DiagMenu.RegisterMenu(DiagMenuIDs.CHEATS_MENU, "Cheats", DiagMenuIDs.SCRIPTS_MENU);
136 {
137 //---------------------------------------------------------------
138 // LEVEL 2 - Script > Cheats
139 //---------------------------------------------------------------
140 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_MODIFIERS, "lalt+2", "Tick Modifiers", DiagMenuIDs.CHEATS_MENU);
141 DiagMenu.SetValue(DiagMenuIDs.CHEATS_MODIFIERS, true);
142 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_KILL_PLAYER, "", "Kill Player", DiagMenuIDs.CHEATS_MENU);
143 DiagMenu.RegisterItem(DiagMenuIDs.CHEATS_INVINCIBILITY, "lalt+1", "Invincibility (IDDQD)", DiagMenuIDs.CHEATS_MENU, "Disabled,Partial,Full");
144 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_DISABLE_STAMINA, "", "Disable stamina", DiagMenuIDs.CHEATS_MENU);
145 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_RESET_PLAYER, "", "Reset Player", DiagMenuIDs.CHEATS_MENU);
146 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_RESET_PLAYER_MAX, "lalt+3", "Reset Player Max", DiagMenuIDs.CHEATS_MENU);
147 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_INVENTORY_ACCESS, "", "Inventory Access", DiagMenuIDs.CHEATS_MENU);
148 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_FIX_ITEMS, "", "Fix Inventory Items", DiagMenuIDs.CHEATS_MENU);
149 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_CREATE_HIT, "lalt+5", "Create Hit Heavy", DiagMenuIDs.CHEATS_MENU);
150 DiagMenu.RegisterBool(DiagMenuIDs.CHEATS_CREATE_HIT_LIGHT, "lalt+6", "Create Hit Light", DiagMenuIDs.CHEATS_MENU);
151 }
152
153 //---------------------------------------------------------------
154 // LEVEL 1 - Script
155 //---------------------------------------------------------------
156 DiagMenu.RegisterMenu(DiagMenuIDs.PLAYER_AGENTS_MENU, "Player Agents", DiagMenuIDs.SCRIPTS_MENU);
157 {
158 //---------------------------------------------------------------
159 // LEVEL 2 - Script > Player Agents
160 //---------------------------------------------------------------
161 DiagMenu.RegisterBool(DiagMenuIDs.PLAYER_AGENTS_INJECTS_SHOW, "", "Allow Inject Actions", DiagMenuIDs.PLAYER_AGENTS_MENU);
162 }
163
164 //---------------------------------------------------------------
165 // LEVEL 1 - Script
166 //---------------------------------------------------------------
167 DiagMenu.RegisterMenu(DiagMenuIDs.SOFT_SKILLS_MENU, "Soft Skills", DiagMenuIDs.SCRIPTS_MENU);
168 {
169 //---------------------------------------------------------------
170 // LEVEL 2 - Script > Soft Skills
171 //---------------------------------------------------------------
172 DiagMenu.RegisterBool(DiagMenuIDs.SOFT_SKILLS_SHOW_DEBUG, "", "Show Debug", DiagMenuIDs.SOFT_SKILLS_MENU);
173 DiagMenu.RegisterBool(DiagMenuIDs.SOFT_SKILLS_TOGGLE_STATE, "", "Enable SoftSkills", DiagMenuIDs.SOFT_SKILLS_MENU);
174 DiagMenu.RegisterBool(DiagMenuIDs.SOFT_SKILLS_TOGGLE_MODEL, "", "Enable linear model", DiagMenuIDs.SOFT_SKILLS_MENU);
175 DiagMenu.RegisterRange(DiagMenuIDs.SOFT_SKILLS_SPECIALTY_VALUE, "", "Set specialty value", DiagMenuIDs.SOFT_SKILLS_MENU, "-1, 1, 0, 0.01");
176 }
177
178 //---------------------------------------------------------------
179 // LEVEL 1 - Script
180 //---------------------------------------------------------------
181 DiagMenu.RegisterMenu(DiagMenuIDs.LIFESPAN_MENU, "Lifespan", DiagMenuIDs.SCRIPTS_MENU);
182 {
183 //---------------------------------------------------------------
184 // LEVEL 2 - Script > Lifespan
185 //---------------------------------------------------------------
186 DiagMenu.RegisterBool(DiagMenuIDs.LIFESPAN_BLOODY_HANDS, "", "Bloody hands", DiagMenuIDs.LIFESPAN_MENU);
187 DiagMenu.RegisterRange(DiagMenuIDs.LIFESPAN_PLAYTIME_UPDATE, "", "Playtime in minutes", DiagMenuIDs.LIFESPAN_MENU, "0, 600, 0, 10");
188 }
189
190 //---------------------------------------------------------------
191 // LEVEL 1 - Script
192 //---------------------------------------------------------------
193 DiagMenu.RegisterMenu(DiagMenuIDs.MISC_MENU, "Misc", DiagMenuIDs.SCRIPTS_MENU);
194 {
195 //---------------------------------------------------------------
196 // LEVEL 2 - Script > Misc
197 //---------------------------------------------------------------
198 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ACTION_ON_CURSOR, "", "Perform Diag On Cursor", DiagMenuIDs.MISC_MENU);
199#ifdef DIAG_MISC_ACTION_ON_CURSOR
200 DiagMenu.SetValue(DiagMenuIDs.MISC_ACTION_ON_CURSOR, true);
201#endif
202 DiagMenu.RegisterBool(DiagMenuIDs.MISC_DISABLE_PERSONAL_LIGHT, "", "Disable Personal Light", DiagMenuIDs.MISC_MENU);
203 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ITEM_DEBUG_ACTIONS, "", "Item Debug Actions", DiagMenuIDs.MISC_MENU); // Is enabled by default now
204 DiagMenu.RegisterBool(DiagMenuIDs.MISC_LOG_PLAYER_STATS, "", "Log Player Stats", DiagMenuIDs.MISC_MENU);
205 DiagMenu.RegisterMenu(DiagMenuIDs.MISC_ACTION_TARGETS_MENU, "Action Targets", DiagMenuIDs.MISC_MENU);
206 {
207 //---------------------------------------------------------------
208 // LEVEL 3 - Script > Misc > Action Targets
209 //---------------------------------------------------------------
210 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ACTION_TARGETS_NEW, "", "New AT Selection", DiagMenuIDs.MISC_ACTION_TARGETS_MENU, true);
211 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ACTION_TARGETS_DEBUG, "", "Show Debug", DiagMenuIDs.MISC_ACTION_TARGETS_MENU);
212 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ACTION_TARGETS_SELPOS_DEBUG, "", "Show selection pos debug", DiagMenuIDs.MISC_ACTION_TARGETS_MENU);
213 }
214 //---------------------------------------------------------------
215 // LEVEL 2 - Script > Misc
216 //---------------------------------------------------------------
217 DiagMenu.RegisterBool(DiagMenuIDs.MISC_PERMANENT_CROSSHAIR, "", "Enable permanent crosshair", DiagMenuIDs.MISC_MENU);
218 DiagMenu.RegisterBool(DiagMenuIDs.MISC_TELEPORT_BREAKS_SYNC, "", "Teleport Breaks Sync", DiagMenuIDs.MISC_MENU);
219 DiagMenu.RegisterBool(DiagMenuIDs.MISC_VEHICLE_GETOUT_BOX, "", "Debug transport freespace", DiagMenuIDs.MISC_MENU);
220 DiagMenu.RegisterBool(DiagMenuIDs.MISC_VEHICLE_GETOUT_RAYCAST, "", "Debug transport get out raycast", DiagMenuIDs.MISC_MENU);
221 DiagMenu.RegisterBool(DiagMenuIDs.MISC_TOGGLE_HUD, "", "Toggle HUD on/off", DiagMenuIDs.MISC_MENU);
222 DiagMenu.RegisterMenu(DiagMenuIDs.MISC_ENVIRONMENT_MENU, "Environment", DiagMenuIDs.MISC_MENU);
223 {
224 //---------------------------------------------------------------
225 // LEVEL 3 - Script > Misc > Environment
226 //---------------------------------------------------------------
227 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ENVIRONMENT_DEBUG, "", "Show Environment stats", DiagMenuIDs.MISC_ENVIRONMENT_MENU);
228 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ENVIRONMENT_LOGGING_DRYWET, "", "Log Player Dry/Wetness", DiagMenuIDs.MISC_ENVIRONMENT_MENU, false);
229 DiagMenu.RegisterBool(DiagMenuIDs.MISC_ENVIRONMENT_LOGGING_ITEMHEAT, "", "Log Player Item Heat", DiagMenuIDs.MISC_ENVIRONMENT_MENU, false);
230
231 }
232 DiagMenu.RegisterBool(DiagMenuIDs.MISC_FALLDAMAGE_DEBUG, "", "Show FallDamage stats", DiagMenuIDs.MISC_MENU);
233 DiagMenu.RegisterRange(DiagMenuIDs.MISC_DISPLAY_PLAYER_INFO, "", "Display Player Info", DiagMenuIDs.MISC_MENU, "0,2,0,1");
234 DiagMenu.RegisterBool(DiagMenuIDs.MISC_UNIVERSAL_TEMPERATURE_SOURCES, "lalt+u", "Universal Temp Sources", DiagMenuIDs.MISC_MENU);
235 DiagMenu.RegisterBool(DiagMenuIDs.MISC_TARGET_TEMPERATURE, "", "Target Temperature", DiagMenuIDs.MISC_MENU);
236 DiagMenu.RegisterBool(DiagMenuIDs.MISC_DRAW_CHECKERBOARD, "", "Draw Checkerboard on screen", DiagMenuIDs.MISC_MENU);
237 DiagMenu.RegisterBool(DiagMenuIDs.MISC_BULLET_IMPACT, "", "BulletImpact", DiagMenuIDs.MISC_MENU);
238 DiagMenu.RegisterBool(DiagMenuIDs.MISC_PRESENCE_NOTIFIER_DBG, "", "Show Presence to AI dbg", DiagMenuIDs.MISC_MENU);
239 DiagMenu.RegisterBool(DiagMenuIDs.MISC_GO_UNCONSCIOUS, "lctrl+m", "Go Unconscious", DiagMenuIDs.MISC_MENU);
240 DiagMenu.RegisterBool(DiagMenuIDs.MISC_GO_UNCONSCIOUS_DELAYED, "", "Uncons. in 10sec", DiagMenuIDs.MISC_MENU);
241 DiagMenu.RegisterBool(DiagMenuIDs.MISC_QUICK_RESTRAIN, "", "Quick Restrain", DiagMenuIDs.MISC_MENU);
242 DiagMenu.RegisterMenu(DiagMenuIDs.MISC_HAIR_MENU, "Hair Hiding", DiagMenuIDs.MISC_MENU);
243 {
244 //---------------------------------------------------------------
245 // LEVEL 3 - Script > Misc > Hair Hiding
246 //---------------------------------------------------------------
247 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HAIR_DISPLAY_DEBUG, "", "Display Debug", DiagMenuIDs.MISC_HAIR_MENU);
248 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HAIR_LEVEL, "", "Hair Level#", DiagMenuIDs.MISC_HAIR_MENU, string.Format("0,%1,0,1", m_TotalHairLevelsAdjusted));
249 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HAIR_LEVEL_HIDE, "", "Toggle Hair Level", DiagMenuIDs.MISC_HAIR_MENU);
250 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HAIR_HIDE_ALL, "", "Hide/Show All", DiagMenuIDs.MISC_HAIR_MENU);
251 }
252 //---------------------------------------------------------------
253 // LEVEL 2 - Script > Misc
254 //---------------------------------------------------------------
255 DiagMenu.RegisterBool(DiagMenuIDs.MISC_CAM_SHAKE, "", "Simulate Cam Shake", DiagMenuIDs.MISC_MENU);
256 DiagMenu.RegisterBool(DiagMenuIDs.MISC_QUICK_FISHING, "", "Quick Fishing", DiagMenuIDs.MISC_MENU);
257 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HOLOGRAM, "lctrl+h", "Hologram placing debug", DiagMenuIDs.MISC_MENU);
258 DiagMenu.RegisterBool(DiagMenuIDs.MISC_SHOCK_IMPACT, "lalt+8", "ShockHitEffect", DiagMenuIDs.MISC_MENU);
259 DiagMenu.RegisterBool(DiagMenuIDs.MISC_SHOW_PLUG_ARROWS, "", "Show Energy Manager Plug Arrows", DiagMenuIDs.MISC_MENU);
260 DiagMenu.RegisterBool(DiagMenuIDs.MISC_BREATH_VAPOR_LVL, "", "Breath Vapor", DiagMenuIDs.MISC_MENU);
261 DiagMenu.SetValue(DiagMenuIDs.MISC_BREATH_VAPOR_LVL, true);
262 DiagMenu.RegisterBool(DiagMenuIDs.MISC_TARGETABLE_BY_AI, "lalt+t", "Toggle Targetable By AI", DiagMenuIDs.MISC_MENU);
263 DiagMenu.SetValue(DiagMenuIDs.MISC_TARGETABLE_BY_AI, true);
264 DiagMenu.RegisterMenu(DiagMenuIDs.MISC_HIT_INDICATION_MENU, "Hit Indication", DiagMenuIDs.MISC_MENU);
265 {
266 //---------------------------------------------------------------
267 // LEVEL 3 - Script > Misc > Hit Indication
268 //---------------------------------------------------------------
269 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HIT_INDICATION_DEBUG, "", "Enable Debug", DiagMenuIDs.MISC_HIT_INDICATION_MENU);
270 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HIT_INDICATION_SPAWN_HIT, "", "Spawn Hit", DiagMenuIDs.MISC_HIT_INDICATION_MENU);
271 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HIT_INDICATION_SPAWN_HIT_DIRECTION, "", "Spawn Hit Direction", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "0, 359, 0, 1");
272 DiagMenu.RegisterItem(DiagMenuIDs.MISC_HIT_INDICATION_MODE, "", "Mode", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "Disabled,Static,Dynamic");
273 DiagMenu.SetValue(DiagMenuIDs.MISC_HIT_INDICATION_MODE, 1);
274 DiagMenu.RegisterItem(DiagMenuIDs.MISC_HIT_INDICATION_TYPE, "", "Type", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "Splash,Spike,Arrow");
275 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HIT_INDICATION_DURATION, "", "Hit Duration Max", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "0.1, 5.0, 1.0, 0.1");
276 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HIT_INDICATION_BREAKPOINT, "", "Hit Breakpoint", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "0.0, 1.0, 0.8, 0.05");
277 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HIT_INDICATION_DISTANCE, "", "Distance Adjust", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "0.0, 1.0, 0.0, 0.01");
278 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HIT_INDICATION_ROTATION, "", "Rotation Override", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "0, 360, 0, 15");
279 DiagMenu.RegisterRange(DiagMenuIDs.MISC_HIT_INDICATION_SCATTER, "", "Direction Scatter", DiagMenuIDs.MISC_HIT_INDICATION_MENU, "0, 90, 0, 1");
280 DiagMenu.RegisterBool(DiagMenuIDs.MISC_HIT_INDICATION_DISABLE_PPE, "", "Disable Hit PPE", DiagMenuIDs.MISC_HIT_INDICATION_MENU);
281 }
282 //---------------------------------------------------------------
283 // LEVEL 2 - Script > Misc
284 //---------------------------------------------------------------
285 DiagMenu.RegisterBool(DiagMenuIDs.MISC_FREEZE_ENTITY, "lalt+x", "Freeze entity", DiagMenuIDs.MISC_MENU);
286 DiagMenu.RegisterBool(DiagMenuIDs.MISC_FREEZE_PLAYER, "lalt+e", "Freeze player", DiagMenuIDs.MISC_MENU);
287 DiagMenu.RegisterBool(DiagMenuIDs.MISC_CONNECTION_STATS, "lalt+4", "Show Connection Stats", DiagMenuIDs.MISC_MENU);
288 DiagMenu.RegisterBool(DiagMenuIDs.MISC_PLAYER_SYMPTOMS_SHOW, "", "Show States", DiagMenuIDs.MISC_MENU);
289 DiagMenu.RegisterRange(DiagMenuIDs.MISC_PLAYER_SYMPTOMS_TOGGLE_HMP, "", "Set HMP symptom", DiagMenuIDs.MISC_MENU, "-1, 1, -1, 1");
290 DiagMenu.RegisterBool(DiagMenuIDs.MISC_SHOW_PRA_ALL, "lalt+n", "Show PRA - ALL", DiagMenuIDs.MISC_MENU);
291 DiagMenu.RegisterBool(DiagMenuIDs.MISC_PRA_DETECT, "lalt+m", "PRA - detect", DiagMenuIDs.MISC_MENU);
292 DiagMenu.RegisterBool(DiagMenuIDs.MISC_INPUT_DEVICE_DISCONNECT_DBG, "", "InputDevice states", DiagMenuIDs.MISC_MENU);
293 DiagMenu.RegisterBool(DiagMenuIDs.MISC_DEBUG_MONITOR, "", "Debug Monitor", DiagMenuIDs.MISC_MENU);
294 DiagMenu.RegisterRange(DiagMenuIDs.MISC_FORCE_HINT_INDEX, "", "Force Hint Index", DiagMenuIDs.MISC_MENU, "-1, 512, -1, 1");
295 if (UiHintPanel.m_ForcedIndex != -1)
296 DiagMenu.SetRangeValue(DiagMenuIDs.MISC_FORCE_HINT_INDEX,UiHintPanel.m_ForcedIndex);
297 }
298
299 //---------------------------------------------------------------
300 // LEVEL 1 - Script
301 //---------------------------------------------------------------
302 DiagMenu.RegisterMenu(DiagMenuIDs.SIMULATE_MENU, "Simulate script", DiagMenuIDs.SCRIPTS_MENU);
303 {
304 //---------------------------------------------------------------
305 // LEVEL 2 - Script > Simulate script
306 //---------------------------------------------------------------
307 DiagMenu.RegisterRange(DiagMenuIDs.SIMULATE_MODE, "", "Server/Client/Both", DiagMenuIDs.SIMULATE_MENU,"0,2,0,1");
308 DiagMenu.RegisterBool(DiagMenuIDs.SIMULATE_INFINITE_LOOP, "", "Simulate infinite loop", DiagMenuIDs.SIMULATE_MENU);
309 DiagMenu.RegisterBool(DiagMenuIDs.SIMULATE_NULL_POINTER, "", "Simulate null pointer", DiagMenuIDs.SIMULATE_MENU);
310 DiagMenu.RegisterBool(DiagMenuIDs.SIMULATE_DIVISION_BY_ZERO, "", "Simulate division by 0", DiagMenuIDs.SIMULATE_MENU);
311 DiagMenu.RegisterBool(DiagMenuIDs.SIMULATE_ERROR_FUNCTION, "", "Simulate Error() function", DiagMenuIDs.SIMULATE_MENU);
312 }
313
314 //---------------------------------------------------------------
315 // LEVEL 1 - Script
316 //---------------------------------------------------------------
317 DiagMenu.RegisterMenu(DiagMenuIDs.MELEE_MENU, "Melee", DiagMenuIDs.SCRIPTS_MENU);
318 {
319 //---------------------------------------------------------------
320 // LEVEL 2 - Script > Melee
321 //---------------------------------------------------------------
322 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_DEBUG, "", "Enable Melee Debug", DiagMenuIDs.MELEE_MENU);
323 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_CONTINUOUS, "", "Continuous update", DiagMenuIDs.MELEE_MENU);
324 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_SHOW_TARGETS, "", "Show targets", DiagMenuIDs.MELEE_MENU);
325 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_DRAW_TARGETS, "", "Draw targets", DiagMenuIDs.MELEE_MENU);
326 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_DRAW_RANGE, "", "Draw range", DiagMenuIDs.MELEE_MENU);
327 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_DRAW_BLOCK_RANGE_AI, "", "Draw block range PVE", DiagMenuIDs.MELEE_MENU);
328 DiagMenu.RegisterBool(DiagMenuIDs.MELEE_DRAW_BLOCK_RANGE_PVP, "", "Draw block range PVP", DiagMenuIDs.MELEE_MENU);
329 }
330
331 //---------------------------------------------------------------
332 // LEVEL 1 - Script
333 //---------------------------------------------------------------
334 DiagMenu.RegisterMenu(DiagMenuIDs.WEAPON_MENU, "Weapon", DiagMenuIDs.SCRIPTS_MENU);
335 {
336 //---------------------------------------------------------------
337 // LEVEL 2 - Script > Weapon
338 //---------------------------------------------------------------
339 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_PARTICLES, "", "Enable gun particles", DiagMenuIDs.WEAPON_MENU);
340 DiagMenu.SetValue(DiagMenuIDs.WEAPON_PARTICLES, true);
341 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_DEBUG, "", "Show Debug", DiagMenuIDs.WEAPON_MENU); // Doesn't do anything anymore currently
342 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_AIM_NOISE, "", "Weapon Sway", DiagMenuIDs.WEAPON_MENU);
343 DiagMenu.SetValue(DiagMenuIDs.WEAPON_AIM_NOISE, true);
344 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_RECOIL, "", "Procedural Recoil", DiagMenuIDs.WEAPON_MENU);
345 DiagMenu.SetValue(DiagMenuIDs.WEAPON_RECOIL, true);
346 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_UNLIMITED_AMMO, "lalt+9", "Unlimited Ammo", DiagMenuIDs.WEAPON_MENU);
347 DiagMenu.RegisterItem(DiagMenuIDs.WEAPON_BURST_VERSION, "lctrl+0", "Burst Version", DiagMenuIDs.WEAPON_MENU, "Hold, Press");
348 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_CLAYMORE_DEBUG, "", "Claymore debugs", DiagMenuIDs.WEAPON_MENU);
349 DiagMenu.RegisterItem(DiagMenuIDs.WEAPON_LIFT_DEBUG, "", "Weapon Lift Debug", DiagMenuIDs.WEAPON_MENU, "false,true,extended");
350 }
351
352 //---------------------------------------------------------------
353 // LEVEL 1 - Script
354 //---------------------------------------------------------------
355 DiagMenu.RegisterMenu(DiagMenuIDs.BLEEDING_MENU, "Bleeding", DiagMenuIDs.SCRIPTS_MENU);
356 {
357 //---------------------------------------------------------------
358 // LEVEL 2 - Script > Bleeding
359 //---------------------------------------------------------------
360 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_SOURCES, "", "Show Bleeding Sources", DiagMenuIDs.BLEEDING_MENU);
361 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_DISABLE_BLOOD_LOSS, "", "Disable Blood Loss", DiagMenuIDs.BLEEDING_MENU);
362 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDING_ACTIVATE_SOURCE, "", "Activate Source #", DiagMenuIDs.BLEEDING_MENU, "1, 32, 0, 1");
363 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_ACTIVATE_ALL_SOURCES, "", "Activate All Sources", DiagMenuIDs.BLEEDING_MENU);
364 DiagMenu.RegisterItem(DiagMenuIDs.BLEEDING_ACTIVATE_SOURCE_LEVEL, "", "Activate Blsource Level", DiagMenuIDs.BLEEDING_MENU, "None, Low, Medium, High");
365 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_RELOAD, "", "Client Reload", DiagMenuIDs.BLEEDING_MENU);
366 DiagMenu.RegisterMenu(DiagMenuIDs.BLEEDINGINDICATORS_MENU, "Bleeding Indication", DiagMenuIDs.BLEEDING_MENU);
367 {
368 //---------------------------------------------------------------
369 // LEVEL 3 - Script > Bleeding > Bleeding Indication
370 //---------------------------------------------------------------
371 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS, "", "Enable BleedingIndicators", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
372 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS, true);
373 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS_USEVALUEOVERRIDES, "", "Enable Debug Overrides", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
374 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS_USEVALUEOVERRIDES, false);
375 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS_DROP_RANDOMROTATION, "", "Enable Random Rotation", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
376 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS_DROP_RANDOMROTATION, true);
377 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_SEQUENCE_DURATION, "", "Sequence Duration", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.2, 5.0, " + BleedingIndicationConstants.SEQUENCE_DURATION_DEFAULT.ToString() + ", 0.01");
378 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_BASEDURATION, "", "Drop Anim Duration", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 5.0, " + BleedingIndicationConstants.DROP_DURATION_LOW.ToString() + ", 0.05");
379 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_MINDELAY, "", "Drop Min Delay", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 5.0, " + BleedingIndicationConstants.SEQUENCE_DROP_DELAY_MIN_LOW.ToString() + ", 0.05");
380 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_MAXDELAY, "", "Drop Max Delay", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 5.0, " + BleedingIndicationConstants.SEQUENCE_DROP_DELAY_MAX_LOW.ToString() + ", 0.05");
381 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_PROGRESSTHRESHOLD, "", "Drop Progress Threshold", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 1.0, " + BleedingIndicationConstants.DROP_PROGRESS_THRESHOLD.ToString() + ", 0.05");
382 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_STARTSIZE, "", "Drop Start Size", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 1.0, " + BleedingIndicationConstants.DROP_SIZE_START_LOW.ToString() + ", 0.01");
383 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_ENDSIZE, "", "Drop End Size", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 1.0, " + BleedingIndicationConstants.DROP_SIZE_END_LOW.ToString() + ", 0.01");
384 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_RNDSCALEMIN, "", "Drop Size Random Min", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 2.0, " + BleedingIndicationConstants.DROP_SIZE_VARIATION_MIN_LOW.ToString() + ", 0.01");
385 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_RNDSCALEMAX, "", "Drop Size Random Max", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 2.0, " + BleedingIndicationConstants.DROP_SIZE_VARIATION_MAX_LOW.ToString() + ", 0.01");
386 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_SCATTER, "", "Drop Scatter px", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 500.0, " + BleedingIndicationConstants.DROP_SCATTER_LOW.ToString() + ", 1.0");
387 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_SLIDEDISTANCE, "", "Drop Slide Distance", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 500.0, 0, 0.1");
388 DiagMenu.RegisterMenu(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "Color Debug", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
389 {
390 //---------------------------------------------------------------
391 // LEVEL 4 - Script > Bleeding > Bleeding Indication > Color Debug
392 //---------------------------------------------------------------
393 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_ENABLEDESATURATION, "", "Desaturate", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU);
394 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_ENABLEDESATURATION, true);
395 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_DESATURATIONEND, "", "Saturation End Value", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 1.0, " + BleedingIndicationConstants.DROP_COLOR_DESATURATIONEND.ToString() + ", 0.05");
396 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_R, "", "Red", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_RED.ToString() + ", 1.0");
397 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_G, "", "Green", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_GREEN.ToString() + ", 1.0");
398 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_B, "", "Blue", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_BLUE.ToString() + ", 1.0");
399 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_A_START, "", "Alpha - Start", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_ALPHA_START.ToString() + ", 1.0");
400 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_A_END, "", "Alpha - End", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_ALPHA_END.ToString() + ", 1.0");
401 }
402 }
403 }
404
405 //---------------------------------------------------------------
406 // LEVEL 1 - Script
407 //---------------------------------------------------------------
408 DiagMenu.RegisterMenu(DiagMenuIDs.LOGS_MENU, "Logs", DiagMenuIDs.SCRIPTS_MENU);
409 {
410 //---------------------------------------------------------------
411 // LEVEL 2 - Script > Logs
412 //---------------------------------------------------------------
413 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_ACTIONS, "", "Log Actions", DiagMenuIDs.LOGS_MENU);
414 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_WEAPONS, "", "Log Weapons", DiagMenuIDs.LOGS_MENU);
415 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_SYNC, "", "Log Sync", DiagMenuIDs.LOGS_MENU);
416 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_BASEBUILDING, "", "Log Base building", DiagMenuIDs.LOGS_MENU);
417 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_QUICKBAR, "", "Log Quickbar", DiagMenuIDs.LOGS_MENU);
418 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_SYMPTOMS, "", "Log Symptoms", DiagMenuIDs.LOGS_MENU);
419 DiagMenu.RegisterMenu(DiagMenuIDs.LOGS_INVENTORY_MENU, "Inventory Logs", DiagMenuIDs.LOGS_MENU);
420 {
421 //---------------------------------------------------------------
422 // LEVEL 3 - Script > Logs > InventoryLogs
423 //---------------------------------------------------------------
424 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_INVENTORY_MOVE, "", "Log Items move", DiagMenuIDs.LOGS_INVENTORY_MENU);
425 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_INVENTORY_RESERVATION, "", "Log Reservations", DiagMenuIDs.LOGS_INVENTORY_MENU);
426 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_INVENTORY_HFSM, "", "Log HandFSM", DiagMenuIDs.LOGS_INVENTORY_MENU);
427 }
428 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_BLEEDING_CHANCES, "", "Bleeding Chances Logs", DiagMenuIDs.LOGS_MENU);
429 }
430
431 //---------------------------------------------------------------
432 // LEVEL 1 - Script
433 //---------------------------------------------------------------
434 DiagMenu.RegisterMenu(DiagMenuIDs.TRIGGER_MENU, "Triggers", DiagMenuIDs.SCRIPTS_MENU);
435 {
436 //---------------------------------------------------------------
437 // LEVEL 2 - Script > Triggers
438 //---------------------------------------------------------------
439 DiagMenu.RegisterBool(DiagMenuIDs.TRIGGER_DEBUG, "", "Show Triggers", DiagMenuIDs.TRIGGER_MENU);
440 DiagMenu.RegisterBool(DiagMenuIDs.TRIGGER_PLAYER_DEBUG, "", "Show Player Touch", DiagMenuIDs.TRIGGER_MENU);
441 #ifdef TRIGGER_DEBUG_BASIC
442 DiagMenu.SetValue(DiagMenuIDs.TRIGGER_DEBUG, true);
443 DiagMenu.SetValue(DiagMenuIDs.TRIGGER_PLAYER_DEBUG, true);
444 #endif
445 }
446
447 //---------------------------------------------------------------
448 // LEVEL 1 - Script
449 //---------------------------------------------------------------
450 DiagMenu.RegisterMenu(DiagMenuIDs.BASEBUILDING_MENU, "Base Building", DiagMenuIDs.SCRIPTS_MENU);
451 {
452 //---------------------------------------------------------------
453 // LEVEL 2 - Script > Base Building
454 //---------------------------------------------------------------
455 DiagMenu.RegisterBool(DiagMenuIDs.BASEBUILDING_WOOD, "", "Spawn uses wood/metal", DiagMenuIDs.BASEBUILDING_MENU);
456 DiagMenu.RegisterBool(DiagMenuIDs.BASEBUILDING_GATE, "", "Spawn Fence makes gate", DiagMenuIDs.BASEBUILDING_MENU);
457 }
458
459 //---------------------------------------------------------------
460 // LEVEL 1 - Script
461 //---------------------------------------------------------------
462 DiagMenu.RegisterMenu(DiagMenuIDs.UNDERGROUND_MENU, "Underground Areas", DiagMenuIDs.SCRIPTS_MENU);
463 {
464 //---------------------------------------------------------------
465 // LEVEL 2 - Script > Underground Areas
466 //---------------------------------------------------------------
467 DiagMenu.RegisterBool(DiagMenuIDs.UNDERGROUND_SHOW_BREADCRUMB, "", "Show Breadcrumbs", DiagMenuIDs.UNDERGROUND_MENU);
468 DiagMenu.RegisterBool(DiagMenuIDs.UNDERGROUND_DISABLE_DARKENING, "lctrl+f", "Disable Darkening", DiagMenuIDs.UNDERGROUND_MENU);
469 }
470
471 //---------------------------------------------------------------
472 // LEVEL 1 - Script
473 //---------------------------------------------------------------
474 DiagMenu.RegisterMenu(DiagMenuIDs.FINISHERS_MENU, "Finishers", DiagMenuIDs.SCRIPTS_MENU);
475 {
476 //---------------------------------------------------------------
477 // LEVEL 2 - Script > Finishers
478 //---------------------------------------------------------------
479 DiagMenu.RegisterItem(DiagMenuIDs.FINISHERS_FINISHER_FORCED, "", "Forced Finisher: ", DiagMenuIDs.FINISHERS_MENU, "None,Liver,Neck");
480 }
481
482 //---------------------------------------------------------------
483 // LEVEL 1 - Script
484 //---------------------------------------------------------------
485 DiagMenu.RegisterMenu(DiagMenuIDs.SOUNDS_MENU, "Script Sounds", DiagMenuIDs.SCRIPTS_MENU);
486 {
487 //---------------------------------------------------------------
488 // LEVEL 2 - Script > Script Sounds
489 //---------------------------------------------------------------
490 DiagMenu.RegisterBool(DiagMenuIDs.SOUNDS_ITEM_IMPACT_SOUNDS, "", "Item impact sounds", DiagMenuIDs.SOUNDS_MENU);
491 DiagMenu.RegisterBool(DiagMenuIDs.SOUNDS_DYNAMIC_MUSIC_PLAYER_STATS, "", "Dynamic Music Player stats", DiagMenuIDs.SOUNDS_MENU);
492 }
493
494 //---------------------------------------------------------------
495 // LEVEL 1 - Script
496 //---------------------------------------------------------------
497 DiagMenu.RegisterMenu(DiagMenuIDs.CAMERATOOLS_MENU, "Cinematic Camera Tools", DiagMenuIDs.SCRIPTS_MENU);
498 {
499 //---------------------------------------------------------------
500 // LEVEL 2 - Script > Cinematic Camera Tools
501 //---------------------------------------------------------------
502 DiagMenu.RegisterBool(DiagMenuIDs.CAMERATOOLS_ENABLE_REMOTE_CAMERA, "", "Show remote camera", DiagMenuIDs.CAMERATOOLS_MENU);
503 DiagMenu.RegisterBool(DiagMenuIDs.CAMERATOOLS_ENABLE_REMOTE_CAMERA_BROADCAST, "", "Broadcast camera", DiagMenuIDs.CAMERATOOLS_MENU);
504 }
505 //---------------------------------------------------------------
506 // LEVEL 1 - Script
507 //---------------------------------------------------------------
508 DiagMenu.RegisterMenu(DiagMenuIDs.FEATURE_TIME_ACCEL_MENU, "Time Accel", DiagMenuIDs.SCRIPTS_MENU);
509 {
510 //---------------------------------------------------------------
511 // LEVEL 2 - Script > Time Accel
512 //---------------------------------------------------------------
513 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL, "lalt+0", "Apply Time Accel", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
514 DiagMenu.RegisterRange(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE1, "", "Accel Factor Big", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU,"0,100,1,1");
515 DiagMenu.RegisterRange(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE2, "", "Accel Factor Small", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU,"0,0.95 ,0,0.05");
516 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_UG_ENTRANCES, "", "Underground Entrances", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
517 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_UG_RESERVOIR, "", "Underground Reservoir", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
518 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_ENERGY_CONSUME, "", "Energy Consumption", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
519 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_ENERGY_RECHARGE, "", "Energy Recharge", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
520 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_FOOD_DECAY, "", "Decay", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
521 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_DYNAMIC_MUSIC_PLAYER, "", "Dynamic Music Player", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
522 }
523
524 //---------------------------------------------------------------
525 // LEVEL 1 - Script
526 //---------------------------------------------------------------
527 DiagMenu.RegisterMenu(DiagMenuIDs.MATERIALDIAG_MENU, "Materials Diag", DiagMenuIDs.SCRIPTS_MENU);
528 {
529 //---------------------------------------------------------------
530 // LEVEL 2 - Script > Material Diag
531 //---------------------------------------------------------------
532 DiagMenu.RegisterBool(DiagMenuIDs.MATERIALDIAG_GHOSTPP, "", "Ghost PP", DiagMenuIDs.MATERIALDIAG_MENU);
533 }
534 }
535 }
536
537 //---------------------------------------------
538 protected int GetModdedDiagID()
539 {
540 return ++m_ModdedDiagID;
541 }
542
543 //---------------------------------------------
544 protected int GetModdedRootMenu()
545 {
546 return DiagMenuIDs.MODDED_MENU;
547 }
548
549 //---------------------------------------------
550 protected void RegisterModdedDiagsIDs();
551
552 //---------------------------------------------
553 protected void RegisterModdedDiags()
554 {
555 DiagMenu.RegisterMenu(DiagMenuIDs.MODDED_MENU, "Script - Modded", -1);
556 }
557
558 //---------------------------------------------
559 void OnRPC(PlayerBase player, int rpc_type, ParamsReadContext ctx)
560 {
561 EntityAI parent;
562 Class.CastTo(parent, player.GetParent());
563
564 switch (rpc_type)
565 {
566 //---------------------------------------------------------------
567 // Misc, multipurpose
568 //---------------------------------------------------------------
569 case ERPCs.DIAG_ITEM_DEBUG_ACTIONS:
570 {
572 ItemBase.SetDebugActionsMask(CachedObjectsParams.PARAM1_INT.param1);
573 break;
574 }
575
576
577 //---------------------------------------------------------------
578 // LEVEL 2 - Script > Player States
579 //---------------------------------------------------------------
580 case ERPCs.DIAG_PLAYER_SYMPTOMS_DEBUG_ON:
581 case ERPCs.DIAG_PLAYER_SYMPTOMS_DEBUG_OFF:
582 case ERPCs.DIAG_PLAYER_SYMPTOMS_DEBUG:
583 {
584 if (player.GetSymptomManager())
585 {
586 player.GetSymptomManager().OnRPCDebug(rpc_type, ctx);
587 }
588 break;
589 }
590
591
592
593 //---------------------------------------------------------------
594 // LEVEL 2 - Script > Crafting
595 //---------------------------------------------------------------
596 case ERPCs.DIAG_CRAFTING_INSTANT:
597 {
599 {
600 PluginRecipesManager pluginRecipesManager = PluginRecipesManager.Cast(GetPlugin(PluginRecipesManager));
601 pluginRecipesManager.SetEnableDebugCrafting(CachedObjectsParams.PARAM1_INT.param1);
602 }
603 break;
604 }
605
606
607 //---------------------------------------------------------------
608 // LEVEL 2 - Script > Cheats
609 //---------------------------------------------------------------
610 case ERPCs.DIAG_CHEATS_MODIFIERS:
611 {
613 player.SetModifiers(CachedObjectsParams.PARAM1_INT.param1);
614 break;
615 }
616
617 //---------------------------------------------------------------
618 case ERPCs.DIAG_CHEATS_KILL_PLAYER:
619 {
620 player.SetHealth("","", -1);
621 break;
622 }
623
624 //---------------------------------------------------------------
625 case ERPCs.DIAG_CHEATS_INVINCIBILITY:
626 {
628 {
629 switch (CachedObjectsParams.PARAM1_INT.param1)
630 {
631 case 0:
632 {
633 if (parent)
634 {
635 parent.SetAllowDamage(true);
636 parent.SetCanBeDestroyed(true);
637 }
638
639 player.SetAllowDamage(true);
640 player.SetCanBeDestroyed(true);
641 break;
642 }
643 case 1:
644 {
645 if (parent)
646 {
647 parent.SetAllowDamage(true);
648 parent.SetCanBeDestroyed(false);
649 }
650
651 player.SetAllowDamage(true);
652 player.SetCanBeDestroyed(false);
653 break;
654 }
655 case 2:
656 {
657 if (parent)
658 {
659 parent.SetAllowDamage(false);
660 }
661
662 player.SetAllowDamage(false);
663 break;
664 }
665 }
666 break;
667 }
668 }
669
670 //---------------------------------------------------------------
671 case ERPCs.DIAG_CHEATS_DISABLE_STAMINA:
672 {
674 player.SetStaminaDisabled(CachedObjectsParams.PARAM1_BOOL.param1);
675 break;
676 }
677
678 //---------------------------------------------------------------
679 case ERPCs.DIAG_CHEATS_RESET_PLAYER:
680 {
681 player.ResetPlayer(false);
682 break;
683 }
684
685 //---------------------------------------------------------------
686 case ERPCs.DIAG_CHEATS_RESET_PLAYER_MAX:
687 {
688 player.ResetPlayer(true);
689 break;
690 }
691
692 //---------------------------------------------------------------
693 case ERPCs.DIAG_CHEATS_INVENTORY_ACCESS:
694 {
696 player.DEBUG_INVENTORY_ACCESS = CachedObjectsParams.PARAM1_INT.param1;
697 break;
698 }
699
700 //---------------------------------------------------------------
701 case ERPCs.DIAG_CHEATS_ITEMS_FIX:
702 {
703 player.FixAllInventoryItems();
704 break;
705 }
706 //---------------------------------------------------------------
707 //---------------------------DAMAGE DEBUG------------------------
708 // hardcoded for Heavy and Light, but Light can be converted to some sort of setup if we need to have even more times with more settings, ie. we could first set-up the hit params and then perform it
709 case ERPCs.DIAG_CHEATS_CREATE_HIT:
710 {
711 player.ProcessDirectDamage(DamageType.CUSTOM, player, "", "Dummy_Heavy", "0 0 0");
712 break;
713 }
714
715 case ERPCs.DIAG_CHEATS_CREATE_HIT_LIGHT:
716 {
717 player.ProcessDirectDamage(DamageType.CUSTOM, player, "", "MeleeFist", "0 0 0");
718 break;
719 }
720
721 //---------------------------------------------------------------
722 // LEVEL 2 - Script > Soft Skills
723 //---------------------------------------------------------------
724 case ERPCs.DIAG_SOFT_SKILLS_SHOW_DEBUG:
725 {
727 {
729 {
730 player.GetSoftSkillsManager().StartSynchTimer();
731 }
732 else
733 {
734 player.GetSoftSkillsManager().StopSynchTimer();
735 player.GetSoftSkillsManager().ResetDebugWindow();
736 }
737 }
738 break;
739 }
740
741 //---------------------------------------------------------------
742 case ERPCs.DIAG_SOFT_SKILLS_TOGGLE_STATE:
743 {
745 player.GetSoftSkillsManager().SetSoftSkillsState(CachedObjectsParams.PARAM1_BOOL.param1);
746 break;
747 }
748
749 //---------------------------------------------------------------
750 case ERPCs.DIAG_SOFT_SKILLS_TOGGLE_MODEL:
751 {
753 player.GetSoftSkillsManager().SetLinearState(CachedObjectsParams.PARAM1_BOOL.param1) ;
754 break;
755 }
756
757 //---------------------------------------------------------------
758 case ERPCs.DIAG_SOFT_SKILLS_SPECIALTY_VALUE:
759 {
761 {
762 SoftSkillsManager softSkillsMngr = player.GetSoftSkillsManager();
764 softSkillsMngr.SynchSpecialtyLevel();
765 player.GetStatSpecialty().Set(CachedObjectsParams.PARAM1_FLOAT.param1);
766 }
767 break;
768 }
769
770 //---------------------------------------------------------------
771 // LEVEL 2 - Script > Lifespan
772 //---------------------------------------------------------------
773 case ERPCs.DIAG_LIFESPAN_BLOODY_HANDS:
774 {
776 {
778 pluginLifespan.UpdateBloodyHandsVisibility(player, CachedObjectsParams.PARAM1_BOOL.param1);
779 player.SetBloodyHandsPenaltyChancePerAgent(eAgents.SALMONELLA, 0.75);
780 }
781 else
782 player.ClearBloodyHandsPenaltyChancePerAgent(eAgents.SALMONELLA);
783
784 break;
785 }
786
787 //---------------------------------------------------------------
788 case ERPCs.DIAG_LIFESPAN_PLAYTIME_UPDATE:
789 {
791 {
792 //reset playtime
793 player.StatUpdate(AnalyticsManagerServer.STAT_PLAYTIME, player.StatGet(AnalyticsManagerServer.STAT_PLAYTIME) * -1);
794 //set new playtime
796 player.SetLastShavedSeconds(0);
797 //update lifespan
798 PluginLifespan pluginLifespann = PluginLifespan.Cast(GetPlugin(PluginLifespan));
799 pluginLifespann.ChangeFakePlaytime( player, CachedObjectsParams.PARAM1_FLOAT.param1 );
800 pluginLifespann.UpdateLifespan(player, true);
801 }
802 break;
803 }
804
805
806 //---------------------------------------------------------------
807 // LEVEL 2 - Script > Misc
808 //---------------------------------------------------------------
809 case ERPCs.DIAG_MISC_LOG_PLAYER_STATS:
810 {
812 player.GetPlayerStats().SetAllowLogs(CachedObjectsParams.PARAM1_BOOL.param1);
813 break;
814 }
815
816 //---------------------------------------------------------------
817
818 //---------------------------------------------------------------
819 // LEVEL 2 - Script > Misc -> Environment
820 //---------------------------------------------------------------
821 case ERPCs.DIAG_MISC_ENVIRONMENT_DEBUG:
822 {
824 {
825 if (player.m_Environment)
826 player.m_Environment.m_Debug = CachedObjectsParams.PARAM1_BOOL.param1;
827 }
828 break;
829 }
830
831 case ERPCs.DIAG_MISC_ENVIRONMENT_LOGGING_DRYWET:
832 {
834 {
835 if (player.m_Environment)
836 player.m_Environment.m_DebugLogDryWet = CachedObjectsParams.PARAM1_BOOL.param1;
837 }
838 break;
839 }
840
841 case ERPCs.DIAG_MISC_ENVIRONMENT_LOGGING_ITEMHEAT:
842 {
844 {
845 if (player.m_Environment)
846 player.m_Environment.m_DebugLogItemHeat = CachedObjectsParams.PARAM1_BOOL.param1;
847 }
848 break;
849 }
850
851 //---------------------------------------------------------------
852 // LEVEL 2 - Script > Misc
853 //---------------------------------------------------------------
854 case ERPCs.DIAG_MISC_FALLDAMAGE_DEBUG:
855 {
857 {
858 if (player.GetFallDamage())
859 player.GetFallDamage().m_Debug = CachedObjectsParams.PARAM1_BOOL.param1;
860 }
861 break;
862 }
863
864 //---------------------------------------------------------------
865 case ERPCs.DIAG_MISC_GO_UNCONSCIOUS:
866 {
867 GoUnconscious(player);
868 break;
869 }
870
871 //---------------------------------------------------------------
872 case ERPCs.DIAG_MISC_GO_UNCONSCIOUS_DELAYED:
873 {
874 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GoUnconscious, 10000, false, player);
875 break;
876 }
877
878 //---------------------------------------------------------------
879 case ERPCs.DIAG_MISC_QUICK_RESTRAIN:
880 {
882 player.SetQuickRestrain(CachedObjectsParams.PARAM1_BOOL.param1);
883 break;
884 }
885
886 //---------------------------------------------------------------
887 // LEVEL 3 - Script > Misc > Hair Hiding
888 //---------------------------------------------------------------
889 case ERPCs.DIAG_MISC_HAIR_LEVEL_HIDE:
890 {
892 {
893 player.SetHairLevelToHide(CachedObjectsParams.PARAM2_INT_INT.param1, CachedObjectsParams.PARAM2_INT_INT.param2, true);
894 player.UpdateHairSelectionVisibility(true);
895 }
896 break;
897 }
898
899 //---------------------------------------------------------------
900 // LEVEL 2 - Script > Misc
901 //---------------------------------------------------------------
902 case ERPCs.DIAG_MISC_QUICK_FISHING:
903 {
905 player.SetQuickFishing(CachedObjectsParams.PARAM1_BOOL.param1);
906 break;
907 }
908
909 //---------------------------------------------------------------
910 case ERPCs.DIAG_MISC_TARGETABLE_BY_AI:
911 {
913 player.m_CanBeTargetedDebug = CachedObjectsParams.PARAM1_BOOL.param1;
914 break;
915 }
916
917 //---------------------------------------------------------------
918 case ERPCs.DIAG_MISC_DEBUG_MONITOR:
919 {
922 break;
923 }
924
925 //---------------------------------------------------------------
926 // LEVEL 2 - Script > Simulate script
927 //---------------------------------------------------------------
928 case ERPCs.DIAG_SIMULATE_INFINITE_LOOP:
929 {
930 while ( true )
931 {
932 Print("simulating infinite loop");
933 }
934 break;
935 }
936
937 //---------------------------------------------------------------
938 case ERPCs.DIAG_SIMULATE_NULL_POINTER:
939 {
940 PlayerBase NULL_player = null;
941 NULL_player.SetHealth("","", -1);
942 break;
943 }
944
945 //---------------------------------------------------------------
946 case ERPCs.DIAG_SIMULATE_DIVISION_BY_ZERO:
947 {
948 int zero = 0;
949 int division_by_zero = 1/zero;
950 break;
951 }
952
953 //---------------------------------------------------------------
954 case ERPCs.DIAG_SIMULATE_ERROR_FUNCTION:
955 {
956 ErrorEx("Simulated error");
957 break;
958 }
959
960
961 //---------------------------------------------------------------
962 // LEVEL 2 - Script > Weapon
963 //---------------------------------------------------------------
964 case ERPCs.DIAG_WEAPON_PARTICLES:
965 {
968 break;
969 }
970
971 //---------------------------------------------------------------
972 case ERPCs.DIAG_WEAPON_RECOIL:
973 {
975 player.GetAimingModel().SetProceduralRecoilEnabled(CachedObjectsParams.PARAM1_BOOL.param1);
976 break;
977 }
978
979 //---------------------------------------------------------------
980 case ERPCs.DIAG_WEAPON_BURST_VERSION:
981 {
983 player.GetWeaponManager().SetBurstOption(CachedObjectsParams.PARAM1_INT.param1);
984 break;
985 }
986
987
988 //---------------------------------------------------------------
989 // LEVEL 2 - Script > Bleeding
990 //---------------------------------------------------------------
991 case ERPCs.DIAG_BLEEDING_DISABLE_BLOOD_LOSS:
992 {
994 player.GetBleedingManagerServer().SetBloodLoss(CachedObjectsParams.PARAM1_BOOL.param1);
995 break;
996 }
997
998 //---------------------------------------------------------------
999 case ERPCs.DIAG_BLEEDING_ACTIVATE_SOURCE:
1000 {
1002 player.GetBleedingManagerServer().DebugActivateBleedingSource(CachedObjectsParams.PARAM1_INT.param1);
1003 break;
1004 }
1005
1006 //---------------------------------------------------------------
1007 case ERPCs.DIAG_BLEEDING_ACTIVATE_ALL_SOURCES:
1008 {
1009 player.GetBleedingManagerServer().ActivateAllBS();
1010 break;
1011 }
1012
1013
1014 //---------------------------------------------------------------
1015 // LEVEL 2 - Script > Logs
1016 //---------------------------------------------------------------
1017 case ERPCs.DIAG_LOGS_ACTIONS:
1018 {
1021 break;
1022 }
1023
1024 //---------------------------------------------------------------
1025 case ERPCs.DIAG_LOGS_WEAPONS:
1026 {
1029 break;
1030 }
1031
1032 //---------------------------------------------------------------
1033 case ERPCs.DIAG_LOGS_SYNC:
1034 {
1037 break;
1038 }
1039
1040 //---------------------------------------------------------------
1041 case ERPCs.DIAG_LOGS_BASEBUILDING:
1042 {
1045 break;
1046 }
1047
1048 //---------------------------------------------------------------
1049 case ERPCs.DIAG_LOGS_SYMPTOMS:
1050 {
1053 break;
1054 }
1055
1056 //---------------------------------------------------------------
1057 case ERPCs.DIAG_LOGS_INVENTORY_MOVE:
1058 {
1061 break;
1062 }
1063
1064 //---------------------------------------------------------------
1065 case ERPCs.DIAG_LOGS_INVENTORY_RESERVATION:
1066 {
1069 break;
1070 }
1071
1072 //---------------------------------------------------------------
1073 case ERPCs.DIAG_LOGS_INVENTORY_HFSM:
1074 {
1077 break;
1078 }
1079
1080 //---------------------------------------------------------------
1081 case ERPCs.DIAG_LOGS_QUICKBAR:
1082 {
1085 break;
1086 }
1087
1088 //---------------------------------------------------------------
1089 case ERPCs.DIAG_LOGS_BLEEDING_CHANCES:
1090 {
1093 break;
1094 }
1095
1096 //---------------------------------------------------------------
1097 // LEVEL 2 - Script > Base Building
1098 //---------------------------------------------------------------
1099 case ERPCs.DIAG_BASEBUILDING_WOOD:
1100 {
1102 DiagMenu.SetValue(DiagMenuIDs.BASEBUILDING_WOOD, CachedObjectsParams.PARAM1_BOOL.param1);
1103 break;
1104 }
1105
1106 //---------------------------------------------------------------
1107 case ERPCs.DIAG_BASEBUILDING_GATE:
1108 {
1110 DiagMenu.SetValue(DiagMenuIDs.BASEBUILDING_GATE, CachedObjectsParams.PARAM1_BOOL.param1);
1111 break;
1112 }
1113
1114
1115 //---------------------------------------------------------------
1116 // LEVEL 2 - Script > Finishers
1117 //---------------------------------------------------------------
1118 case ERPCs.DIAG_FINISHERS_FORCE_FINISHER:
1119 {
1121 player.GetMeleeCombat().DebugSetForcedFinisherType(CachedObjectsParams.PARAM1_INT.param1);
1122 break;
1123 }
1124
1125
1126 //---------------------------------------------------------------
1127 // LEVEL 2 - Script > Cinematic Camera Tools
1128 //---------------------------------------------------------------
1129 case ERPCs.DIAG_CAMERATOOLS_CAM_DATA:
1130 {
1131 if (!player.m_CameraToolsMenuClient)
1132 {
1133 player.m_CameraToolsMenuClient = new CameraToolsMenuClient();
1134 }
1135
1136 player.m_CameraToolsMenuClient.OnRPC(ctx);
1137 break;
1138 }
1139
1140
1141 //---------------------------------------------------------------
1142 // LEVEL 2 - Script > Time Accel
1143 //---------------------------------------------------------------
1144 case ERPCs.DIAG_TIMEACCEL:
1145 {
1146 TimeAccelParam tap = new TimeAccelParam(false, 0, 0);
1147
1148 if (ctx.Read(tap))
1149 {
1150 FeatureTimeAccel.m_CurrentTimeAccel = tap;
1151 //Print("received from " + player);
1152 array<Man> players = new array<Man>();
1153 GetGame().GetPlayers(players);
1154 foreach (Man p : players)
1155 {
1156 if (p != player)// send to everyone except the one we receieved from
1157 {
1158 //Print("sending to " + p);
1159 GetGame().RPCSingleParam( p, ERPCs.DIAG_TIMEACCEL_CLIENT_SYNC, tap, true, p.GetIdentity());
1160 }
1161 }
1162
1163 /*
1164 Print(" -------- TimeAccelParam -------");
1165 Print(tap.param1);
1166 Print(tap.param2);
1167 Print(tap.param3);
1168 Print(" -------------------------------");
1169 Print(FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.UNDERGROUND_ENTRANCE));
1170 Print(FeatureTimeAccel.GetFeatureTimeAccelValue());
1171 Print(" ===============================");
1172 */
1173 }
1174 break;
1175 }
1176
1177 //---------------------------------------------------------------
1178 case ERPCs.DIAG_TIMEACCEL_CLIENT_SYNC:
1179 {
1180 TimeAccelParam tap2 = new TimeAccelParam(false, 0, 0);
1181
1182 if (ctx.Read(tap2))
1183 {
1184 int bigFactor = tap2.param2;
1185 float smallFactor = tap2.param2 - bigFactor;
1186 SetTimeAccelMenuState(tap2.param1, bigFactor, smallFactor, tap2.param3);
1187 FeatureTimeAccel.m_CurrentTimeAccel = tap2;
1188 }
1189 break;
1190 }
1191
1192 //---------------------------------------------------------------
1193 // LEVEL 2 - Script > Vehicles
1194 //---------------------------------------------------------------
1195 case ERPCs.DIAG_VEHICLE_DEBUG_OUTPUT:
1196 {
1198 CarScript.DEBUG_OUTPUT_TYPE = CachedObjectsParams.PARAM1_INT.param1;
1199 break;
1200 }
1201 //---------------------------------------------------------------
1202 case ERPCs.DIAG_VEHICLES_DUMP_CRASH_DATA_REQUEST:
1203 {
1205 CrashDebugData.SendData(player);
1206 break;
1207 }
1208 }
1209 }
1210
1211 //---------------------------------------------
1212 void GoUnconscious(PlayerBase player)
1213 {
1214 if (player.IsUnconscious())
1215 {
1216 player.SetHealth("", "Shock", 100);
1217 }
1218 else
1219 {
1220 player.m_UnconsciousEndTime = -60;
1221 player.SetHealth("", "Shock", 0);
1222 }
1223 }
1224
1225 //---------------------------------------------
1226 void InitTimeAccel()
1227 {
1228 FeatureTimeAccel.m_CurrentTimeAccel = GetTimeAccelMenuState();
1229
1230 string value;
1231
1232 if ( GetGame().CommandlineGetParam("timeAccel", value))
1233 {
1234 TStringArray params = new TStringArray();
1235
1236 value.Replace(" ","");
1237 value.Split(",", params);
1238
1239 bool enable = params[0].ToInt();
1240 int timeAccelBig = params[1].ToInt();
1241 float timeAccelSmall = params[2].ToFloat();
1242 int bitMask = params[3].ToInt();
1243
1244 SetTimeAccelMenuState(enable, timeAccelBig, timeAccelSmall, bitMask);
1245 }
1246 }
1247
1248 TimeAccelParam GetTimeAccelMenuState()
1249 {
1250 bool enable = DiagMenu.GetBool(DiagMenuIDs.FEATURE_TIME_ACCEL);
1251 float timeAccelBig = DiagMenu.GetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE1);
1252 float timeAccelSmall = DiagMenu.GetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE2);
1253 float timeAccel = timeAccelBig + timeAccelSmall;
1254 int bitMask = FeatureTimeAccel.GetTimeAccelBitmask();
1255
1256 TimeAccelParam param = new TimeAccelParam(enable, timeAccel, bitMask);
1257 return param;
1258 }
1259
1260 void SetTimeAccelMenuState(bool enable, int bigFactor, float smallFactor, int bitmask)
1261 {
1262 DiagMenu.SetValue(DiagMenuIDs.FEATURE_TIME_ACCEL, enable);
1263 DiagMenu.SetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE1, bigFactor);
1264 DiagMenu.SetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE2, smallFactor);
1265
1266 for (int i = 0; i < EnumTools.GetEnumSize(ETimeAccelCategories); ++i)
1267 {
1268 int bit = 1 << i;
1269 bool on = (bit & bitmask);
1270 DiagMenu.SetValue(FeatureTimeAccel.GetDiagIDByCategory(bit), on);
1271 }
1272 }
1273#endif
1274}
map
Определения ControlsXboxNew.c:4
DamageType
exposed from C++ (do not change)
Определения DamageSystem.c:11
DayZGame g_Game
Определения DayZGame.c:3868
eAgents
Определения EAgents.c:3
DiagMenuIDs
Определения EDiagMenuIDs.c:2
ERPCs
Определения ERPCs.c:2
DebugActionType
Определения PluginDiagMenu.c:7
@ UNLIMITED_AMMO
Определения PluginDiagMenu.c:10
@ GENERIC_ACTIONS
Определения PluginDiagMenu.c:8
@ PLAYER_AGENTS
Определения PluginDiagMenu.c:9
void PluginLifespan()
Определения PluginLifespan.c:45
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:316
void UiHintPanel(Widget parent_widget)
Определения UiHintPanel.c:324
const string STAT_PLAYTIME
Определения AnalyticsManagerServer.c:4
static const int DROP_COLOR_RED
Определения BleedingIndicationConstants.c:15
static const float DROP_SIZE_VARIATION_MIN_LOW
Определения BleedingIndicationConstants.c:31
static const float DROP_SIZE_START_LOW
Определения BleedingIndicationConstants.c:29
static const int DROP_SCATTER_LOW
Определения BleedingIndicationConstants.c:33
static const int DROP_COLOR_ALPHA_END
Определения BleedingIndicationConstants.c:19
static const int DROP_COLOR_ALPHA_START
Определения BleedingIndicationConstants.c:18
static const int DROP_COLOR_BLUE
Определения BleedingIndicationConstants.c:17
static const float DROP_PROGRESS_THRESHOLD
Определения BleedingIndicationConstants.c:13
static const float SEQUENCE_DROP_DELAY_MAX_LOW
Определения BleedingIndicationConstants.c:28
static const float DROP_SIZE_VARIATION_MAX_LOW
Определения BleedingIndicationConstants.c:32
static const int DROP_COLOR_GREEN
Определения BleedingIndicationConstants.c:16
static const float DROP_COLOR_DESATURATIONEND
Определения BleedingIndicationConstants.c:14
static const float DROP_SIZE_END_LOW
Определения BleedingIndicationConstants.c:30
static const float DROP_DURATION_LOW
Определения BleedingIndicationConstants.c:26
static const float SEQUENCE_DROP_DELAY_MIN_LOW
Определения BleedingIndicationConstants.c:27
static const float SEQUENCE_DURATION_DEFAULT
Used to pre-gen poisson probabilities, I REALLY wouldn't go over 10 here. Values above 12 cause overf...
Определения BleedingIndicationConstants.c:9
proto native void GetPlayers(out array< Man > players)
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
override ScriptCallQueue GetCallQueue(int call_category)
Определения DayZGame.c:1187
void SetDebugMonitorEnabled(int value)
Определения Game.c:1082
static ref Param1< bool > PARAM1_BOOL
Определения UtilityClasses.c:12
static ref Param1< int > PARAM1_INT
Определения UtilityClasses.c:11
static ref Param2< int, int > PARAM2_INT_INT
Определения UtilityClasses.c:16
static ref Param1< float > PARAM1_FLOAT
Определения UtilityClasses.c:13
Определения CivilianSedan.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnDebug.c:233
Определения Building.c:6
static int GetEnumSize(typename e)
Return amount of values in enum.
Определения EnConvert.c:623
Определения EnConvert.c:590
Определения InventoryItem.c:731
static void InventoryHFSMLogEnable(bool enable)
Определения Debug.c:673
static void InventoryReservationLogEnable(bool enable)
Определения Debug.c:663
static void SymptomLogEnable(bool enable)
Определения Debug.c:713
static void SyncLogEnable(bool enable)
Определения Debug.c:683
static void BleedingChancesLogEnable(bool enable)
Определения Debug.c:738
static void WeaponLogEnable(bool enable)
Определения Debug.c:723
static void QuickbarLogEnable(bool enable)
Определения Debug.c:693
static void ActionLogEnable(bool enable)
Определения Debug.c:643
static void InventoryMoveLogEnable(bool enable)
Определения Debug.c:653
static void BaseBuildingLogEnable(bool enable)
Определения Debug.c:703
Определения Debug.c:594
Определения PPEConstants.c:68
Определения EntityAI.c:95
Определения PlayerBaseClient.c:2
void PluginBase()
void OnDestroy()
void OnInit()
void OnRPC(PlayerBase player, int rpc_type, ParamsReadContext ctx)
Определения PluginDeveloper.c:61
Определения PluginDiagMenu.c:30
static bool m_GunParticlesState
Определения gameplay.c:1538
Определения gameplay.c:1537
proto void CallLater(func fn, int delay=0, bool repeat=false, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto bool Read(void value_in)
void SynchSpecialtyLevel()
Определения SoftSkillsManager.c:302
void SetSpecialtyLevel(float specialty_level)
Определения SoftSkillsManager.c:290
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto string ToString(bool simple=true)
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.
enum ShapeType ErrorEx
static proto void ClearScriptDiags()
To be used when scripted diags should not be present.
static proto void RegisterBool(int id, string shortcut, string name, int parent, bool reverse=false, func callback=null)
Register a new bool item.
static proto void SetRangeValue(int id, float value)
Set range value at the given script id.
static proto void InitScriptDiags()
To be used before registering scripted diags.
static proto void SetValue(int id, int value)
Set value at the given script id.
static proto bool GetBool(int id, bool reverse=false)
Get value as bool from the given script id.
static proto void RegisterRange(int id, string shortcut, string name, int parent, string valuenames, func callback=null)
Register a new range item.
static proto void RegisterItem(int id, string shortcut, string name, int parent, string values, func callback=null)
Register a new item.
static proto void RegisterMenu(int id, string name, int parent)
Register a new menu.
static proto void Unregister(int id)
Unregister the item at given id.
static proto float GetRangeValue(int id)
Get range value at the given script id.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
array< string > TStringArray
Определения EnScript.c:685
proto int Replace(string sample, string replace)
Replace all occurrances of 'sample' in 'str' by 'replace'.
void Split(string sample, out array< string > output)
Splits string into array of strings separated by 'sample'.
Определения EnString.c:396
const int CALL_CATEGORY_SYSTEM
Определения tools.c:8