DayZ 1.28
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 DiagMenu.RegisterItem(DiagMenuIDs.WEAPON_FORCEALLOW_OBSTRUCTION, "", "Force Allow Obstruction", DiagMenuIDs.WEAPON_MENU, "off,conditional,always,alwaysDynamic,neverStatic,alwaysDynamicNeverStatic,neverEver");
351 DiagMenu.RegisterBool(DiagMenuIDs.WEAPON_DISABLE_OBSTRUCTION_INTERPOLATION, "", "Disable Obstruction Interpolation", DiagMenuIDs.WEAPON_MENU);
352 }
353
354 //---------------------------------------------------------------
355 // LEVEL 1 - Script
356 //---------------------------------------------------------------
357 DiagMenu.RegisterMenu(DiagMenuIDs.BLEEDING_MENU, "Bleeding", DiagMenuIDs.SCRIPTS_MENU);
358 {
359 //---------------------------------------------------------------
360 // LEVEL 2 - Script > Bleeding
361 //---------------------------------------------------------------
362 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_SOURCES, "", "Show Bleeding Sources", DiagMenuIDs.BLEEDING_MENU);
363 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_DISABLE_BLOOD_LOSS, "", "Disable Blood Loss", DiagMenuIDs.BLEEDING_MENU);
364 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDING_ACTIVATE_SOURCE, "", "Activate Source #", DiagMenuIDs.BLEEDING_MENU, "1, 32, 0, 1");
365 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_ACTIVATE_ALL_SOURCES, "", "Activate All Sources", DiagMenuIDs.BLEEDING_MENU);
366 DiagMenu.RegisterItem(DiagMenuIDs.BLEEDING_ACTIVATE_SOURCE_LEVEL, "", "Activate Blsource Level", DiagMenuIDs.BLEEDING_MENU, "None, Low, Medium, High");
367 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDING_RELOAD, "", "Client Reload", DiagMenuIDs.BLEEDING_MENU);
368 DiagMenu.RegisterMenu(DiagMenuIDs.BLEEDINGINDICATORS_MENU, "Bleeding Indication", DiagMenuIDs.BLEEDING_MENU);
369 {
370 //---------------------------------------------------------------
371 // LEVEL 3 - Script > Bleeding > Bleeding Indication
372 //---------------------------------------------------------------
373 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS, "", "Enable BleedingIndicators", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
374 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS, true);
375 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS_USEVALUEOVERRIDES, "", "Enable Debug Overrides", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
376 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS_USEVALUEOVERRIDES, false);
377 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS_DROP_RANDOMROTATION, "", "Enable Random Rotation", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
378 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS_DROP_RANDOMROTATION, true);
379 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_SEQUENCE_DURATION, "", "Sequence Duration", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.2, 5.0, " + BleedingIndicationConstants.SEQUENCE_DURATION_DEFAULT.ToString() + ", 0.01");
380 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_BASEDURATION, "", "Drop Anim Duration", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 5.0, " + BleedingIndicationConstants.DROP_DURATION_LOW.ToString() + ", 0.05");
381 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");
382 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");
383 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_PROGRESSTHRESHOLD, "", "Drop Progress Threshold", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 1.0, " + BleedingIndicationConstants.DROP_PROGRESS_THRESHOLD.ToString() + ", 0.05");
384 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_STARTSIZE, "", "Drop Start Size", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 1.0, " + BleedingIndicationConstants.DROP_SIZE_START_LOW.ToString() + ", 0.01");
385 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_ENDSIZE, "", "Drop End Size", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.1, 1.0, " + BleedingIndicationConstants.DROP_SIZE_END_LOW.ToString() + ", 0.01");
386 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");
387 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");
388 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_SCATTER, "", "Drop Scatter px", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 500.0, " + BleedingIndicationConstants.DROP_SCATTER_LOW.ToString() + ", 1.0");
389 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_SLIDEDISTANCE, "", "Drop Slide Distance", DiagMenuIDs.BLEEDINGINDICATORS_MENU, "0.0, 500.0, 0, 0.1");
390 DiagMenu.RegisterMenu(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "Color Debug", DiagMenuIDs.BLEEDINGINDICATORS_MENU);
391 {
392 //---------------------------------------------------------------
393 // LEVEL 4 - Script > Bleeding > Bleeding Indication > Color Debug
394 //---------------------------------------------------------------
395 DiagMenu.RegisterBool(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_ENABLEDESATURATION, "", "Desaturate", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU);
396 DiagMenu.SetValue(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_ENABLEDESATURATION, true);
397 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");
398 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_R, "", "Red", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_RED.ToString() + ", 1.0");
399 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_G, "", "Green", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_GREEN.ToString() + ", 1.0");
400 DiagMenu.RegisterRange(DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_B, "", "Blue", DiagMenuIDs.BLEEDINGINDICATORS_DROP_COLOR_MENU, "0.0, 255.0, " + BleedingIndicationConstants.DROP_COLOR_BLUE.ToString() + ", 1.0");
401 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");
402 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");
403 }
404 }
405 }
406
407 //---------------------------------------------------------------
408 // LEVEL 1 - Script
409 //---------------------------------------------------------------
410 DiagMenu.RegisterMenu(DiagMenuIDs.LOGS_MENU, "Logs", DiagMenuIDs.SCRIPTS_MENU);
411 {
412 //---------------------------------------------------------------
413 // LEVEL 2 - Script > Logs
414 //---------------------------------------------------------------
415 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_ACTIONS, "", "Log Actions", DiagMenuIDs.LOGS_MENU);
416 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_WEAPONS, "", "Log Weapons", DiagMenuIDs.LOGS_MENU);
417 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_SYNC, "", "Log Sync", DiagMenuIDs.LOGS_MENU);
418 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_BASEBUILDING, "", "Log Base building", DiagMenuIDs.LOGS_MENU);
419 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_QUICKBAR, "", "Log Quickbar", DiagMenuIDs.LOGS_MENU);
420 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_SYMPTOMS, "", "Log Symptoms", DiagMenuIDs.LOGS_MENU);
421 DiagMenu.RegisterMenu(DiagMenuIDs.LOGS_INVENTORY_MENU, "Inventory Logs", DiagMenuIDs.LOGS_MENU);
422 {
423 //---------------------------------------------------------------
424 // LEVEL 3 - Script > Logs > InventoryLogs
425 //---------------------------------------------------------------
426 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_INVENTORY_MOVE, "", "Log Items move", DiagMenuIDs.LOGS_INVENTORY_MENU);
427 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_INVENTORY_RESERVATION, "", "Log Reservations", DiagMenuIDs.LOGS_INVENTORY_MENU);
428 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_INVENTORY_HFSM, "", "Log HandFSM", DiagMenuIDs.LOGS_INVENTORY_MENU);
429 }
430 DiagMenu.RegisterBool(DiagMenuIDs.LOGS_BLEEDING_CHANCES, "", "Bleeding Chances Logs", DiagMenuIDs.LOGS_MENU);
431 }
432
433 //---------------------------------------------------------------
434 // LEVEL 1 - Script
435 //---------------------------------------------------------------
436 DiagMenu.RegisterMenu(DiagMenuIDs.TRIGGER_MENU, "Triggers", DiagMenuIDs.SCRIPTS_MENU);
437 {
438 //---------------------------------------------------------------
439 // LEVEL 2 - Script > Triggers
440 //---------------------------------------------------------------
441 DiagMenu.RegisterBool(DiagMenuIDs.TRIGGER_DEBUG, "", "Show Triggers", DiagMenuIDs.TRIGGER_MENU);
442 DiagMenu.RegisterBool(DiagMenuIDs.TRIGGER_PLAYER_DEBUG, "", "Show Player Touch", DiagMenuIDs.TRIGGER_MENU);
443 #ifdef TRIGGER_DEBUG_BASIC
444 DiagMenu.SetValue(DiagMenuIDs.TRIGGER_DEBUG, true);
445 DiagMenu.SetValue(DiagMenuIDs.TRIGGER_PLAYER_DEBUG, true);
446 #endif
447 }
448
449 //---------------------------------------------------------------
450 // LEVEL 1 - Script
451 //---------------------------------------------------------------
452 DiagMenu.RegisterMenu(DiagMenuIDs.BASEBUILDING_MENU, "Base Building", DiagMenuIDs.SCRIPTS_MENU);
453 {
454 //---------------------------------------------------------------
455 // LEVEL 2 - Script > Base Building
456 //---------------------------------------------------------------
457 DiagMenu.RegisterBool(DiagMenuIDs.BASEBUILDING_WOOD, "", "Spawn uses wood/metal", DiagMenuIDs.BASEBUILDING_MENU);
458 DiagMenu.RegisterBool(DiagMenuIDs.BASEBUILDING_GATE, "", "Spawn Fence makes gate", DiagMenuIDs.BASEBUILDING_MENU);
459 }
460
461 //---------------------------------------------------------------
462 // LEVEL 1 - Script
463 //---------------------------------------------------------------
464 DiagMenu.RegisterMenu(DiagMenuIDs.UNDERGROUND_MENU, "Underground Areas", DiagMenuIDs.SCRIPTS_MENU);
465 {
466 //---------------------------------------------------------------
467 // LEVEL 2 - Script > Underground Areas
468 //---------------------------------------------------------------
469 DiagMenu.RegisterBool(DiagMenuIDs.UNDERGROUND_SHOW_BREADCRUMB, "", "Show Breadcrumbs", DiagMenuIDs.UNDERGROUND_MENU);
470 DiagMenu.RegisterBool(DiagMenuIDs.UNDERGROUND_DISABLE_DARKENING, "lctrl+f", "Disable Darkening", DiagMenuIDs.UNDERGROUND_MENU);
471 }
472
473 //---------------------------------------------------------------
474 // LEVEL 1 - Script
475 //---------------------------------------------------------------
476 DiagMenu.RegisterMenu(DiagMenuIDs.FINISHERS_MENU, "Finishers", DiagMenuIDs.SCRIPTS_MENU);
477 {
478 //---------------------------------------------------------------
479 // LEVEL 2 - Script > Finishers
480 //---------------------------------------------------------------
481 DiagMenu.RegisterItem(DiagMenuIDs.FINISHERS_FINISHER_FORCED, "", "Forced Finisher: ", DiagMenuIDs.FINISHERS_MENU, "None,Liver,Neck");
482 }
483
484 //---------------------------------------------------------------
485 // LEVEL 1 - Script
486 //---------------------------------------------------------------
487 DiagMenu.RegisterMenu(DiagMenuIDs.SOUNDS_MENU, "Script Sounds", DiagMenuIDs.SCRIPTS_MENU);
488 {
489 //---------------------------------------------------------------
490 // LEVEL 2 - Script > Script Sounds
491 //---------------------------------------------------------------
492 DiagMenu.RegisterBool(DiagMenuIDs.SOUNDS_ITEM_IMPACT_SOUNDS, "", "Item impact sounds", DiagMenuIDs.SOUNDS_MENU);
493 DiagMenu.RegisterBool(DiagMenuIDs.SOUNDS_DYNAMIC_MUSIC_PLAYER_STATS, "", "Dynamic Music Player stats", DiagMenuIDs.SOUNDS_MENU);
494 }
495
496 //---------------------------------------------------------------
497 // LEVEL 1 - Script
498 //---------------------------------------------------------------
499 DiagMenu.RegisterMenu(DiagMenuIDs.CAMERATOOLS_MENU, "Cinematic Camera Tools", DiagMenuIDs.SCRIPTS_MENU);
500 {
501 //---------------------------------------------------------------
502 // LEVEL 2 - Script > Cinematic Camera Tools
503 //---------------------------------------------------------------
504 DiagMenu.RegisterBool(DiagMenuIDs.CAMERATOOLS_ENABLE_REMOTE_CAMERA, "", "Show remote camera", DiagMenuIDs.CAMERATOOLS_MENU);
505 DiagMenu.RegisterBool(DiagMenuIDs.CAMERATOOLS_ENABLE_REMOTE_CAMERA_BROADCAST, "", "Broadcast camera", DiagMenuIDs.CAMERATOOLS_MENU);
506 }
507 //---------------------------------------------------------------
508 // LEVEL 1 - Script
509 //---------------------------------------------------------------
510 DiagMenu.RegisterMenu(DiagMenuIDs.FEATURE_TIME_ACCEL_MENU, "Time Accel", DiagMenuIDs.SCRIPTS_MENU);
511 {
512 //---------------------------------------------------------------
513 // LEVEL 2 - Script > Time Accel
514 //---------------------------------------------------------------
515 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL, "lalt+0", "Apply Time Accel", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
516 DiagMenu.RegisterRange(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE1, "", "Accel Factor Big", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU,"0,100,1,1");
517 DiagMenu.RegisterRange(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE2, "", "Accel Factor Small", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU,"0,0.95 ,0,0.05");
518 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_UG_ENTRANCES, "", "Underground Entrances", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
519 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_UG_RESERVOIR, "", "Underground Reservoir", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
520 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_ENERGY_CONSUME, "", "Energy Consumption", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
521 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_ENERGY_RECHARGE, "", "Energy Recharge", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
522 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_FOOD_DECAY, "", "Decay", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
523 DiagMenu.RegisterBool(DiagMenuIDs.FEATURE_TIME_ACCEL_DYNAMIC_MUSIC_PLAYER, "", "Dynamic Music Player", DiagMenuIDs.FEATURE_TIME_ACCEL_MENU);
524 }
525
526 //---------------------------------------------------------------
527 // LEVEL 1 - Script
528 //---------------------------------------------------------------
529 DiagMenu.RegisterMenu(DiagMenuIDs.MATERIALDIAG_MENU, "Materials Diag", DiagMenuIDs.SCRIPTS_MENU);
530 {
531 //---------------------------------------------------------------
532 // LEVEL 2 - Script > Material Diag
533 //---------------------------------------------------------------
534 DiagMenu.RegisterBool(DiagMenuIDs.MATERIALDIAG_GHOSTPP, "", "Ghost PP", DiagMenuIDs.MATERIALDIAG_MENU);
535 }
536 }
537 }
538
539 //---------------------------------------------
540 protected int GetModdedDiagID()
541 {
542 return ++m_ModdedDiagID;
543 }
544
545 //---------------------------------------------
546 protected int GetModdedRootMenu()
547 {
548 return DiagMenuIDs.MODDED_MENU;
549 }
550
551 //---------------------------------------------
552 protected void RegisterModdedDiagsIDs();
553
554 //---------------------------------------------
555 protected void RegisterModdedDiags()
556 {
557 DiagMenu.RegisterMenu(DiagMenuIDs.MODDED_MENU, "Script - Modded", -1);
558 }
559
560 //---------------------------------------------
561 void OnRPC(PlayerBase player, int rpc_type, ParamsReadContext ctx)
562 {
563 EntityAI parent;
564 Class.CastTo(parent, player.GetParent());
565
566 switch (rpc_type)
567 {
568 //---------------------------------------------------------------
569 // Misc, multipurpose
570 //---------------------------------------------------------------
571 case ERPCs.DIAG_ITEM_DEBUG_ACTIONS:
572 {
574 ItemBase.SetDebugActionsMask(CachedObjectsParams.PARAM1_INT.param1);
575 break;
576 }
577
578
579 //---------------------------------------------------------------
580 // LEVEL 2 - Script > Player States
581 //---------------------------------------------------------------
582 case ERPCs.DIAG_PLAYER_SYMPTOMS_DEBUG_ON:
583 case ERPCs.DIAG_PLAYER_SYMPTOMS_DEBUG_OFF:
584 case ERPCs.DIAG_PLAYER_SYMPTOMS_DEBUG:
585 {
586 if (player.GetSymptomManager())
587 {
588 player.GetSymptomManager().OnRPCDebug(rpc_type, ctx);
589 }
590 break;
591 }
592
593
594
595 //---------------------------------------------------------------
596 // LEVEL 2 - Script > Crafting
597 //---------------------------------------------------------------
598 case ERPCs.DIAG_CRAFTING_INSTANT:
599 {
601 {
602 PluginRecipesManager pluginRecipesManager = PluginRecipesManager.Cast(GetPlugin(PluginRecipesManager));
603 pluginRecipesManager.SetEnableDebugCrafting(CachedObjectsParams.PARAM1_INT.param1);
604 }
605 break;
606 }
607
608
609 //---------------------------------------------------------------
610 // LEVEL 2 - Script > Cheats
611 //---------------------------------------------------------------
612 case ERPCs.DIAG_CHEATS_MODIFIERS:
613 {
615 player.SetModifiers(CachedObjectsParams.PARAM1_INT.param1);
616 break;
617 }
618
619 //---------------------------------------------------------------
620 case ERPCs.DIAG_CHEATS_KILL_PLAYER:
621 {
622 player.SetHealth("","", -1);
623 break;
624 }
625
626 //---------------------------------------------------------------
627 case ERPCs.DIAG_CHEATS_INVINCIBILITY:
628 {
630 {
631 switch (CachedObjectsParams.PARAM1_INT.param1)
632 {
633 case 0:
634 {
635 if (parent)
636 {
637 parent.SetAllowDamage(true);
638 parent.SetCanBeDestroyed(true);
639 }
640
641 player.SetAllowDamage(true);
642 player.SetCanBeDestroyed(true);
643 break;
644 }
645 case 1:
646 {
647 if (parent)
648 {
649 parent.SetAllowDamage(true);
650 parent.SetCanBeDestroyed(false);
651 }
652
653 player.SetAllowDamage(true);
654 player.SetCanBeDestroyed(false);
655 break;
656 }
657 case 2:
658 {
659 if (parent)
660 {
661 parent.SetAllowDamage(false);
662 }
663
664 player.SetAllowDamage(false);
665 break;
666 }
667 }
668 break;
669 }
670 }
671
672 //---------------------------------------------------------------
673 case ERPCs.DIAG_CHEATS_DISABLE_STAMINA:
674 {
676 player.SetStaminaDisabled(CachedObjectsParams.PARAM1_BOOL.param1);
677 break;
678 }
679
680 //---------------------------------------------------------------
681 case ERPCs.DIAG_CHEATS_RESET_PLAYER:
682 {
683 player.ResetPlayer(false);
684 break;
685 }
686
687 //---------------------------------------------------------------
688 case ERPCs.DIAG_CHEATS_RESET_PLAYER_MAX:
689 {
690 player.ResetPlayer(true);
691 break;
692 }
693
694 //---------------------------------------------------------------
695 case ERPCs.DIAG_CHEATS_INVENTORY_ACCESS:
696 {
698 player.DEBUG_INVENTORY_ACCESS = CachedObjectsParams.PARAM1_INT.param1;
699 break;
700 }
701
702 //---------------------------------------------------------------
703 case ERPCs.DIAG_CHEATS_ITEMS_FIX:
704 {
705 player.FixAllInventoryItems();
706 break;
707 }
708 //---------------------------------------------------------------
709 //---------------------------DAMAGE DEBUG------------------------
710 // 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
711 case ERPCs.DIAG_CHEATS_CREATE_HIT:
712 {
713 player.ProcessDirectDamage(DamageType.CUSTOM, player, "", "Dummy_Heavy", "0 0 0");
714 break;
715 }
716
717 case ERPCs.DIAG_CHEATS_CREATE_HIT_LIGHT:
718 {
719 player.ProcessDirectDamage(DamageType.CUSTOM, player, "", "MeleeFist", "0 0 0");
720 break;
721 }
722
723 //---------------------------------------------------------------
724 // LEVEL 2 - Script > Soft Skills
725 //---------------------------------------------------------------
726 case ERPCs.DIAG_SOFT_SKILLS_SHOW_DEBUG:
727 {
729 {
731 {
732 player.GetSoftSkillsManager().StartSynchTimer();
733 }
734 else
735 {
736 player.GetSoftSkillsManager().StopSynchTimer();
737 player.GetSoftSkillsManager().ResetDebugWindow();
738 }
739 }
740 break;
741 }
742
743 //---------------------------------------------------------------
744 case ERPCs.DIAG_SOFT_SKILLS_TOGGLE_STATE:
745 {
747 player.GetSoftSkillsManager().SetSoftSkillsState(CachedObjectsParams.PARAM1_BOOL.param1);
748 break;
749 }
750
751 //---------------------------------------------------------------
752 case ERPCs.DIAG_SOFT_SKILLS_TOGGLE_MODEL:
753 {
755 player.GetSoftSkillsManager().SetLinearState(CachedObjectsParams.PARAM1_BOOL.param1) ;
756 break;
757 }
758
759 //---------------------------------------------------------------
760 case ERPCs.DIAG_SOFT_SKILLS_SPECIALTY_VALUE:
761 {
763 {
764 SoftSkillsManager softSkillsMngr = player.GetSoftSkillsManager();
766 softSkillsMngr.SynchSpecialtyLevel();
767 player.GetStatSpecialty().Set(CachedObjectsParams.PARAM1_FLOAT.param1);
768 }
769 break;
770 }
771
772 //---------------------------------------------------------------
773 // LEVEL 2 - Script > Lifespan
774 //---------------------------------------------------------------
775 case ERPCs.DIAG_LIFESPAN_BLOODY_HANDS:
776 {
778 {
780 pluginLifespan.UpdateBloodyHandsVisibility(player, CachedObjectsParams.PARAM1_BOOL.param1);
781 player.SetBloodyHandsPenaltyChancePerAgent(eAgents.SALMONELLA, 0.75);
782 }
783 else
784 player.ClearBloodyHandsPenaltyChancePerAgent(eAgents.SALMONELLA);
785
786 break;
787 }
788
789 //---------------------------------------------------------------
790 case ERPCs.DIAG_LIFESPAN_PLAYTIME_UPDATE:
791 {
793 {
794 //reset playtime
795 player.StatUpdate(AnalyticsManagerServer.STAT_PLAYTIME, player.StatGet(AnalyticsManagerServer.STAT_PLAYTIME) * -1);
796 //set new playtime
798 player.SetLastShavedSeconds(0);
799 //update lifespan
800 PluginLifespan pluginLifespann = PluginLifespan.Cast(GetPlugin(PluginLifespan));
801 pluginLifespann.ChangeFakePlaytime( player, CachedObjectsParams.PARAM1_FLOAT.param1 );
802 pluginLifespann.UpdateLifespan(player, true);
803 }
804 break;
805 }
806
807
808 //---------------------------------------------------------------
809 // LEVEL 2 - Script > Misc
810 //---------------------------------------------------------------
811 case ERPCs.DIAG_MISC_LOG_PLAYER_STATS:
812 {
814 player.GetPlayerStats().SetAllowLogs(CachedObjectsParams.PARAM1_BOOL.param1);
815 break;
816 }
817
818 //---------------------------------------------------------------
819
820 //---------------------------------------------------------------
821 // LEVEL 2 - Script > Misc -> Environment
822 //---------------------------------------------------------------
823 case ERPCs.DIAG_MISC_ENVIRONMENT_DEBUG:
824 {
826 {
827 if (player.m_Environment)
828 player.m_Environment.m_Debug = CachedObjectsParams.PARAM1_BOOL.param1;
829 }
830 break;
831 }
832
833 #ifdef ENABLE_LOGGING
834 case ERPCs.DIAG_MISC_ENVIRONMENT_LOGGING_DRYWET:
835 {
837 {
838 if (player.m_Environment)
839 player.m_Environment.m_DebugLogDryWet = CachedObjectsParams.PARAM1_BOOL.param1;
840 }
841 break;
842 }
843
844 case ERPCs.DIAG_MISC_ENVIRONMENT_LOGGING_ITEMHEAT:
845 {
847 {
848 if (player.m_Environment)
849 player.m_Environment.m_DebugLogItemHeat = CachedObjectsParams.PARAM1_BOOL.param1;
850 }
851 break;
852 }
853 #endif
854
855 //---------------------------------------------------------------
856 // LEVEL 2 - Script > Misc
857 //---------------------------------------------------------------
858 case ERPCs.DIAG_MISC_FALLDAMAGE_DEBUG:
859 {
861 {
862 if (player.GetFallDamage())
863 player.GetFallDamage().m_Debug = CachedObjectsParams.PARAM1_BOOL.param1;
864 }
865 break;
866 }
867
868 //---------------------------------------------------------------
869 case ERPCs.DIAG_MISC_GO_UNCONSCIOUS:
870 {
871 GoUnconscious(player);
872 break;
873 }
874
875 //---------------------------------------------------------------
876 case ERPCs.DIAG_MISC_GO_UNCONSCIOUS_DELAYED:
877 {
878 GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GoUnconscious, 10000, false, player);
879 break;
880 }
881
882 //---------------------------------------------------------------
883 case ERPCs.DIAG_MISC_QUICK_RESTRAIN:
884 {
886 player.SetQuickRestrain(CachedObjectsParams.PARAM1_BOOL.param1);
887 break;
888 }
889
890 //---------------------------------------------------------------
891 // LEVEL 3 - Script > Misc > Hair Hiding
892 //---------------------------------------------------------------
893 case ERPCs.DIAG_MISC_HAIR_LEVEL_HIDE:
894 {
896 {
897 player.SetHairLevelToHide(CachedObjectsParams.PARAM2_INT_INT.param1, CachedObjectsParams.PARAM2_INT_INT.param2, true);
898 player.UpdateHairSelectionVisibility(true);
899 }
900 break;
901 }
902
903 //---------------------------------------------------------------
904 // LEVEL 2 - Script > Misc
905 //---------------------------------------------------------------
906 case ERPCs.DIAG_MISC_QUICK_FISHING:
907 {
909 player.SetQuickFishing(CachedObjectsParams.PARAM1_BOOL.param1);
910 break;
911 }
912
913 //---------------------------------------------------------------
914 case ERPCs.DIAG_MISC_TARGETABLE_BY_AI:
915 {
917 player.m_CanBeTargetedDebug = CachedObjectsParams.PARAM1_BOOL.param1;
918 break;
919 }
920
921 //---------------------------------------------------------------
922 case ERPCs.DIAG_MISC_DEBUG_MONITOR:
923 {
926 break;
927 }
928
929 //---------------------------------------------------------------
930 // LEVEL 2 - Script > Simulate script
931 //---------------------------------------------------------------
932 case ERPCs.DIAG_SIMULATE_INFINITE_LOOP:
933 {
934 while ( true )
935 {
936 Print("simulating infinite loop");
937 }
938 break;
939 }
940
941 //---------------------------------------------------------------
942 case ERPCs.DIAG_SIMULATE_NULL_POINTER:
943 {
944 PlayerBase NULL_player = null;
945 NULL_player.SetHealth("","", -1);
946 break;
947 }
948
949 //---------------------------------------------------------------
950 case ERPCs.DIAG_SIMULATE_DIVISION_BY_ZERO:
951 {
952 int zero = 0;
953 int division_by_zero = 1/zero;
954 break;
955 }
956
957 //---------------------------------------------------------------
958 case ERPCs.DIAG_SIMULATE_ERROR_FUNCTION:
959 {
960 ErrorEx("Simulated error");
961 break;
962 }
963
964
965 //---------------------------------------------------------------
966 // LEVEL 2 - Script > Weapon
967 //---------------------------------------------------------------
968 case ERPCs.DIAG_WEAPON_PARTICLES:
969 {
972 break;
973 }
974
975 //---------------------------------------------------------------
976 case ERPCs.DIAG_WEAPON_RECOIL:
977 {
979 player.GetAimingModel().SetProceduralRecoilEnabled(CachedObjectsParams.PARAM1_BOOL.param1);
980 break;
981 }
982
983 //---------------------------------------------------------------
984 case ERPCs.DIAG_WEAPON_BURST_VERSION:
985 {
987 player.GetWeaponManager().SetBurstOption(CachedObjectsParams.PARAM1_INT.param1);
988 break;
989 }
990
991
992 //---------------------------------------------------------------
993 // LEVEL 2 - Script > Bleeding
994 //---------------------------------------------------------------
995 case ERPCs.DIAG_BLEEDING_DISABLE_BLOOD_LOSS:
996 {
998 player.GetBleedingManagerServer().SetBloodLoss(CachedObjectsParams.PARAM1_BOOL.param1);
999 break;
1000 }
1001
1002 //---------------------------------------------------------------
1003 case ERPCs.DIAG_BLEEDING_ACTIVATE_SOURCE:
1004 {
1006 player.GetBleedingManagerServer().DebugActivateBleedingSource(CachedObjectsParams.PARAM1_INT.param1);
1007 break;
1008 }
1009
1010 //---------------------------------------------------------------
1011 case ERPCs.DIAG_BLEEDING_ACTIVATE_ALL_SOURCES:
1012 {
1013 player.GetBleedingManagerServer().ActivateAllBS();
1014 break;
1015 }
1016
1017
1018 //---------------------------------------------------------------
1019 // LEVEL 2 - Script > Logs
1020 //---------------------------------------------------------------
1021 case ERPCs.DIAG_LOGS_ACTIONS:
1022 {
1025 break;
1026 }
1027
1028 //---------------------------------------------------------------
1029 case ERPCs.DIAG_LOGS_WEAPONS:
1030 {
1033 break;
1034 }
1035
1036 //---------------------------------------------------------------
1037 case ERPCs.DIAG_LOGS_SYNC:
1038 {
1041 break;
1042 }
1043
1044 //---------------------------------------------------------------
1045 case ERPCs.DIAG_LOGS_BASEBUILDING:
1046 {
1049 break;
1050 }
1051
1052 //---------------------------------------------------------------
1053 case ERPCs.DIAG_LOGS_SYMPTOMS:
1054 {
1057 break;
1058 }
1059
1060 //---------------------------------------------------------------
1061 case ERPCs.DIAG_LOGS_INVENTORY_MOVE:
1062 {
1065 break;
1066 }
1067
1068 //---------------------------------------------------------------
1069 case ERPCs.DIAG_LOGS_INVENTORY_RESERVATION:
1070 {
1073 break;
1074 }
1075
1076 //---------------------------------------------------------------
1077 case ERPCs.DIAG_LOGS_INVENTORY_HFSM:
1078 {
1081 break;
1082 }
1083
1084 //---------------------------------------------------------------
1085 case ERPCs.DIAG_LOGS_QUICKBAR:
1086 {
1089 break;
1090 }
1091
1092 //---------------------------------------------------------------
1093 case ERPCs.DIAG_LOGS_BLEEDING_CHANCES:
1094 {
1097 break;
1098 }
1099
1100 //---------------------------------------------------------------
1101 // LEVEL 2 - Script > Base Building
1102 //---------------------------------------------------------------
1103 case ERPCs.DIAG_BASEBUILDING_WOOD:
1104 {
1106 DiagMenu.SetValue(DiagMenuIDs.BASEBUILDING_WOOD, CachedObjectsParams.PARAM1_BOOL.param1);
1107 break;
1108 }
1109
1110 //---------------------------------------------------------------
1111 case ERPCs.DIAG_BASEBUILDING_GATE:
1112 {
1114 DiagMenu.SetValue(DiagMenuIDs.BASEBUILDING_GATE, CachedObjectsParams.PARAM1_BOOL.param1);
1115 break;
1116 }
1117
1118
1119 //---------------------------------------------------------------
1120 // LEVEL 2 - Script > Finishers
1121 //---------------------------------------------------------------
1122 case ERPCs.DIAG_FINISHERS_FORCE_FINISHER:
1123 {
1125 player.GetMeleeCombat().DebugSetForcedFinisherType(CachedObjectsParams.PARAM1_INT.param1);
1126 break;
1127 }
1128
1129
1130 //---------------------------------------------------------------
1131 // LEVEL 2 - Script > Cinematic Camera Tools
1132 //---------------------------------------------------------------
1133 case ERPCs.DIAG_CAMERATOOLS_CAM_DATA:
1134 {
1135 if (!player.m_CameraToolsMenuClient)
1136 {
1137 player.m_CameraToolsMenuClient = new CameraToolsMenuClient();
1138 }
1139
1140 player.m_CameraToolsMenuClient.OnRPC(ctx);
1141 break;
1142 }
1143
1144
1145 //---------------------------------------------------------------
1146 // LEVEL 2 - Script > Time Accel
1147 //---------------------------------------------------------------
1148 case ERPCs.DIAG_TIMEACCEL:
1149 {
1150 TimeAccelParam tap = new TimeAccelParam(false, 0, 0);
1151
1152 if (ctx.Read(tap))
1153 {
1154 FeatureTimeAccel.m_CurrentTimeAccel = tap;
1155 //Print("received from " + player);
1156 array<Man> players = new array<Man>();
1157 GetGame().GetPlayers(players);
1158 foreach (Man p : players)
1159 {
1160 if (p != player)// send to everyone except the one we receieved from
1161 {
1162 //Print("sending to " + p);
1163 GetGame().RPCSingleParam( p, ERPCs.DIAG_TIMEACCEL_CLIENT_SYNC, tap, true, p.GetIdentity());
1164 }
1165 }
1166
1167 /*
1168 Print(" -------- TimeAccelParam -------");
1169 Print(tap.param1);
1170 Print(tap.param2);
1171 Print(tap.param3);
1172 Print(" -------------------------------");
1173 Print(FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.UNDERGROUND_ENTRANCE));
1174 Print(FeatureTimeAccel.GetFeatureTimeAccelValue());
1175 Print(" ===============================");
1176 */
1177 }
1178 break;
1179 }
1180
1181 //---------------------------------------------------------------
1182 case ERPCs.DIAG_TIMEACCEL_CLIENT_SYNC:
1183 {
1184 TimeAccelParam tap2 = new TimeAccelParam(false, 0, 0);
1185
1186 if (ctx.Read(tap2))
1187 {
1188 int bigFactor = tap2.param2;
1189 float smallFactor = tap2.param2 - bigFactor;
1190 SetTimeAccelMenuState(tap2.param1, bigFactor, smallFactor, tap2.param3);
1191 FeatureTimeAccel.m_CurrentTimeAccel = tap2;
1192 }
1193 break;
1194 }
1195
1196 //---------------------------------------------------------------
1197 // LEVEL 2 - Script > Vehicles
1198 //---------------------------------------------------------------
1199 case ERPCs.DIAG_VEHICLE_DEBUG_OUTPUT:
1200 {
1202 CarScript.DEBUG_OUTPUT_TYPE = CachedObjectsParams.PARAM1_INT.param1;
1203 break;
1204 }
1205 //---------------------------------------------------------------
1206 case ERPCs.DIAG_VEHICLES_DUMP_CRASH_DATA_REQUEST:
1207 {
1209 CrashDebugData.SendData(player);
1210 break;
1211 }
1212 }
1213 }
1214
1215 //---------------------------------------------
1216 void GoUnconscious(PlayerBase player)
1217 {
1218 if (player.IsUnconscious())
1219 {
1220 player.SetHealth("", "Shock", 100);
1221 }
1222 else
1223 {
1224 player.m_UnconsciousEndTime = -60;
1225 player.SetHealth("", "Shock", 0);
1226 }
1227 }
1228
1229 //---------------------------------------------
1230 void InitTimeAccel()
1231 {
1232 FeatureTimeAccel.m_CurrentTimeAccel = GetTimeAccelMenuState();
1233
1234 string value;
1235
1236 if ( GetGame().CommandlineGetParam("timeAccel", value))
1237 {
1238 TStringArray params = new TStringArray();
1239
1240 value.Replace(" ","");
1241 value.Split(",", params);
1242
1243 bool enable = params[0].ToInt();
1244 int timeAccelBig = params[1].ToInt();
1245 float timeAccelSmall = params[2].ToFloat();
1246 int bitMask = params[3].ToInt();
1247
1248 SetTimeAccelMenuState(enable, timeAccelBig, timeAccelSmall, bitMask);
1249 }
1250 }
1251
1252 TimeAccelParam GetTimeAccelMenuState()
1253 {
1254 bool enable = DiagMenu.GetBool(DiagMenuIDs.FEATURE_TIME_ACCEL);
1255 float timeAccelBig = DiagMenu.GetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE1);
1256 float timeAccelSmall = DiagMenu.GetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE2);
1257 float timeAccel = timeAccelBig + timeAccelSmall;
1258 int bitMask = FeatureTimeAccel.GetTimeAccelBitmask();
1259
1260 TimeAccelParam param = new TimeAccelParam(enable, timeAccel, bitMask);
1261 return param;
1262 }
1263
1264 void SetTimeAccelMenuState(bool enable, int bigFactor, float smallFactor, int bitmask)
1265 {
1266 DiagMenu.SetValue(DiagMenuIDs.FEATURE_TIME_ACCEL, enable);
1267 DiagMenu.SetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE1, bigFactor);
1268 DiagMenu.SetRangeValue(DiagMenuIDs.FEATURE_TIME_ACCEL_VALUE2, smallFactor);
1269
1270 for (int i = 0; i < EnumTools.GetEnumSize(ETimeAccelCategories); ++i)
1271 {
1272 int bit = 1 << i;
1273 bool on = (bit & bitmask);
1274 DiagMenu.SetValue(FeatureTimeAccel.GetDiagIDByCategory(bit), on);
1275 }
1276 }
1277#endif
1278}
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)
Определения Global/game.c:1137
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:241
static int GetEnumSize(typename e)
Return amount of values in enum.
Определения EnConvert.c:623
Определения EnConvert.c:590
static void InventoryHFSMLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:673
static void InventoryReservationLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:663
static void SymptomLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:713
static void SyncLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:683
static void BleedingChancesLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:738
static void WeaponLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:723
static void QuickbarLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:693
static void ActionLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:643
static void InventoryMoveLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:653
static void BaseBuildingLogEnable(bool enable)
Определения 3_Game/tools/Debug.c:703
Определения 3_Game/tools/Debug.c:594
Определения PPEConstants.c:68
Определения 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:709
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
Определения 3_Game/tools/tools.c:8