DayZ 1.24
Loading...
Searching...
No Matches
PluginConfigDebugProfile.c
Go to the documentation of this file.
1typedef Param3<string, bool, vector> LocationParams;// param1 - name, param2 - isCustom?, param3 - position
3{
4 protected const string SCENE_DRAW_SELECTION = "scene_editor_draw_selection";
5 protected const string SCENE_LOAD_PLAYER_POS = "scene_editor_load_player_pos";
6 protected const string SCENE_ROTATION_ANGLE = "scene_editor_rotation_angle";
7 protected const string ITEM_TAB_SELECTED = "console_TabSelected";
8 protected const string PRESET_LIST = "console_presets";
9 protected const string PRESET_DEFAULT = "console_preset_default";
10 protected const string ITEM_SEARCH = "console_ItemSearch";
11 protected const string SPAWN_DISTANCE = "console_SpawnDistance";
12 protected const string CHAR_STATS_VIS = "console_character_stats_visible";
13 protected const string CHAR_LEVELS_VIS = "console_character_levels_visible";
14 protected const string CHAR_MODIFIERS_VIS = "console_character_modifiers_visible";
15 protected const string CHAR_AGENTS_VIS = "console_character_agents_visible";
16 protected const string CHAR_DEBUG_VIS = "console_character_debug_visible";
17 protected const string CHAR_STOMACH_VIS = "console_character_stomach_visible";
18 protected const string FREE_CAMERA_CROSSHAIR = "console_free_camera_crosshair_visible";
19 protected const string VERSION_VIS = "console_version_visible";
20 protected const string MERGE_TYPE = "category_merge_type";
21 protected const string TEMP_VIS = "console_temperature_visible";
22 protected const string SUB_PARAM_ITEM = "item";
23 protected const string SUB_PARAM_ITEM_NAME = "name";
24 protected const string SUB_PARAM_ITEM_HEALTH = "health";
25 protected const string SUB_PARAM_ITEM_QUANTITY = "quantity";
26 protected const string SUB_PARAM_ITEM_WITH_PHYSICS = "with_physics";
27 protected const string LOGS_ENABLED = "logs_enabled";
28 protected const string CONFIG_CLASSES_FLAG = "toggled_config_classes_flag";
29 protected const string ITEM_CATEGORY_FLAG = "toggled_item_categories_flag";
30 protected const string ITEM_PREVIEW = "show_item_preview";
31 protected const string BATCH_RECT = "batch_spawn_rect";
32 protected const string BATCH_QUANT = "batch_spawn_quantity";
33 protected const string SOUNDFILTER = "soundset_editbox";
34 protected const string ITEMDEBUG = "item_debug";
35 protected const string SPAWN_LOC_INDEX = "spawn_loc_index";
36 protected const string FILTER_REVERSED = "filter_order_reversed";
37
40 protected const string POSITION_NAME_ROOT = "console_positions_";
41
42 //========================================
43 // GetInstance
44 //========================================
49
50 //========================================
51 // GetCfgParamArray
52 //========================================
54 {
55 CfgParamArray param = new CfgParamArray("");
56 param.SetParams(params);
57 return param;
58 }
59
60 //========================================
61 // GetCfgParamBool
62 //========================================
63 protected CfgParamBool GetNewCfgParamBool(bool value)
64 {
65 CfgParamBool param = new CfgParamBool("");
66 param.SetValue(value);
67 return param;
68 }
69
70 //========================================
71 // GetCfgParamFloat
72 //========================================
73 protected CfgParamFloat GetNewCfgParamFloat(float value)
74 {
75 CfgParamFloat param = new CfgParamFloat("");
76 param.SetValue(value);
77 return param;
78 }
79
80 //========================================
81 // GetCfgParamInt
82 //========================================
83 protected CfgParamInt GetNewCfgParamInt(int value)
84 {
85 CfgParamInt param = new CfgParamInt("");
86 param.SetValue(value);
87 return param;
88 }
89
90 //========================================
91 // GetCfgParamString
92 //========================================
93 protected CfgParamString GetNewCfgParamString(string value)
94 {
95 CfgParamString param = new CfgParamString("");
96 param.SetValue(value);
97 return param;
98 }
99
100 //========================================
101 // Array
102 //========================================
103 protected CfgParamArray SetArray(string key, array<ref CfgParam> params)
104 {
105 CfgParamArray param = CfgParamArray.Cast(GetParamByName(key, CFG_TYPE_ARRAY));
106 param.SetParams(params);
107 SaveConfigToFile();
108 return param;
109 }
110
112 {
113 if (ParamExist(key))
114 {
115 CfgParamArray param = CfgParamArray.Cast(GetParamByName(key, CFG_TYPE_ARRAY));
116 return param.GetValues();
117 }
118 else
119 {
120 if (m_DefaultValues.Contains(key))
121 {
122 CfgParamArray default_param = CfgParamArray.Cast(m_DefaultValues.Get(key));
123 return SetArray(key, default_param.GetValues()).GetValues();
124 }
125 else
126 return SetArray(key, new array<ref CfgParam>).GetValues();
127 }
128 }
129
130 //========================================
131 // Bool
132 //========================================
133 protected CfgParamBool SetBool(string key, bool value)
134 {
135 CfgParamBool param = CfgParamBool.Cast(GetParamByName(key, CFG_TYPE_BOOL));
136 param.SetValue(value);
137 SaveConfigToFile();
138 return param;
139 }
140
141 protected bool GetBool(string key)
142 {
143 if (ParamExist(key))
144 {
145 CfgParamBool param = CfgParamBool.Cast(GetParamByName(key, CFG_TYPE_BOOL));
146 return param.GetValue();
147 }
148 else
149 {
150 if (m_DefaultValues.Contains(key))
151 {
152 CfgParamBool default_param = CfgParamBool.Cast(m_DefaultValues.Get(key));
153 return SetBool(key, default_param.GetValue()).GetValue();
154 }
155 else
156 return SetBool(key, false).GetValue();
157 }
158 }
159
160 //========================================
161 // Float
162 //========================================
163 protected CfgParamFloat SetFloat(string key, float value)
164 {
165 CfgParamFloat param = CfgParamFloat.Cast(GetParamByName(key, CFG_TYPE_FLOAT));
166 param.SetValue(value);
167 SaveConfigToFile();
168 return param;
169 }
170
171 protected float GetFloat(string key)
172 {
173 if (ParamExist(key))
174 {
175 CfgParamFloat param = CfgParamFloat.Cast(GetParamByName(key, CFG_TYPE_FLOAT));
176 return param.GetValue();
177 }
178 else
179 {
180 if (m_DefaultValues.Contains(key))
181 {
182 CfgParamFloat default_param = CfgParamFloat.Cast(m_DefaultValues.Get(key));
183 return SetFloat(key, default_param.GetValue()).GetValue();
184 }
185 else
186 return SetFloat(key, 0.0).GetValue();
187 }
188 }
189
190 //========================================
191 // Int
192 //========================================
193 protected CfgParamInt SetInt(string key, int value)
194 {
195 CfgParamInt param = CfgParamInt.Cast(GetParamByName(key, CFG_TYPE_INT));
196 param.SetValue(value);
197 SaveConfigToFile();
198 return param;
199 }
200
201 protected int GetInt(string key)
202 {
203 if (ParamExist(key))
204 {
205 CfgParamInt param = CfgParamInt.Cast(GetParamByName(key, CFG_TYPE_INT));
206 return param.GetValue();
207 }
208 else
209 {
210 if (m_DefaultValues.Contains(key))
211 {
212 CfgParamInt default_param = CfgParamInt.Cast(m_DefaultValues.Get(key));
213 return SetInt(key, default_param.GetValue()).GetValue();
214 }
215 else
216 return SetInt(key, 0).GetValue();
217 }
218 }
219
220 //========================================
221 // String
222 //========================================
223 protected CfgParamString SetString(string key, string value)
224 {
225 CfgParamString param = CfgParamString.Cast(GetParamByName(key, CFG_TYPE_STRING));
226 if (param)
227 {
228 param.SetValue(value);
229 SaveConfigToFile();
230 }
231 return param;
232 }
233
234 protected string GetString(string key)
235 {
236 CfgParamString param = CfgParamString.Cast(GetParamByName(key, CFG_TYPE_STRING));
237
238 if (param && param.GetValue() != STRING_EMPTY)
239 return param.GetValue();
240 else
241 {
242 if (m_DefaultValues.Contains(key))
243 {
244 CfgParamString default_param = CfgParamString.Cast(m_DefaultValues.Get(key));
245 CfgParamString param_string = SetString(key, default_param.GetValue());
246 if (param_string)
247 return param_string.GetValue();
248 }
249 else
250 return SetString(key, "").GetValue();
251 }
252 return "";
253 }
254
256 {
258 for (int i = 0; i < items.Count(); i++)
259 {
260 CfgParamArray items_array = CfgParamArray.Cast(items.Get(i));
262
263 for (int j = 0; j < item_params.Count(); j++)
264 {
265 if (item_params.Get(j).GetName() == sub_param_name)
266 {
267 CfgParamString param_string = CfgParamString.Cast(item_params.Get(j));
268 arr.Insert(param_string.GetValue());
269 }
270 }
271 }
272 }
273
274 //========================================
275 // PluginConfigDebugProfile
276 //========================================
278 {
279 m_DefaultValues = new map<string, ref CfgParam>;
280 m_DefaultValues.Insert(SCENE_DRAW_SELECTION, GetNewCfgParamBool(true));
281 m_DefaultValues.Insert(SCENE_LOAD_PLAYER_POS, GetNewCfgParamBool(true));
282 m_DefaultValues.Insert(SCENE_ROTATION_ANGLE, GetNewCfgParamInt(15));
283 m_DefaultValues.Insert(ITEM_TAB_SELECTED, GetNewCfgParamInt(0));
284 m_DefaultValues.Insert(PRESET_DEFAULT, GetNewCfgParamString(""));
285 m_DefaultValues.Insert(ITEM_SEARCH, GetNewCfgParamString(""));
286 m_DefaultValues.Insert(SPAWN_DISTANCE, GetNewCfgParamFloat(0.0));
287 m_DefaultValues.Insert(LOGS_ENABLED, GetNewCfgParamBool(true));
288 m_DefaultValues.Insert(CHAR_STATS_VIS, GetNewCfgParamBool(false));
289 m_DefaultValues.Insert(CHAR_LEVELS_VIS, GetNewCfgParamBool(false));
290 m_DefaultValues.Insert(CHAR_MODIFIERS_VIS, GetNewCfgParamBool(false));
291 m_DefaultValues.Insert(CHAR_AGENTS_VIS, GetNewCfgParamBool(false));
292 m_DefaultValues.Insert(CHAR_DEBUG_VIS, GetNewCfgParamBool(false));
293 m_DefaultValues.Insert(FREE_CAMERA_CROSSHAIR, GetNewCfgParamBool(true));
294 m_DefaultValues.Insert(VERSION_VIS, GetNewCfgParamBool(true));
295 m_DefaultValues.Insert(CONFIG_CLASSES_FLAG, GetNewCfgParamInt(15));
296 m_DefaultValues.Insert(TEMP_VIS, GetNewCfgParamBool(false));
297 m_DefaultValues.Insert(MERGE_TYPE, GetNewCfgParamBool(false));
298 m_DefaultValues.Insert(ITEM_PREVIEW, GetNewCfgParamBool(true));
299 m_DefaultValues.Insert(BATCH_RECT, GetNewCfgParamArray(GetDefaultBatchRectParams()));
300 m_DefaultValues.Insert(BATCH_QUANT, GetNewCfgParamInt(10));
301 m_DefaultValues.Insert(SOUNDFILTER, GetNewCfgParamString(""));
302 m_DefaultValues.Insert(ITEMDEBUG, GetNewCfgParamString("0 0 0"));
303 m_DefaultValues.Insert(SPAWN_LOC_INDEX, GetNewCfgParamInt(0));
304 m_DefaultValues.Insert(FILTER_REVERSED, GetNewCfgParamBool(false));
305 }
306
308 {
310 CfgParamInt param1 = new CfgParamInt("");
311 param1.SetValue(5);
312 CfgParamInt param2 = new CfgParamInt("");
313 param2.SetValue(5);
314 CfgParamFloat param3 = new CfgParamFloat("");
315 param3.SetValue(1.0);
316 CfgParamFloat param4 = new CfgParamFloat("");
317 param4.SetValue(1.0);
318
319 params.Insert(param1);
320 params.Insert(param2);
321 params.Insert(param3);
322 params.Insert(param4);
323
324 return params;
325 }
326
327 //========================================
328 // OnInit
329 //========================================
330 override void OnInit()
331 {
332 super.OnInit();
333
334 array<ref CfgParam> params = GetArray(PRESET_LIST);
335
336 m_PresetList = new TStringArray;
337 for (int i = 0; i < params.Count(); i++)
338 {
339 CfgParamString param = CfgParamString.Cast(params.Get(i));
340 m_PresetList.Insert(param.GetValue());
341 }
342 }
343
344 //========================================
345 // GetFileName
346 //========================================
347 override string GetFileName()
348 {
349 if (!FileExist(GetSubFolderName()))//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23
350 return "$profile:debugProfile.cfg";//---ALL LINES CONTAINING THIS COMMENT CAN BE REMOVED IN 1.23
351
353 }
354
355 override string GetSubFolderName()
356 {
357 return CFG_FILE_DEBUG_DIR;
358 }
359
360 //========================================
361 // SceneEditorDrawSelection
362 //========================================
364 {
365 return GetBool(SCENE_DRAW_SELECTION);
366 }
367
369 {
370 SetBool(SCENE_DRAW_SELECTION, value);
371 }
372
373 //========================================
374 // SceneEditorSavePlayerPos
375 //========================================
377 {
378 return GetBool(SCENE_LOAD_PLAYER_POS);
379 }
380
382 {
383 SetBool(SCENE_LOAD_PLAYER_POS, value);
384 }
385
386 //========================================
387 // SceneEditorRotationAngle
388 //========================================
390 {
391 return GetInt(SCENE_ROTATION_ANGLE);
392 }
393
395 {
396 SetInt(SCENE_ROTATION_ANGLE, value);
397 }
398
399 //========================================
400 // TabSelected
401 //========================================
403 {
404 return GetInt(ITEM_TAB_SELECTED);
405 }
406
408 {
409 SetInt(ITEM_TAB_SELECTED, value);
410 }
411
412 //========================================
413 // SpawnLocIndex
414 //========================================
416 {
417 return GetInt(SPAWN_LOC_INDEX);
418 }
419
421 {
422 SetInt(SPAWN_LOC_INDEX, value);
423 }
424
425 //========================================
426 // FilterOrder
427 //========================================
429 {
430 return GetBool(FILTER_REVERSED);
431 }
432
434 {
435 SetBool(FILTER_REVERSED, reversed);
436 }
437
438 //========================================
439 // DefaultPreset
440 //========================================
442 {
443 return GetString(PRESET_DEFAULT);
444 }
445
447 {
448 SetString(PRESET_DEFAULT, value);
449 }
450
451 //========================================
452 // Batch Spawn Params
453 //========================================
455 {
456 return GetArray(BATCH_RECT);
457 }
458
460 {
461 array<ref CfgParam> params = GetArray(BATCH_RECT);
462 params.Clear();
463 CfgParamString param;
464
465 CfgParamInt param1 = new CfgParamInt("");
466 param1.SetValue(row);
467 CfgParamInt param2 = new CfgParamInt("");
468 param2.SetValue(column);
469 CfgParamFloat param3 = new CfgParamFloat("");
470 param3.SetValue(rowStep);
471 CfgParamFloat param4 = new CfgParamFloat("");
472 param4.SetValue(columnStep);
473
474 params.Insert(param1);
475 params.Insert(param2);
476 params.Insert(param3);
477 params.Insert(param4);
478 SaveConfigToFile();
479 }
480
481 //========================================
482 // Batch Spawn Quantity
483 //========================================
485 {
486 return GetInt(BATCH_QUANT);
487 }
488
490 {
491 SetInt(BATCH_QUANT, value);
492 }
493 //========================================
494 // ItemSearch
495 //========================================
497 {
498 return GetString(ITEM_SEARCH);
499 }
500
501 void SetItemSearch(string value)
502 {
503 SetString(ITEM_SEARCH, value);
504 }
505
506 //========================================
507 // SpawnDistance
508 //========================================
510 {
511 return GetFloat(SPAWN_DISTANCE);
512 }
513
515 {
516 SetFloat(SPAWN_DISTANCE, value);
517 }
518
519 //========================================
520 // LogsEnabled
521 //========================================
523 {
524 return GetBool(LOGS_ENABLED);
525 }
526
528 {
529 SetBool(LOGS_ENABLED, value);
530 }
531
532 //========================================
533 // CharacterLevelsVisible
534 //========================================
536 {
537 return GetBool(CHAR_LEVELS_VIS);
538 }
539
540
542 {
543 SetBool(CHAR_LEVELS_VIS, is_visible);
544 }
545
546
547 //========================================
548 // ItemDebugPos
549 //========================================
551 {
552 SetString(ITEMDEBUG, pos.ToString(false));
553 }
554
555
557 {
558 return GetString(ITEMDEBUG).ToVector();
559 }
560
561 //========================================
562 // CharacterStatsVisible
563 //========================================
565 {
566 return GetBool(CHAR_STATS_VIS);
567 }
568
569
571 {
572 SetBool(CHAR_STATS_VIS, is_visible);
573 }
574
575 //========================================
576 // CharacterModifiersVisible
577 //========================================
579 {
580 return GetBool(CHAR_MODIFIERS_VIS);
581 }
582
584 {
585 SetBool(CHAR_MODIFIERS_VIS, is_visible);
586 }
587
588 //========================================
589 // CharacterAgentsVisible
590 //========================================
592 {
593 return GetBool(CHAR_AGENTS_VIS);
594 }
595
597 {
598 SetBool(CHAR_AGENTS_VIS, is_visible);
599 }
600
601 //========================================
602 // CharacterDebugVisible
603 //========================================
605 {
606 return GetBool(CHAR_DEBUG_VIS);
607 }
608
610 {
611 SetBool(CHAR_DEBUG_VIS, is_visible);
612 }
613
614 //========================================
615 // CharacterStomachVisible
616 //========================================
618 {
619 return GetBool(CHAR_STOMACH_VIS);
620 }
621
623 {
624 SetBool(CHAR_STOMACH_VIS, is_visible);
625 }
626
627 //========================================
628 // FreeCameraCrosshairVisible
629 //========================================
631 {
632 return GetBool(FREE_CAMERA_CROSSHAIR);
633 }
634
636 {
637 SetBool(FREE_CAMERA_CROSSHAIR, is_visible);
638 }
639
640 //========================================
641 // VersionVisible
642 //========================================
644 {
645 return GetBool(VERSION_VIS);
646 }
647
649 {
650 SetBool(VERSION_VIS, is_visible);
651 }
652
653 //========================================
654 // Merge Type
655 //========================================
657 {
658 return GetBool(MERGE_TYPE);
659 }
660
662 {
663 SetBool(MERGE_TYPE, is_visible);
664 }
665
666 //========================================
667 // Soundset Filter
668 //========================================
670 {
671 return GetString(SOUNDFILTER);
672 }
673
675 {
676 SetString(SOUNDFILTER, content);
677 }
678
679 //========================================
680 // TemperatureVisible
681 //========================================
683 {
684 return GetBool(TEMP_VIS);
685 }
686
688 {
689 SetBool(TEMP_VIS, is_visible);
690 }
691
692 //========================================
693 // Show Item Preview
694 //========================================
696 {
697 return GetBool(ITEM_PREVIEW);
698 }
699
700 void SetShowItemPreview(bool show)
701 {
702 SetBool(ITEM_PREVIEW, show);
703 }
704
705
706 //========================================
707 // ConfigClassesFlag
708 //========================================
710 {
711 return GetInt(CONFIG_CLASSES_FLAG);
712 }
713
715 {
716 SetInt(CONFIG_CLASSES_FLAG, flag);
717 }
718
719
720 //========================================
721 // Item Category Flag
722 //========================================
724 {
725 return GetInt(ITEM_CATEGORY_FLAG);
726 }
727
729 {
730 SetInt(ITEM_CATEGORY_FLAG, flag);
731 }
732
733 //========================================
734 // User Location
735 //========================================
737 {
738 string world = g_Game.GetWorldName();
739 world.ToLower();
740
741 CfgParamString locationName = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME);
742 locationName.SetValue(name);
743 CfgParamString locationPos = new CfgParamString(PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC);
744 locationPos.SetValue(position.ToString(false));
745
746 CfgParamArray locationEntry = new CfgParamArray(locationName.GetValue());
747 locationEntry.InsertValue(locationName);
748 locationEntry.InsertValue(locationPos);
749
750 string paramName = POSITION_NAME_ROOT + world;
752 params.Insert(locationEntry);
753 SetArray(paramName, params);
754 SaveConfigToFile();
755
756 return true;
757 }
758
760 {
761 if (!name)
762 return;
763 string world = g_Game.GetWorldName();
764 world.ToLower();
765 string paramName = POSITION_NAME_ROOT + world;
767
768 for (int i = 0; i < params.Count(); i++)
769 {
770 CfgParamArray param = CfgParamArray.Cast(params.Get(i));
771 array<ref CfgParam> prms = param.GetValues();
772 CfgParamString par = CfgParamString.Cast(prms.Get(0));
773 if (par.GetValue() == name)
774 {
775 params.RemoveOrdered(i);
776 break;
777 }
778 }
779
780 //SetArray(paramName, params);
781 SaveConfigToFile();
782 }
783
784 //========================================
785 // Presets
786 //========================================
788 {
789 return m_PresetList;
790 }
791
792 protected void SetPreset(string preset_name, int index = -1)
793 {
794 array<ref CfgParam> params = GetArray(PRESET_LIST);
795 CfgParamString param;
796
797 if (index == -1)
798 {
799 param = new CfgParamString("");
800 param.SetValue(preset_name);
801 params.Insert(param);
802 m_PresetList.Insert(preset_name);
803 }
804 else
805 {
806 param = CfgParamString.Cast(params.Get(index));
807 param.SetValue(preset_name);
808 params.Set(index, param);
809 m_PresetList.Set(index, preset_name);
810 }
811
812 SaveConfigToFile();
813 }
814
815 protected void RemovePreset(string preset_name)
816 {
817 array<ref CfgParam> params = GetArray(PRESET_LIST);
818 for (int i = 0; i < params.Count(); i++)
819 {
820 CfgParamString param = CfgParamString.Cast(params.Get(i));
821 if (param.GetValue() == preset_name)
822 {
823 params.RemoveItem(param);
824 m_PresetList.RemoveItem(preset_name);
825 }
826 }
827 }
828
830 {
831 if (m_PresetList.Find(preset_name) == -1)
832 return false;
833 if (param_name == "")
834 param_name = SUB_PARAM_ITEM_NAME;
835 GetSubParametersInStringArray(preset_name, param_name, arr);
836
837 return true;
838 }
839
841 {
842 if (m_PresetList.Find(preset_name) > -1)
843 return false;
844
845 SetPreset(preset_name);
846 SetArray(preset_name, new array<ref CfgParam>);
847 SaveConfigToFile();
848
849 return true;
850 }
851
853 {
854 if (m_PresetList.Find(preset_name) == -1)
855 return false;
856
857 RemovePreset(preset_name);
858 RemoveParamByName(preset_name);
859 SaveConfigToFile();
860
861 return true;
862 }
863
865 {
866 int index = m_PresetList.Find(old_preset_name);
867
868 if (index == -1)
869 return false;
870
871 SetPreset(new_preset_name, index);
872 RenameParam(old_preset_name, new_preset_name);
873 SaveConfigToFile();
874
875 return true;
876 }
877
879 {
880 if (m_PresetList.Find(preset_name) == -1)
881 return false;
882
883 CfgParamString param = new CfgParamString(SUB_PARAM_ITEM_NAME);
884 param.SetValue(item_name);
885
886 CfgParamArray item_params = new CfgParamArray(SUB_PARAM_ITEM);
887 item_params.InsertValue(param);
888
890 params.Insert(item_params);
891
892 SaveConfigToFile();
893
894 return true;
895 }
896
898 {
899 if (m_PresetList.Find(preset_name) == -1)
900 return false;
901
903
904 if (item_index >= params.Count())
905 return false;
906
907 params.Remove(item_index);
908
909 SaveConfigToFile();
910
911 return true;
912 }
913
915 {
917
918 if (item1_index >= params.Count() || item2_index >= params.Count())
919 return false;
920
921 params.SwapItems(item1_index, item2_index);
922 SaveConfigToFile();
923
924 return true;
925 }
926
928 {
929 if (m_PresetList.Find(preset_name) == -1)
930 return NULL;
931
933
934 if (!params || item_index >= params.Count())
935 return NULL;
936 if (params.IsValidIndex(item_index))
937 CfgParamArray params_array = CfgParamArray.Cast(params.Get(item_index));
938 if (params_array)
939 return params_array.GetValues();
940
941 return null;
942 }
943
945 {
947
948 if (item_params == NULL)
949 return NULL;
950
952 for (int i = 0; i < item_params.Count(); i++)
953 {
954 if (item_params.Get(i).GetName() == param_name)
955 param = item_params.Get(i);
956 }
957
958 return param;
959 }
960
962 {
963 CfgParam param = GetItemParam(preset_name, item_index, SUB_PARAM_ITEM_HEALTH);
964
965 if (param == NULL)
966 return -1;
967 else
968 {
969 CfgParamFloat param_float = CfgParamFloat.Cast(param);
970 return param_float.GetValue();
971 }
972 }
973
975 {
976 CfgParam param = GetItemParam(preset_name, item_index, SUB_PARAM_ITEM_HEALTH);
977
978 if (param != NULL)
979 {
980 CfgParamFloat param_float = CfgParamFloat.Cast(param);
981 param_float.SetValue(health);
982 }
983 else
984 {
986
987 if (item_params != NULL)
988 {
989 CfgParamFloat new_param = new CfgParamFloat(SUB_PARAM_ITEM_HEALTH);
990 new_param.SetValue(health);
991 item_params.Insert(new_param);
992 }
993 }
994
995 SaveConfigToFile();
996
997 return true;
998 }
999
1001 {
1002 CfgParam param = GetItemParam(preset_name, item_index, SUB_PARAM_ITEM_QUANTITY);
1003
1004 if (param == NULL)
1005 return 1;
1006 else
1007 {
1008 CfgParamInt param_int = CfgParamInt.Cast(param);
1009 return param_int.GetValue();
1010 }
1011 }
1012
1014 {
1015 CfgParam param = GetItemParam(preset_name, item_index, SUB_PARAM_ITEM_QUANTITY);
1016
1017 if (param != NULL)
1018 {
1019 CfgParamInt param_int = CfgParamInt.Cast(param);
1020 param_int.SetValue(quantity);
1021 }
1022 else
1023 {
1025
1026 if (item_params != NULL)
1027 {
1028 CfgParamInt new_param = new CfgParamInt(SUB_PARAM_ITEM_QUANTITY);
1029 new_param.SetValue(quantity);
1030 item_params.Insert(new_param);
1031 }
1032 }
1033
1034 SaveConfigToFile();
1035
1036 return true;
1037 }
1038
1040 {
1041 CfgParam param = GetItemParam(preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS);
1042
1043 if (param == NULL)
1044 return false;
1045 else
1046 {
1047 CfgParamBool param_bool = CfgParamBool.Cast(param);
1048 return param_bool.GetValue();
1049 }
1050 }
1051
1053 {
1054 CfgParam param = GetItemParam(preset_name, item_index, SUB_PARAM_ITEM_WITH_PHYSICS);
1055
1056 if (param != NULL)
1057 {
1058 CfgParamBool param_bool = CfgParamBool.Cast(param);
1059 param_bool.SetValue(with_physics);
1060 }
1061 else
1062 {
1064
1065 if (item_params != NULL)
1066 {
1067 CfgParamBool new_param = new CfgParamBool(SUB_PARAM_ITEM_WITH_PHYSICS);
1068 new_param.SetValue(with_physics);
1069 item_params.Insert(new_param);
1070 }
1071 }
1072
1073 SaveConfigToFile();
1074
1075 return true;
1076 }
1077
1078 //========================================
1079 // Locations
1080 //========================================
1081
1083 {
1084 string world = g_Game.GetWorldName();
1085 world.ToLower();
1086 string paramName = POSITION_NAME_ROOT + world;
1087
1089 GetSubParametersInStringArray(paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_NAME, names);
1091 GetSubParametersInStringArray(paramName, PluginConfigDebugProfileFixed.SUB_PARAM_POS_VEC, positions);
1092 int i;
1093 if (isCustom)
1094 {
1095 for (i = names.Count() - 1; i >= 0 ; i--)
1096 arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector()));
1097 }
1098 else
1099 {
1100 for (i = 0; i < names.Count(); i++)
1101 arr.Insert(new LocationParams(names.Get(i), isCustom, positions.Get(i).ToVector()));
1102 }
1103 }
1104}
const int CFG_TYPE_BOOL
Definition CfgParam.c:4
const int CFG_TYPE_ARRAY
Definition CfgParam.c:5
const int CFG_TYPE_INT
Definition CfgParam.c:2
const int CFG_TYPE_STRING
Definition CfgParam.c:1
const int CFG_TYPE_FLOAT
Definition CfgParam.c:3
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
DayZGame g_Game
Definition DayZGame.c:3528
Param3< string, bool, vector > LocationParams
int GetInt()
class PluginLocalEnscriptHistory extends PluginLocalHistoryBase GetSubFolderName()
PluginBase GetPlugin(typename plugin_type)
bool SetItemWithPhysics(string preset_name, int item_index, bool with_physics)
bool PresetAdd(string preset_name)
array< ref CfgParam > GetDefaultBatchRectParams()
CfgParamFloat GetNewCfgParamFloat(float value)
void SetItemSearch(string value)
CfgParamFloat SetFloat(string key, float value)
void SetCharacterStomachVisible(bool is_visible)
bool SetItemQuantity(string preset_name, int item_index, int quantity)
void SetSoundsetFilter(string content)
CfgParamBool GetNewCfgParamBool(bool value)
CfgParamBool SetBool(string key, bool value)
void SetBatchSpawnRectangle(int row, int column, float rowStep, float columnStep)
static PluginConfigDebugProfile GetInstance()
bool ItemAddToPreset(string preset_name, string item_name)
bool ItemRemoveFromPreset(string preset_name, int item_index)
void SetSceneEditorLoadPlayerPos(bool value)
void SetCharacterDebugVisible(bool is_visible)
CfgParamArray GetNewCfgParamArray(array< ref CfgParam > params)
CfgParamArray SetArray(string key, array< ref CfgParam > params)
void SetSceneEditorDrawSelection(bool value)
CfgParamString SetString(string key, string value)
void SetDefaultPreset(string value)
void SetFilterOrderReversed(bool reversed)
CfgParamInt SetInt(string key, int value)
bool GetPresetItems(string preset_name, out TStringArray arr, string param_name="")
void SetCharacterLevelsVisible(bool is_visible)
CfgParamInt GetNewCfgParamInt(int value)
array< ref CfgParam > GetBatchSpawnRectangle()
void SetMergeType(bool is_visible)
override string GetSubFolderName()
void SetCharacterStatsVisible(bool is_visible)
void CustomLocationsRemove(string name)
int GetItemQuantity(string preset_name, int item_index)
void SetFreeCameraCrosshairVisible(bool is_visible)
bool PresetRemove(string preset_name)
CfgParamString GetNewCfgParamString(string value)
float GetItemHealth(string preset_name, int item_index)
bool GetItemWithPhysics(string preset_name, int item_index)
bool CustomLocationsAdd(string name, vector position)
array< ref CfgParam > GetItemParams(string preset_name, int item_index)
CfgParam GetItemParam(string preset_name, int item_index, string param_name)
void GetSubParametersInStringArray(string setting_name, string sub_param_name, out TStringArray arr)
void GetLocationsData(out array< ref LocationParams > arr, bool isCustom)
void SetCharacterModifiersVisible(bool is_visible)
void RemovePreset(string preset_name)
bool SetItemHealth(string preset_name, int item_index, float health)
void SetSpawnDistance(float value)
ref map< string, ref CfgParam > m_DefaultValues
bool PresetRename(string old_preset_name, string new_preset_name)
void SetSceneEditorRotationAngle(int value)
bool SwapItem(string preset_name, int item1_index, int item2_index)
void SetVersionVisible(bool is_visible)
void SetCharacterAgentsVisible(bool is_visible)
void SetBatchSpawnQuantity(int value)
void SetPreset(string preset_name, int index=-1)
void SetTempVisible(bool is_visible)
array< ref CfgParam > GetArray(string key)
proto string ToString(bool beautify=true)
Vector to string.
const string CFG_FILE_DEBUG_PROFILE
Definition constants.c:231
const string CFG_FILE_DEBUG_DIR
Definition constants.c:239
array< string > TStringArray
Definition EnScript.c:666
proto bool FileExist(string name)
Check existence of file.
const string STRING_EMPTY
Definition constants.c:54