Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
plugindayzplayerdebug.c
Go to the documentation of this file.
1// *************************************************************************************
2// ! PluginDayzPlayerDebugUserData
3// *************************************************************************************
5{
6 void PluginDayzPlayerDebugUserData(string name, int category, int pUserData, bool pFullBody, int pStanceMask = -1)
7 {
8 m_iUserData = pUserData;//animation CMD id
9 m_bIsFullBody = pFullBody;
10 m_iStanceMask = pStanceMask;
11 m_Category = category;//pType
12 m_Name = name;
13 }
14
15 int GetInt()
16 {
17 return m_iUserData;
18 }
19
20 bool IsFullBody()
21 {
22 return m_bIsFullBody;
23 }
24
25 int GetStanceMask()
26 {
27 return m_iStanceMask;
28 }
29
30 int GetCategory()
31 {
32 return m_Category;
33 }
34
35 string GetName()
36 {
37 return m_Name;
38 }
39 string GetNameUnique()
40 {
41 return m_Name + "|" + GetCategory();
42 }
43
44 protected int m_iUserData;
45 protected bool m_bIsFullBody;
46 protected int m_iStanceMask;
47 protected int m_Category;
48 protected string m_Name;
49}
50
51// *************************************************************************************
52// ! PluginDayzPlayerDebugUI
53// *************************************************************************************
54class PluginDayzPlayerDebugUIHandler extends ScriptedWidgetEventHandler
55{
56 override bool OnClick(Widget w, int x, int y, int button)
57 {
58 super.OnClick(w, x, y, button);
59 return m_pPluginPlayerDebug.OnClick(w, x, y, button);
60 }
61
62 override bool OnChange(Widget w, int x, int y, bool finished)
63 {
64 super.OnChange(w, x, y, finished);
65 return m_pPluginPlayerDebug.OnChange(w, x, y, finished);
66 }
67
68 override bool OnMouseEnter(Widget w, int x, int y)
69 {
70 super.OnMouseEnter(w,x,y);
71 GetGame().GetMission().AddActiveInputExcludes({"menu"});
72 return true;
73
74 }
75
76 override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
77 {
78 super.OnMouseLeave(w,enterW, x,y);
79 GetGame().GetMission().RemoveActiveInputExcludes({"menu"},true);
80 return true;
85
87// *************************************************************************************
88// ! PluginDayzPlayerDebugUI
89// *************************************************************************************
90class PluginDayzPlayerActionCallback extends HumanCommandActionCallback
91{
92 protected static ref set<string> m_AnimEventMapping;
94 {
96 //Print("Action callback created");
97 EnableCancelCondition(true);
98 //RegisterAnimationEvent("ActionExec", 1); // really weird id
100 if (!m_AnimEventMapping)//making sure to only do once
101 {
102 m_AnimEventMapping = new set<string>();
103 m_AnimEventMapping.Insert("ActionExec");
104 m_AnimEventMapping.Insert("SoundWeapon");
105 m_AnimEventMapping.Insert("SoundVoice");
106 m_AnimEventMapping.Insert("SoundAttachment");
107 m_AnimEventMapping.Insert("Sound");
108 }
109
110
111 foreach (int index, string eventName: m_AnimEventMapping)
112 RegisterAnimationEvent(eventName, index);
113
114 EnableStateChangeCallback(); // enable this to get OnStateChange callbacks
115
116 m_fTimeStart = GetWorldTime();
117 }
118
120 {
121 //Print("Action callback deleted");
122 }
123
124 override void OnFinish(bool pCanceled)
125 {
126 if (pCanceled)
127 {
128 m_pStateWidget.SetText("Result: canceled");
129 }
130 else
131 {
132 m_pStateWidget.SetText("Result: ended");
133 }
134 }
135
136
138 {
139 // Print("Action cancel condition");
140 return DefaultCancelCondition();
141 }
142
143 override void OnAnimationEvent(int pEventID)
144 {
145
146 //Print(pEventID);
147 //Print("--------------------------------");
148 // only one event id is registered - 1 so nothing else can be delivered
149 string eventName= m_AnimEventMapping.Get(pEventID);
150 string eventText = eventName + " event at: ";
151 float tFromSt = GetWorldTime() - m_fTimeStart;
152
153 eventText += tFromSt.ToString();
154 m_EventsHistory.AddItem(eventText,null,0);
155 m_pAnimEventWidget.SetText(eventText);
156 }
157
158 override void OnStateChange(int pOldState, int pCurrentState)
159 {
160 string oldState = GetStateString(pOldState);
161 string newState = GetStateString(pCurrentState);
162
163 m_pStateWidget.SetText(oldState + "->" + newState);
164 };
165
166
167
170 TextWidget m_pStateWidget;
172 TextListboxWidget m_EventsHistory;
173}
174
175
176// *************************************************************************************
177// ! PluginDayzPlayerDebug
178// *************************************************************************************
180{
181 private const int TYPE_MOD_LOOPING = 0;
182 private const int TYPE_MOD_ONETIME = 1;
183 private const int TYPE_FB_LOOPING = 2;
184 private const int TYPE_FB_ONETIME = 3;
185
186 private const int TYPE_MOD_GESTURE_LOOPING = 4;
187 private const int TYPE_MOD_GESTURE_ONETIME = 5;
188 private const int TYPE_FB_GESTURE_LOOPING = 6;
189 private const int TYPE_FB_GESTURE_ONETIME = 7;
190 private const int TYPE_FB_SUICIDE_LOOPING = TYPE_FB_GESTURE_LOOPING;
191
192 private const int TYPE_ALL = -1;
193
194
195
196 ref Timer m_TickTimer;
197
201
202 bool m_IsActive = false;
203 bool m_HasFocus = false;
204 bool m_HasServerWalk = false;
205
206 Widget m_MainWnd;
207 Widget m_Card0;
208 Widget m_Card1;
209 Widget m_Card2;
210 Widget m_Card3;
211 Widget m_Card4;
212 ButtonWidget m_Card0Button;
213 ButtonWidget m_Card1Button;
214 ButtonWidget m_Card2Button;
215 ButtonWidget m_Card3Button;
216 ButtonWidget m_Card4Button;
217
218
219 EditBoxWidget m_PlayerStatusV;
220 TextListboxWidget m_ActionsSelector;
221 ButtonWidget m_ActionsStart;
222 ButtonWidget m_ActionsEnd;
223 ButtonWidget m_ActionsFinish;
224 ButtonWidget m_ActionsCancel;
225 ButtonWidget m_ActionsOTA;
226 ButtonWidget m_ActionsOTL;
227 TextWidget m_ActionStateV;
228 TextWidget m_ActionEventV;
230
231 EditBoxWidget m_ActionsFilter;
232
234 ButtonWidget m_PlayerSyncDelete;
235 ButtonWidget m_PlayerServerWalk;
236
237 TextWidget m_ItemAccClass;
238 TextWidget m_ItemAccSClass;
239 TextWidget m_ItemAccInst;
240
241 ButtonWidget m_ActionTypeAll;
242 ButtonWidget m_ActionTypeLA;
243 ButtonWidget m_ActionTypeOA;
244 ButtonWidget m_ActionTypeFLA;
245 ButtonWidget m_ActionTypeFOA;
246 ButtonWidget m_ActionTypeLG;
247 ButtonWidget m_ActionTypeOG;
248 ButtonWidget m_ActionTypeFLG;
249 ButtonWidget m_ActionTypeFOG;
250
251
253
254 TextListboxWidget m_EventsHistory;
255
256 ref PluginDayzPlayerDebugUIHandler m_pUIHandler;
257
259
260 protected int m_CurrentType;
261
262 // command handler properties
263 bool m_CH_ActionStart = false;
265 bool m_CH_ActionCancel = false;
266
267
271
272 //---------------------------------------------------
273 // gui stuff
274
276 {
279
280
281 #ifndef NO_GUI
286 #endif
287
288
289 //m_TypeNameMappings.Insert(TYPE_FB_SUICIDE_LOOPING, "TYPE_FB_SUICIDE_LOOPING");
290
291 }
292
294 {
295 m_TypeNameMappings.Insert(TYPE_MOD_LOOPING, "MOD_LOOPING");
296 m_TypeNameMappings.Insert(TYPE_MOD_ONETIME, "MOD_ONETIME");
297 m_TypeNameMappings.Insert(TYPE_FB_LOOPING, "FB_LOOPING");
298 m_TypeNameMappings.Insert(TYPE_FB_ONETIME, "FB_ONETIME");
299 m_TypeNameMappings.Insert(TYPE_MOD_GESTURE_LOOPING, "MOD_GESTURE_LOOPING");
300 m_TypeNameMappings.Insert(TYPE_MOD_GESTURE_ONETIME, "MOD_GESTURE_ONETIME");
301 m_TypeNameMappings.Insert(TYPE_FB_GESTURE_LOOPING, "FB_GESTURE_LOOPING");
302 m_TypeNameMappings.Insert(TYPE_FB_GESTURE_ONETIME, "FB_GESTURE_ONETIME");
303 }
304
305
307 {
308 ReleaseFocus();
309
311
312 #ifndef NO_GUI
313 m_Weapons = NULL;
314 m_Controls = NULL;
315 m_OtherCmds = NULL;
317 #endif
318 }
319
320
321
323 {
324 }
325
326
327 bool IsActive()
328 {
329 return m_IsActive;
330 }
331
332 void ShowWidgets(bool show)
333 {
334 if(m_MainWnd)
335 {
336 m_MainWnd.Show(show);
337 }
338 }
339
341 void Show()
342 {
343 ShowWidgets(true);
344 m_IsActive = true;
345
346 if (!m_TickTimer)
347 {
348 m_TickTimer = new Timer();
349 m_TickTimer.Run(0.1, this, "Tick", NULL, true);
350 }
351 }
352
354 void Hide()
355 {
356 ShowWidgets(false);
357 m_IsActive = false;
358
359 m_TickTimer = NULL;
360 }
361
364 {
365 if (!m_HasFocus)
366 {
367 GetGame().GetInput().ChangeGameFocus(1);
368 GetGame().GetUIManager().ShowUICursor(true);
369 m_HasFocus = true;
370 }
371 }
372
375 {
376 if (m_HasFocus)
377 {
378 GetGame().GetInput().ChangeGameFocus(-1);
379 GetGame().GetUIManager().ShowUICursor(false);
380 m_HasFocus = false;
381 }
382 }
383
385
388 {
390 if (m_CurrentMode > 2)
391 {
392 m_CurrentMode = 0;
393 }
394
396 }
397
398
401 {
405
406 if(m_IsActive && !m_HasFocus)
407 {
408 Hide();
409 }
410 else
411 {
412 Show();
413 ReleaseFocus();
414 }
415 }
416
417
418
420 {
424
425 if (m_IsActive && m_HasFocus)
426 {
427 Hide();
428 ReleaseFocus();
429 }
430 else
431 {
432 Show();
433 CaptureFocus();
434 }
435 }
436
437
439 {
440 switch (pMode)
441 {
442 case 0: Hide(); ReleaseFocus(); break;
443 case 1: Show(); ReleaseFocus(); break;
444 case 2: Show(); CaptureFocus(); break;
445 }
446 }
447
449 {
450 if (!m_pUIHandler)
451 {
452 m_pUIHandler = new PluginDayzPlayerDebugUIHandler();
453 m_pUIHandler.m_pPluginPlayerDebug = this;
454 }
455
456 if (!m_MainWnd)
457 {
458 m_MainWnd = GetGame().GetWorkspace().CreateWidgets("gui/layouts/debug/day_z_playerdebug.layout");
459 m_MainWnd.SetHandler(m_pUIHandler);
460 m_MainWnd.Show(false);
461 }
462
463 m_Card0 = m_MainWnd.FindAnyWidget("Card0");
464 m_Card1 = m_MainWnd.FindAnyWidget("Card1");
465 m_Card2 = m_MainWnd.FindAnyWidget("Card2");
466 m_Card3 = m_MainWnd.FindAnyWidget("Card3");
467 m_Card4 = m_MainWnd.FindAnyWidget("Card4");
468 m_Card0Button = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("Card0Button") );
469 m_Card1Button = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("Card1Button") );
470 m_Card2Button = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("Card2Button") );
471 m_Card3Button = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("Card3Button") );
472 m_Card4Button = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("Card4Button") );
473
474
475 m_PlayerStatusV = EditBoxWidget.Cast( m_MainWnd.FindAnyWidget("PlayerStatusV") );
476 m_ActionsSelector = TextListboxWidget.Cast( m_MainWnd.FindAnyWidget("ActionsSelector") );
477 m_ActionsStart = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsStart") );
478 m_ActionsEnd = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsEnd") );
479 m_ActionsFinish = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsFinish") );
480 m_ActionsCancel = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsCancel") );
481 m_ActionsOTA = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsOTA") );
482 m_ActionsOTL = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsOTL") );
483 m_ActionStateV = TextWidget.Cast( m_MainWnd.FindAnyWidget("ActionStateV") );
484 m_ActionEventV = TextWidget.Cast( m_MainWnd.FindAnyWidget("ActionEventV") );
485 m_ActionsGlobalStatus = TextWidget.Cast( m_MainWnd.FindAnyWidget("ActionGlobalStatus") );
486
487
488 m_ActionsFilter = EditBoxWidget.Cast( m_MainWnd.FindAnyWidget("FilterField") );
489
490 m_PlayerSyncCreateShadow = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("PlayerSyncCreate") );
491 m_PlayerSyncDelete = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("PlayerSyncDelete") );
492 m_PlayerServerWalk = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("PlayerServerWalk") );
493
494 m_ItemAccClass = TextWidget.Cast( m_MainWnd.FindAnyWidget("ItemAccessClass") );
495 m_ItemAccSClass = TextWidget.Cast( m_MainWnd.FindAnyWidget("ItemAccessSClass") );
496 m_ItemAccInst = TextWidget.Cast( m_MainWnd.FindAnyWidget("ItemAccessInst") );
497
498 m_ActionTypeAll = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupALL") );
499 m_ActionTypeLA = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupLA") );
500 m_ActionTypeOA = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupOA") );
501 m_ActionTypeFLA = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupFLA") );
502 m_ActionTypeFOA = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupFOA") );
503 m_ActionTypeLG = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupLG") );
504 m_ActionTypeOG = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupOG") );
505 m_ActionTypeFLG = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupFLG") );
506 m_ActionTypeFOG = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ActionsGroupFOG") );
507
508
509 m_EventsHistory = TextListboxWidget.Cast( m_MainWnd.FindAnyWidget("EventHistory") );
510 m_ClearEventsButton = ButtonWidget.Cast( m_MainWnd.FindAnyWidget("ClearButton") );
511
512 DisplayActions(-1);
513
514 ShowCard(0);
515
516 // m_DebugAgentListWidget = m_DebugRootWidget.FindAnyWidget("w_Agents");
517 // m_DebugFloatsListWidget = m_DebugRootWidget.FindAnyWidget("w_Floats");
518 // m_DebugStringsListWidget = m_DebugRootWidget.FindAnyWidget("w_Strings");
519 // m_DebugFloatsProperListWidget = m_DebugRootWidget.FindAnyWidget("w_FloatsProper");
520 // m_ItemPreviewWidget = m_DebugRootWidget.FindAnyWidget("w_ItemPreview");
521 // m_ClassNameWidget = m_DebugRootWidget.FindAnyWidget("w_ClassName");
522 }
523
525 {
526 delete m_MainWnd;
527 }
528
529
530 void ShowCard(int pCard)
531 {
532 m_Card0.Show(pCard == 0);
533 m_Card1.Show(pCard == 1);
534 m_Card2.Show(pCard == 2);
535 m_Card3.Show(pCard == 3);
536 m_Card4.Show(pCard == 4);
537 }
538
539
540
541 //---------------------------------------------------
542 // main update
543
544
545 void Tick()
546 {
547 DayZPlayer player = DayZPlayer.Cast( GetGame().GetPlayer() );
548 if (!player)
549 {
550 return;
551 }
552
553 // Print("PluginDayzPlayerDebug tick");
554 UpdatePlayerStatus(player);
555
556 // DbgShowBoneName(player);
558
560 UpdateItemAccessor(player);
561
562 m_Weapons.Tick();
563 }
564
565
566 //---------------------------------------------------
567 // Player main
568
569
571 {
572
573 ref HumanMovementState state = new HumanMovementState();
574
575
576 pPlayer.GetMovementState(state);
577
578 string a = "Cmd:";
579
580 if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MOVE)
581 {
582 a += "MOVE:";
583 a += " st:" + state.m_iStanceIdx.ToString() + ", mv:" + state.m_iMovement.ToString();
584 }
585 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_ACTION)
586 {
587 a += "FB ACTION:";
588 a += " st:" + state.m_iStanceIdx.ToString();
589 }
590 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MELEE)
591 {
592 a += "MELEE:";
593 a += " st:" + state.m_iStanceIdx.ToString();
594 }
595 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MELEE2)
596 {
597 a += "MELEE2:";
598 a += " st:" + state.m_iStanceIdx.ToString();
599 }
600 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_FALL)
601 {
602 a += "FALL:";
603 a += " st:" + state.m_iStanceIdx.ToString();
604 }
605 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_DEATH)
606 {
607 a += "now DEAD:";
608 a += " st:" + state.m_iStanceIdx.ToString();
609 }
610 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER)
611 {
612 a += "LADDER:";
613 a += " st:" + state.m_iStanceIdx.ToString();
614 }
615 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
616 {
617 a += "Unconscious:";
618 a += " st:" + state.m_iStanceIdx.ToString();
619 }
620 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_SWIM)
621 {
622 a += "Swimming:";
623 a += " st:" + state.m_iStanceIdx.ToString();
624 }
625 else if (state.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
626 {
627 a += "Climbing:";
628 a += " st:" + state.m_iStanceIdx.ToString();
629 }
630 else
631 {
632 a += "UNKNOWN";
633 }
634
635 m_PlayerStatusV.SetText(a);
636 }
637
638
640 {
641 int boneIndex = pPlayer.GetBoneIndexByName("Head");
642
643 // vector pos = pPlayer.GetBonePositionMS(boneIndex);
644 vector tm[4];
645
646 pPlayer.GetBoneTransformMS(boneIndex, tm);
647
648
649
650 string a = "Bone index:";
651 a += boneIndex.ToString();
652 a += ",";
653 a += tm.ToString();
654 Print(a);
655 }
656
657
659 {
660 Actions_UpdateGlobals(pPlayer);
661
662 // int nMods = pPlayer.GetCommandModifierCount();
663 // Print("Number of modifiers");
664 // Print(nMods);
665
666 /*
667 for (int i = 0; i < nMods; i ++)
668 {
669 // int a = pPlayer.GetCommandModifierId(i);
670
671 if (pPlayer.GetCommandModifierId(i) == DayZPlayerConstants.COMMANDID_MOD_ACTION)
672 {
673 }
674
675 // Print(a);
676
677 }
678 */
679
680 HumanCommandActionCallback clbk = pPlayer.GetCommandModifier_Action();
681 if (clbk)
682 {
683 Print(clbk);
684 };
685 }
686
687
688 //---------------------------------------------------
689 // Actions
690
691 void DisplayActions(int pType)
692 {
693 m_CurrentType = pType;
694 TStringArray sortedNames = new TStringArray();
695 m_ActionsSelector.ClearItems();
696 string filterTextLower = m_ActionsFilter.GetText();
697 filterTextLower.ToLower();
698
699 TStringArray filterTokens = new TStringArray;
700 filterTextLower.Split(" ", filterTokens);
701
703 {
704 string nameLower = dta.GetName();
705 nameLower.ToLower();
706 bool add = false;
707 if (pType == -1 || pType == dta.GetCategory())
708 {
709 if (filterTextLower)
710 {
711 foreach (string token:filterTokens)
712 {
713 if (nameLower.Contains(token))
714 add = true;
715 }
716 }
717 else
718 add = true;
719 }
720 if (add)
721 sortedNames.Insert(dta.GetNameUnique());
722 }
723 sortedNames.Sort();
724 foreach (int i, string sortedNameUnique:sortedNames)
725 {
726 PluginDayzPlayerDebugUserData data = m_AnimationListMappings.Get(sortedNameUnique);
727 string sortedName = data.GetName();
728 string typeName;
729
730 if (m_TypeNameMappings.Contains(data.GetCategory()))
731 {
732 typeName = m_TypeNameMappings.Get(data.GetCategory());
733 }
734
735 m_ActionsSelector.AddItem(sortedName, data, 0,i);
736 if (typeName)
737 m_ActionsSelector.SetItem(i, typeName, null, 1);
738 }
739 }
740
741
744 {
745 int row = m_ActionsSelector.GetSelectedRow();
746 if (row == -1)
747 {
748 return;
749 }
750
752 DayZPlayer player = DayZPlayer.Cast( GetGame().GetPlayer() );
753 if (!player)
754 {
755 return;
756 }
757
759 m_ActionsSelector.GetItemData(row, 0, userData);
760
762 PluginDayzPlayerActionCallback a;
763
764 if (userData.IsFullBody())
765 {
766 a = PluginDayzPlayerActionCallback.Cast( player.StartCommand_Action(userData.GetInt(), PluginDayzPlayerActionCallback, userData.GetStanceMask()) );
767 }
768 else
769 {
770 a = PluginDayzPlayerActionCallback.Cast( player.AddCommandModifier_Action(userData.GetInt(), PluginDayzPlayerActionCallback) );
771 }
772 m_ActionEventV.SetText("");
773 a.m_pStateWidget = m_ActionStateV;
774 a.m_pAnimEventWidget = m_ActionEventV;
775 a.m_EventsHistory = m_EventsHistory;
776
778 m_ActionStateV.SetText("Crash Test");
779 }
780
782 void Actions_DoInternalCommand(int pCommandId)
783 {
785 DayZPlayer player = DayZPlayer.Cast( GetGame().GetPlayer() );
786 if (!player)
787 {
788 return;
789 }
790
791 HumanCommandActionCallback clbk = player.GetCommand_Action();
792 if (!clbk)
793 {
794 clbk = player.GetCommandModifier_Action();
795 if (!clbk)
796 {
797 return;
798 }
799 }
800
801 clbk.InternalCommand(pCommandId);
802 }
803
806 {
808 DayZPlayer player = DayZPlayer.Cast( GetGame().GetPlayer() );
809 if (!player)
810 {
811 return;
812 }
813
814 HumanCommandActionCallback clbk = player.GetCommand_Action();
815 if (!clbk)
816 {
817 clbk = player.GetCommandModifier_Action();
818 if (!clbk)
819 {
820 return;
821 }
822 }
823 clbk.Cancel();
824 }
825
826
829 {
830 HumanCommandActionCallback clbk = pPlayer.GetCommandModifier_Action();
831 if (!clbk)
832 {
833 m_ActionsGlobalStatus.SetText("No Action");
834 }
835
836 m_ActionsGlobalStatus.SetText(clbk.ToString());
837 }
838
839
841
842
844 {
846
847 vector item_position = GetGame().GetPlayer().GetPosition() + ( GetGame().GetPlayer().GetDirection() * 2.0);
848
849 m_pPlayerShadow = Entity.Cast( GetGame().CreateObject("SurvivorM_Mirek", item_position, false, false) );
850
851 DayZPlayer pl = DayZPlayer.Cast( GetGame().GetPlayer() );
852 pl.DebugSyncShadowSetup( DayZPlayer.Cast( m_pPlayerShadow ) );
853 }
854
856 {
857 if (m_pPlayerShadow)
858 {
859 GetGame().ObjectDelete(m_pPlayerShadow);
860 m_pPlayerShadow = NULL;
861 }
862
863 DayZPlayer pl = DayZPlayer.Cast( GetGame().GetPlayer() );
864 if (pl)
865 {
866 pl.DebugSyncShadowSetup(NULL);
867 }
868
869 }
870
871
872 //---------------------------------------------------
873 // item accessor
874
876 {
877 m_ItemAccClass.SetText(pPlayer.DebugGetItemClass());
878 m_ItemAccSClass.SetText(pPlayer.DebugGetItemSuperClass());
879 m_ItemAccInst.SetText(pPlayer.DebugGetItemAnimInstance());
880 }
881
882
883 //---------------------------------------------------
884 // window ui clicks
885
887 bool OnClick(Widget w, int x, int y, int button)
888 {
889 if (w == m_Card0Button)
890 {
891 ShowCard(0);
892 }
893 else if (w == m_Card1Button)
894 {
895 ShowCard(1);
896 }
897 else if (w == m_Card2Button)
898 {
899 ShowCard(2);
900 }
901 else if (w == m_Card3Button)
902 {
903 ShowCard(3);
904 }
905 else if (w == m_Card4Button)
906 {
907 ShowCard(4);
908 }
909
910 else if (w == m_ClearEventsButton)
911 {
912 m_EventsHistory.ClearItems();
913 }
914 else if (w == m_ActionsStart)
915 {
916 Print("PluginPlayerDebug: Action Start");
917 m_CH_ActionStart = true;
918 return true;
919 }
920 else if (w == m_ActionsEnd)
921 {
922 Print("PluginPlayerDebug: Action End");
923 m_CH_ActionCommand = DayZPlayerConstants.CMD_ACTIONINT_END;
924 return true;
925 }
926 else if (w == m_ActionsFinish)
927 {
928 Print("PluginPlayerDebug: Action Finish");
929 m_CH_ActionCommand = DayZPlayerConstants.CMD_ACTIONINT_FINISH;
930 return true;
931 }
932 else if (w == m_ActionsOTA)
933 {
934 Print("PluginPlayerDebug: Action One Time Action");
935 m_CH_ActionCommand = DayZPlayerConstants.CMD_ACTIONINT_ACTION;
936 return true;
937 }
938 else if (w == m_ActionsOTL)
939 {
940 Print("PluginPlayerDebug: Action Loop");
941 m_CH_ActionCommand = DayZPlayerConstants.CMD_ACTIONINT_ACTIONLOOP;
942 return true;
943 }
944 else if (w == m_ActionsCancel)
945 {
946 Print("PluginPlayerDebug: Action Cancel");
947 m_CH_ActionCancel = true;
948 return true;
949 }
950 else if (w == m_PlayerSyncCreateShadow)
951 {
953 return true;
954 }
955 else if (w == m_PlayerSyncDelete)
956 {
958 return true;
959 }
960 else if (w == m_PlayerServerWalk)
961 {
964#ifdef DEVELOPER
965 Param1<bool> rp = new Param1<bool>(m_HasServerWalk);
966 GetGame().RPCSingleParam(GetGame().GetPlayer(), ERPCs.RPC_DAYZPLAYER_DEBUGSERVERWALK, rp, true);
967#endif
968 }
969 else if (w == m_ActionTypeLA)
970 {
972 }
973 else if (w == m_ActionTypeOA)
974 {
975 DisplayActions(TYPE_MOD_ONETIME);
976 }
977 else if (w == m_ActionTypeFLA)
978 {
979 DisplayActions(TYPE_FB_LOOPING);
980 }
981 else if (w == m_ActionTypeFOA)
982 {
983 DisplayActions(TYPE_FB_ONETIME);
984 }
985 else if (w == m_ActionTypeLG)
986 {
987 DisplayActions(TYPE_MOD_GESTURE_LOOPING);
988 }
989 else if (w == m_ActionTypeOG)
990 {
991 DisplayActions(TYPE_MOD_GESTURE_ONETIME);
992 }
993 else if (w == m_ActionTypeFLG)
994 {
995 DisplayActions(TYPE_FB_GESTURE_LOOPING);
996 }
997 else if (w == m_ActionTypeFOG)
998 {
999 DisplayActions(TYPE_FB_GESTURE_ONETIME);
1000 }
1001 else if (w == m_ActionTypeAll)
1002 {
1003 DisplayActions(TYPE_ALL);
1004 }
1005
1006 if (m_Weapons.OnClick(w,x,y,button))
1007 {
1008 return true;
1009 }
1010 else if (m_OtherCmds.OnClick(w,x,y,button))
1011 {
1012 return true;
1013 }
1014 else
1015 {
1016 return m_Controls.OnClick(w,x,y,button);
1017 }
1018 }
1019
1020 bool OnChange(Widget w, int x, int y, bool finished)
1021 {
1022 if (w == m_ActionsFilter)
1023 {
1025 }
1026
1027 if ( m_Controls.OnChange(w, x, y, finished) )
1028 return true;
1029
1030
1031 return false;
1032 }
1033
1034 //---------------------------------------------------
1035 // Global handler to handle commands from player
1036
1037 bool IsWeaponChange(out string pNewWeapon, out int pHideSlot, out int pShowSlot)
1038 {
1039 if (m_Weapons)
1040 {
1041 m_Weapons.IsWeaponChange(pNewWeapon, pHideSlot, pShowSlot);
1042 }
1043
1044 return false;
1045 }
1046
1047
1048 //---------------------------------------------------
1049 // Global handler to handle commands from player
1050
1052 {
1053 if (m_CH_ActionStart)
1054 {
1055 Actions_Start();
1056 m_CH_ActionStart = false;
1057 }
1058
1059 if (m_CH_ActionCommand != -1000)
1060 {
1062 m_CH_ActionCommand = -1000;
1063 }
1064
1066 {
1068 m_CH_ActionCancel = false;
1069 }
1070
1071 if (m_Weapons)
1072 {
1073 m_Weapons.CommandHandler();
1074 }
1075
1076 if (m_Controls)
1077 {
1078 m_Controls.CommandHandler();
1079 }
1080
1081 if (m_OtherCmds)
1082 {
1083 m_OtherCmds.CommandHandler();
1084 }
1085 }
1086
1087 void RegisterAnimation(string name, int category, int pUserData, bool pFullBody, int pStanceMask = -1)
1088 {
1089 PluginDayzPlayerDebugUserData data = new PluginDayzPlayerDebugUserData(name, category, pUserData, pFullBody, pStanceMask);
1090 m_AnimationList.Insert(data);
1091 m_AnimationListMappings.Insert(data.GetNameUnique(), data);
1092 }
1093
1095 {
1096 RegisterAnimation("CLEAN HANDS BOTTLE", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_CLEANHANDSBOTTLE, false);
1097 RegisterAnimation("DRINK", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_DRINK, false);
1098 RegisterAnimation("EAT", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_EAT, false);
1099 RegisterAnimation("EMPTY VESSEL", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_EMPTY_VESSEL, false);
1100 RegisterAnimation("CATCH RAIN", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_CATCHRAIN, false);
1101 RegisterAnimation("VIEW COMPASS", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_VIEWCOMPASS, false);
1102 RegisterAnimation("ITEM TUNE", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_ITEM_TUNE, false);
1103 RegisterAnimation("GIVE L ITEM", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_GIVEL, false);
1104 RegisterAnimation("GIVE R ITEM", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_GIVER, false);
1105 RegisterAnimation("SHAVE", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_SHAVE, false);
1106 RegisterAnimation("FILL MAG", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_FILLMAG, false);
1107 RegisterAnimation("EMPTY MAG", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_EMPTYMAG, false);
1108 RegisterAnimation("OPEN ITEM", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_OPENITEM, false);
1109 RegisterAnimation("TAKE TEMP SELF", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_TAKETEMPSELF, false);
1110 RegisterAnimation("VIEW MAP", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_VIEWMAP, false);
1111 RegisterAnimation("RAISE ITEM", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_RAISEITEM, false);
1112 RegisterAnimation("SEARCH INVENTORY", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_SEARCHINVENTORY, false);
1113 RegisterAnimation("CRAFTING UPPDERBODY", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_CRAFTING, false);
1114 RegisterAnimation("RESTRAINED STRUGGLE", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_RESTRAINEDSTRUGGLE, false);
1115 RegisterAnimation("COVER HEAD SELF", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_COVERHEAD_SELF, false);
1116 RegisterAnimation("COVER HEAD TARGET", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_COVERHEAD_TARGET, false);
1117 RegisterAnimation("SET ALARM CLOCK", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_SET_ALARM, false);
1118 RegisterAnimation("ENGINE START", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_STARTENGINE, false);
1119 RegisterAnimation("TOOT HORN", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_TOOTHORN, false);
1120 RegisterAnimation("ENGINE STOP", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_STOPENGINE, false);
1121 RegisterAnimation("SHIFT GEAR", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_SHIFTGEAR, false);
1122 RegisterAnimation("TURN ON/OFF LIGHTS", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_HEADLIGHT, false);
1123 RegisterAnimation("DRIVER OPEN DOOR", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_DRIVER_DOOR_OPEN, false);
1124 RegisterAnimation("DRIVER CLOSE DOOR", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_DRIVER_DOOR_CLOSE, false);
1125 RegisterAnimation("CODRIVER OPEN DOOR", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_CODRIVER_DOOROPEN, false);
1126 RegisterAnimation("CODRIVER CLOSE DOOR", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_CODRIVER_DOORCLOSE, false);
1127 RegisterAnimation("BLOODTEST", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_BLOODTEST, false);
1128 RegisterAnimation("BLOODTESTOTHER", TYPE_MOD_LOOPING, DayZPlayerConstants.CMD_ACTIONMOD_BLOODTESTOTHER, false);
1130 RegisterAnimation("PICK UP HANDS", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_HANDS, false);
1131 RegisterAnimation("PICK UP INVENTORY", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_INVENTORY, false);
1132 RegisterAnimation("LICK BATTERY", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_LICKBATTERY, false);
1133 RegisterAnimation("LIGHT FLARE", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_LIGHTFLARE, false);
1134 RegisterAnimation("LITCHEM LIGHT", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_LITCHEMLIGHT, false);
1135 RegisterAnimation("UNPIN GRENAGE", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_UNPINGRENAGE, false);
1136 RegisterAnimation("OPEN DOOR FW", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW, false);
1137 RegisterAnimation("OPEN LID", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_OPENLID, false);
1138 RegisterAnimation("CLOSE LID", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_CLOSELID, false);
1139 RegisterAnimation("RADIO ON", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_ITEM_ON, false);
1140 RegisterAnimation("RADIO OFF", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_ITEM_OFF, false);
1141 RegisterAnimation("BATON EXTEND", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_BATONEXTEND, false);
1142 RegisterAnimation("BATON RETRACT", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_BATONRETRACT, false);
1143 RegisterAnimation("UNLOCK HANDCUFF TARGET", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_UNLOCKHANDCUFFTARGET, false);
1144 RegisterAnimation("FISHINGROD EXTEND", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_FISHINGRODEXTEND, false);
1145 RegisterAnimation("FISHINGROD RETRACT", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_FISHINGRODRETRACT, false);
1146 RegisterAnimation("OPEN ITEM ONCE", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_OPENITEM_ONCE, false);
1147 RegisterAnimation("CLOSE ITEM ONCE", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_CLOSEITEM_ONCE, false);
1148 RegisterAnimation("ATTACH SCOPE", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_ATTACHSCOPE, false);
1149 RegisterAnimation("ATTACH BARREL", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_ATTACHBARREL, false);
1150 RegisterAnimation("EMPTY SEEDS PACK", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_EMPTYSEEDSPACK, false);
1151 RegisterAnimation("INTERACT", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_INTERACTONCE, false);
1152 RegisterAnimation("ATTACH ITEM", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_ATTACHITEM, false);
1153 RegisterAnimation("STOP ALARM CLOCK", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_STOP_ALARM, false);
1154 RegisterAnimation("PRESS TRIGGER", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_PRESS_TRIGGER, false);
1155 RegisterAnimation("DROP ITEM HANDS", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_DROPITEM_HANDS, false);
1156 RegisterAnimation("DROP ITEM INVENTORY", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_DROPITEM_INVENTORY, false);
1157 RegisterAnimation("EAT PILL", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_EAT_PILL, false);
1158 RegisterAnimation("EAT TABLET", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_EAT_TABLET, false);
1159 RegisterAnimation("HEATPACK", TYPE_MOD_ONETIME, DayZPlayerConstants.CMD_ACTIONMOD_HEATPACK, false);
1161 RegisterAnimation("DRINK", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DRINK, true, DayZPlayerConstants.STANCEMASK_PRONE);
1162 RegisterAnimation("EAT", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_EAT, true, DayZPlayerConstants.STANCEMASK_PRONE);
1163 RegisterAnimation("CATCH RAIN", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CATCHRAIN, true, DayZPlayerConstants.STANCEMASK_PRONE);
1164 RegisterAnimation("WALKIETALKIE TUNE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_ITEM_TUNE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1165 RegisterAnimation("GIVE L ITEM", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_GIVEL, true, DayZPlayerConstants.STANCEMASK_PRONE);
1166 RegisterAnimation("GIVE R ITEM", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_GIVER, true, DayZPlayerConstants.STANCEMASK_PRONE);
1167 RegisterAnimation("FILL MAG", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FILLMAG, true, DayZPlayerConstants.STANCEMASK_PRONE);
1168 RegisterAnimation("EMPTY MAG", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_EMPTYMAG, true, DayZPlayerConstants.STANCEMASK_PRONE);
1169 RegisterAnimation("DRINK POND", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DRINKPOND, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1170 RegisterAnimation("DRINK WELL", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DRINKWELL, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1171 RegisterAnimation("FILL BOTTLE WELL", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FILLBOTTLEWELL, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1172 RegisterAnimation("FIRE ESTINGUISHER", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FIREESTINGUISHER, true, DayZPlayerConstants.STANCEMASK_ERECT);
1173 RegisterAnimation("FLAME REPAIR", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FLAME_REPAIR, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1174 RegisterAnimation("WRING CLOTH", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_WRING, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1175 RegisterAnimation("FISHING", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FISHING, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1176 RegisterAnimation("CPR", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CPR, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1177 RegisterAnimation("BANDAGE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_BANDAGE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1178 RegisterAnimation("CRAFTING", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CRAFTING, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1179 RegisterAnimation("INTERACT", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_INTERACT, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1180 RegisterAnimation("FORCE FEED TARGET", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FORCEFEED, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1181 RegisterAnimation("BANDAGE TARGET", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_BANDAGETARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1182 RegisterAnimation("SPRAY PLANT", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SPRAYPLANT, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1183 RegisterAnimation("START FIRE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_STARTFIRE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1184 RegisterAnimation("ANIMAL SKINNING", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_ANIMALSKINNING, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1185 RegisterAnimation("WASH HANDS WELL", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_WASHHANDSWELL, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1186 RegisterAnimation("WASH HANDS POND", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_WASHHANDSPOND, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1187 RegisterAnimation("SALINE BLOODBAG TARGET", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SALINEBLOODBAGTARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1188 RegisterAnimation("SALINE BLOOD BAG", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SALINEBLOODBAG, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1189 RegisterAnimation("STITCH UP SELF", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_STITCHUPSELF, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1190 RegisterAnimation("VOMIT", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_VOMIT, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1191 RegisterAnimation("UNRESTRAINT TARGET", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_UNRESTRAINTARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1192 RegisterAnimation("RESTRAIN TARGET", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_RESTRAINTARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1193 RegisterAnimation("CHECK PULSE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CHECKPULSE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1194 RegisterAnimation("CLEAN WOUNDS TARGET", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CLEANWOUNDSTARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1195 RegisterAnimation("COLLECT BLOOD SELF", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_COLLECTBLOODSELF, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1196 RegisterAnimation("EMPTY VESSEL", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_EMPTY_VESSEL, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1197 RegisterAnimation("OPEN ITEM", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_OPENITEM, true, DayZPlayerConstants.STANCEMASK_PRONE);
1198 RegisterAnimation("HACK BUSH", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_HACKBUSH, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1199 RegisterAnimation("HACK TREE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_HACKTREE, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1200 RegisterAnimation("TAKE TEMP SELF", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_TAKETEMPSELF, true, DayZPlayerConstants.STANCEMASK_PRONE);
1201 RegisterAnimation("DIG HOLE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DIG, true, DayZPlayerConstants.STANCEMASK_ERECT);
1202 RegisterAnimation("DIG UP CACHE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DIGUPCACHE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1203 RegisterAnimation("DIG MANIPULATE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DIGMANIPULATE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1204 RegisterAnimation("DEPLOY HEAVY", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_HEAVY, true, DayZPlayerConstants.STANCEMASK_ERECT);
1205 RegisterAnimation("DEPLOY 1HD", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_1HD, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1206 RegisterAnimation("DEPLOY 2HD", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1207 RegisterAnimation("BLOW FIREPLACE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_BLOWFIREPLACE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1208 RegisterAnimation("VIEW MAP", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_VIEWMAP, true, DayZPlayerConstants.STANCEMASK_PRONE);
1209 RegisterAnimation("VIEW COMPASS", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_VIEWCOMPASS, true, DayZPlayerConstants.STANCEMASK_PRONE);
1210 RegisterAnimation("FILL BOTTLE POND", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FILLBOTTLEPOND, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1211 RegisterAnimation("PLACING HEAVY", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PLACING_HEAVY, true, DayZPlayerConstants.STANCEMASK_ERECT);
1212 RegisterAnimation("PLACING 1HD", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PLACING_1HD, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1213 RegisterAnimation("PLACING 2HD", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PLACING_2HD, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1214 RegisterAnimation("CUT BARK", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CUTBARK, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1215 RegisterAnimation("VIEW NOTE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_VIEWNOTE, true, DayZPlayerConstants.STANCEMASK_PRONE | DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1216 RegisterAnimation("SEARCH INVENTORY", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SEARCHINVENTORY, true, DayZPlayerConstants.STANCEMASK_PRONE);
1217 RegisterAnimation("LOOK OPTICS", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_LOOKOPTICS, true, DayZPlayerConstants.STANCEMASK_PRONE | DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1218 RegisterAnimation("MINE ROCK", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_MINEROCK, true, DayZPlayerConstants.STANCEMASK_ERECT);
1219 RegisterAnimation("RAISE ITEM", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_RAISEITEM, true, DayZPlayerConstants.STANCEMASK_PRONE);
1220 RegisterAnimation("RESTRAINED STRUGGLE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_RESTRAINEDSTRUGGLE, true, DayZPlayerConstants.STANCEMASK_PRONE | DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1221 RegisterAnimation("RESTRAIN SELF", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_RESTRAINSELF, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1222 RegisterAnimation("ASSEMBLE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1223 RegisterAnimation("DISASSEMBLE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DISASSEMBLE, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1224 RegisterAnimation("RAISE FLAG", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_RAISE_FLAG, true, DayZPlayerConstants.STANCEMASK_ERECT);
1225 RegisterAnimation("LOWER FLAG", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_LOWER_FLAG, true, DayZPlayerConstants.STANCEMASK_ERECT);
1226 RegisterAnimation("SET ALARM CLOCK", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SET_ALARM, true, DayZPlayerConstants.STANCEMASK_PRONE);
1227 RegisterAnimation("SHOVEL DIG", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SHOVEL_DIG, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1228 RegisterAnimation("VEHICLE_PUSH", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_VEHICLE_PUSH, true, DayZPlayerConstants.STANCEMASK_ERECT);
1229 RegisterAnimation("PATCHING_TIRE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PATCHING_TIRE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1230 RegisterAnimation("PATCHING_DUCTTAPE", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PATCHING_DUCTTAPE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1231 RegisterAnimation("PATCHING_SEWING", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PATCHING_SEWING, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1232 RegisterAnimation("PATCHING_LEATHER_SEWING_KIT", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_PATCHING_LEATHER_SEWING_KIT, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1233 RegisterAnimation("SPLITTING FIREWOOD", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_SPLITTING_FIREWOOD, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1234 RegisterAnimation("BREAKING STICK", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_BREAKING_STICK, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1235 RegisterAnimation("CLEANING_WEAPON", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_CLEANING_WEAPON, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1236 RegisterAnimation("EATING_SNOW", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_EATING_SNOW, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1237 RegisterAnimation("FILLING_CONTAINER_SNOW", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_FILLING_CONTAINER_SNOW, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1238 RegisterAnimation("DIGGING_WORMS", TYPE_FB_LOOPING, DayZPlayerConstants.CMD_ACTIONFB_DIGGIN_WORMS, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1239
1240
1242 RegisterAnimation("PICK UP HANDS", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_PICKUP_HANDS, true, DayZPlayerConstants.STANCEMASK_PRONE);
1243 RegisterAnimation("PICK UP INVENTORY", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_PICKUP_INVENTORY, true, DayZPlayerConstants.STANCEMASK_PRONE);
1244 RegisterAnimation("LICK BATTERY", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_LICKBATTERY, true, DayZPlayerConstants.STANCEMASK_PRONE);
1245 RegisterAnimation("LIGHT FLARE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_LIGHTFLARE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1246 RegisterAnimation("LITCHEM LIGHT", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_LITCHEMLIGHT, true, DayZPlayerConstants.STANCEMASK_PRONE);
1247 RegisterAnimation("UNPIN GRENAGE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_UNPINGRENAGE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1248 RegisterAnimation("RADIO ON", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_ITEM_ON, true, DayZPlayerConstants.STANCEMASK_PRONE);
1249 RegisterAnimation("RADIO OFF", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_ITEM_OFF, true, DayZPlayerConstants.STANCEMASK_PRONE);
1250 RegisterAnimation("HANDCUFF TARGET", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_HANDCUFFTARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1251 RegisterAnimation("MORPHINE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_MORPHINE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1252 RegisterAnimation("INJECTION", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_INJECTION, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1253 RegisterAnimation("INJECTION TARGET", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_INJECTIONTARGET, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1254 RegisterAnimation("DRINK SIP", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_DRINKSIP, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1255 RegisterAnimation("CLEAN HANDS BOTTLE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_CLEANHANDSBOTTLE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1256 RegisterAnimation("OPEN ITEM ONCE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_OPENITEM_ONCE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1257 RegisterAnimation("POKE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_POKE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1258 RegisterAnimation("ATTACH SCOPE", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_ATTACHSCOPE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1259 RegisterAnimation("ATTACH BARREL", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_ATTACHBARREL, true, DayZPlayerConstants.STANCEMASK_PRONE);
1260 RegisterAnimation("RESTRAIN", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_RESTRAIN, true, DayZPlayerConstants.STANCEMASK_PRONE | DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1261 RegisterAnimation("PICK UP HEAVY", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_PICKUP_HEAVY, true, DayZPlayerConstants.STANCEMASK_ERECT);
1262 RegisterAnimation("STOP ALARM CLOCK", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_STOP_ALARM, true, DayZPlayerConstants.STANCEMASK_PRONE);
1263 RegisterAnimation("PRESS TRIGGER", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_PRESS_TRIGGER, true, DayZPlayerConstants.STANCEMASK_PRONE);
1264 RegisterAnimation("EAT PILL", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_EAT_PILL, true, DayZPlayerConstants.STANCEMASK_PRONE);
1265 RegisterAnimation("EAT TABLET", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_EAT_TABLET, true, DayZPlayerConstants.STANCEMASK_PRONE);
1266 RegisterAnimation("HEATPACK", TYPE_FB_ONETIME, DayZPlayerConstants.CMD_ACTIONFB_HEATPACK, true, DayZPlayerConstants.STANCEMASK_PRONE);
1271 RegisterAnimation("GREETING", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_GREETING, false);
1272 RegisterAnimation("POINT", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_POINT, false);
1273 RegisterAnimation("THUMB UP", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_THUMB, false);
1274 RegisterAnimation("THUMB DOWN", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_THUMB, false);
1275 RegisterAnimation("SILENCE", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_SILENCE, false);
1276 RegisterAnimation("TAUNT", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_TAUNT, false);
1277 RegisterAnimation("TIME OUT", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_TIMEOUT, false);
1278 RegisterAnimation("HEART", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_HEART, false);
1279 RegisterAnimation("FACEPALM", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_FACEPALM, false);
1280 RegisterAnimation("WATCHING", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_WATCHING, false);
1281 RegisterAnimation("HOLD", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_HOLD, false);
1282 RegisterAnimation("LISTENING", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_LISTENING, false);
1283 RegisterAnimation("POINT AT SELF", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_POINTSELF, false);
1284 RegisterAnimation("LOOK AT ME", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_LOOKATME, false);
1285 RegisterAnimation("OKAY", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_OKAY, false);
1286 RegisterAnimation("RPS", TYPE_MOD_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREMOD_RPS, false);
1288 RegisterAnimation("THROAT", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_THROAT, false);
1289 RegisterAnimation("CLAP", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_CLAP, false);
1290 RegisterAnimation("DABBING", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_DABBING, false);
1291 RegisterAnimation("MOVE", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_MOVE, false);
1292 RegisterAnimation("DOWN", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_DOWN, false);
1293 RegisterAnimation("COME", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_COME, false);
1294 RegisterAnimation("TAUNT KISS", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_TAUNTKISS, false);
1295 RegisterAnimation("TAUNT ELBOW", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_TAUNTELBOW, false);
1296 RegisterAnimation("TAUNT THINK", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_TAUNTTHINK, false);
1297 RegisterAnimation("NOD HEAD", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_NODHEAD, false);
1298 RegisterAnimation("SHAKE HEAD", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_SHAKEHEAD, false);
1299 RegisterAnimation("SHRUG", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_SHRUG, false);
1300 RegisterAnimation("SURRENDER", TYPE_MOD_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREMOD_SURRENDER, false);
1302 RegisterAnimation("GREETING", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_GREETING, true, DayZPlayerConstants.STANCEMASK_PRONE);
1303 RegisterAnimation("POINT", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_POINT, true, DayZPlayerConstants.STANCEMASK_PRONE);
1304 RegisterAnimation("THUMBUP", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_THUMB, true, DayZPlayerConstants.STANCEMASK_PRONE);
1305 RegisterAnimation("THUMBDOWN", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_THUMB, true, DayZPlayerConstants.STANCEMASK_PRONE);
1306 RegisterAnimation("SILENCE", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_SILENCE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1307 RegisterAnimation("TAUNT", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_TAUNT, true, DayZPlayerConstants.STANCEMASK_PRONE);
1308 RegisterAnimation("TIMEOUT", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_TIMEOUT, true, DayZPlayerConstants.STANCEMASK_PRONE);
1309 RegisterAnimation("HEART", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_HEART, true, DayZPlayerConstants.STANCEMASK_PRONE);
1310 RegisterAnimation("WATCHING", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_WATCHING, true, DayZPlayerConstants.STANCEMASK_PRONE);
1311 RegisterAnimation("HOLD", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_HOLD, true, DayZPlayerConstants.STANCEMASK_PRONE);
1312 RegisterAnimation("LISTENING", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_LISTENING, true, DayZPlayerConstants.STANCEMASK_PRONE);
1313 RegisterAnimation("POINTSELF", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_POINTSELF, true, DayZPlayerConstants.STANCEMASK_PRONE);
1314 RegisterAnimation("LOOKATME", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_LOOKATME, true, DayZPlayerConstants.STANCEMASK_PRONE);
1315 RegisterAnimation("OKAY", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_OKAY, true, DayZPlayerConstants.STANCEMASK_PRONE);
1316 RegisterAnimation("SALUTE", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_SALUTE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1317 RegisterAnimation("CAMPFIRE", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_CAMPFIRE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1318 RegisterAnimation("LYINGDOWN", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_LYINGDOWN, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1319 RegisterAnimation("SOS", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_SOS, true, DayZPlayerConstants.STANCEMASK_ERECT);
1320 RegisterAnimation("SITA", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_SITA, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1321 RegisterAnimation("SITB", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_SITB, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1322 RegisterAnimation("DABBING", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_DABBING, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT);
1323 RegisterAnimation("SURRENDER", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_SURRENDER, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_PRONE);
1324 RegisterAnimation("KNEEL", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_GESTUREFB_KNEEL, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1325 RegisterAnimation("TRAILER WAKE UP", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_TRAILER_WAKE_UP, true, DayZPlayerConstants.STANCEMASK_ERECT);
1326 RegisterAnimation("TRAILER DEAD BODY", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_TRAILER_DEAD_BODY, true, DayZPlayerConstants.STANCEMASK_ERECT);
1327 RegisterAnimation("TRAILER WALKIE TALKIE", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_TRAILER_WALKIE_TALKIE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1328 RegisterAnimation("TRAILER WOUNDED", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_TRAILER_WOUNDED, true, DayZPlayerConstants.STANCEMASK_ERECT);
1329 RegisterAnimation("TRAILER WALK AWAY", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_TRAILER_WALK_AWAY, true, DayZPlayerConstants.STANCEMASK_ERECT);
1330 RegisterAnimation("TRAILER DEAD DEAD", TYPE_FB_GESTURE_LOOPING, DayZPlayerConstants.CMD_TRAILER_DEAD, true, DayZPlayerConstants.STANCEMASK_ERECT);
1332 RegisterAnimation("THROAT", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_THROAT, true, DayZPlayerConstants.STANCEMASK_PRONE);
1333 RegisterAnimation("MOVE", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_MOVE, true, DayZPlayerConstants.STANCEMASK_PRONE);
1334 RegisterAnimation("DOWN", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_DOWN, true, DayZPlayerConstants.STANCEMASK_PRONE);
1335 RegisterAnimation("COME", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_COME, true, DayZPlayerConstants.STANCEMASK_PRONE);
1336 RegisterAnimation("TAUNT KISS", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_TAUNTKISS, true, DayZPlayerConstants.STANCEMASK_PRONE);
1337 RegisterAnimation("TAUNT THINK", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_TAUNTTHINK, true, DayZPlayerConstants.STANCEMASK_PRONE);
1338 RegisterAnimation("DANCE", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_DANCE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1339 RegisterAnimation("NOD HEAD", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_NODHEAD, true, DayZPlayerConstants.STANCEMASK_PRONE);
1340 RegisterAnimation("SHAKE HEAD", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_SHAKEHEAD, true, DayZPlayerConstants.STANCEMASK_PRONE);
1341 RegisterAnimation("SHRUG", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_SHRUG, true, DayZPlayerConstants.STANCEMASK_PRONE);
1342 RegisterAnimation("SURRENDER", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_GESTUREFB_SURRENDER, true, DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_PRONE);
1343 RegisterAnimation("TRAILER MASK", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_TRAILER_MASK, true, DayZPlayerConstants.STANCEMASK_ERECT);
1344 RegisterAnimation("TRAILER MASK_02", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_TRAILER_MASK_02, true, DayZPlayerConstants.STANCEMASK_ERECT);
1345 RegisterAnimation("TRAILER MASK_CHAINS", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_TRAILER_MASK_CHAINS, true, DayZPlayerConstants.STANCEMASK_ERECT);
1346 RegisterAnimation("TRAILER MASK_DALLAS", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_TRAILER_MASK_DALLAS, true, DayZPlayerConstants.STANCEMASK_ERECT);
1347 RegisterAnimation("TRAILER MASK_HOXTON", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_TRAILER_MASK_HOXTON, true, DayZPlayerConstants.STANCEMASK_ERECT);
1348 RegisterAnimation("TRAILER MASK_WOLF", TYPE_FB_GESTURE_ONETIME, DayZPlayerConstants.CMD_TRAILER_MASK_WOLF, true, DayZPlayerConstants.STANCEMASK_ERECT);
1349
1354 RegisterAnimation("1HD", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_1HD, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1355 RegisterAnimation("FIREAXE", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_FIREAXE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1356 RegisterAnimation("PITCHFORK", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_PITCHFORK, true, DayZPlayerConstants.STANCEMASK_ERECT);
1357 RegisterAnimation("PISTOL", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_PISTOL, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1358 RegisterAnimation("RIFLE", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_RIFLE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1359 RegisterAnimation("SWORD", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_SWORD, true, DayZPlayerConstants.STANCEMASK_ERECT);
1360 RegisterAnimation("UNARMED", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_UNARMED, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1361 RegisterAnimation("WOODAXE", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_WOODAXE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1362 RegisterAnimation("SPEAR", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_SPEAR, true, DayZPlayerConstants.STANCEMASK_ERECT);
1363 RegisterAnimation("SICKLE", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_SICKLE, true, DayZPlayerConstants.STANCEMASK_CROUCH);
1364 RegisterAnimation("HOE", TYPE_FB_SUICIDE_LOOPING, DayZPlayerConstants.CMD_SUICIDEFB_HOE, true, DayZPlayerConstants.STANCEMASK_ERECT);
1365 }
1366
1367}
override bool OnMouseEnter(Widget w, int x, int y)
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
Definition camera.c:2
static ref set< string > m_AnimEventMapping
override void OnStateChange(int pOldState, int pCurrentState)
override void OnFinish(bool pCanceled)
override void OnAnimationEvent(int pEventID)
Plugin interface for controlling of agent pool system.
Definition pluginbase.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
class DayZCreatureAnimInterface RegisterAnimationEvent(string event_name, string function_name)
void Hide()
Definition dayzgame.c:170
void Show()
Definition dayzgame.c:162
override bool OnClick(Widget w, int x, int y, int button)
buttons clicks
Definition dayzgame.c:151
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
ERPCs
Definition erpcs.c:2
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.
array< string > TStringArray
Definition enscript.c:709
proto native float GetWorldTime()
Icon x
Icon y
bool m_IsActive
PlayerBase GetPlayer()
bool IsActive()
ref Timer m_TickTimer
override bool OnChange(Widget w, int x, int y, bool finished)
void CreateTypeNameMapping()
ButtonWidget m_ActionTypeFLA
TextListboxWidget m_ActionsSelector
void ShowWidgets(bool show)
bool m_CH_ActionCancel
ref PluginDayzPlayerDebug_Ctrl m_Controls
ButtonWidget m_PlayerSyncDelete
void DisplayActions(int pType)
ButtonWidget m_ActionsEnd
bool m_CH_ActionStart
bool IsWeaponChange(out string pNewWeapon, out int pHideSlot, out int pShowSlot)
void DbgShowBoneName(DayZPlayer pPlayer)
void ToggleDebugWindowEventOld()
ButtonWidget m_ActionTypeOA
TextWidget m_ActionsGlobalStatus
ButtonWidget m_ClearEventsButton
void Actions_UpdateGlobals(DayZPlayer pPlayer)
ref map< string, ref PluginDayzPlayerDebugUserData > m_AnimationListMappings
ref PluginDayzPlayerDebug_OtherCmds m_OtherCmds
void PluginDayzPlayerDebugUserData(string name, int category, int pUserData, bool pFullBody, int pStanceMask=-1)
ButtonWidget m_PlayerServerWalk
void Actions_Start()
Widget m_Card1
ButtonWidget m_ActionTypeLA
Entity m_pPlayerShadow
ButtonWidget m_ActionsOTA
int m_CurrentType
void PlayerSyncDelete()
TextWidget m_ActionEventV
ref PluginDayzPlayerDebug_Weapons m_Weapons
void ShowCard(int pCard)
TextWidget m_ActionStateV
ref array< ref PluginDayzPlayerDebugUserData > m_AnimationList
ButtonWidget m_ActionTypeFOA
void ToggleDebugWindowSetMode(int pMode)
void RegisterAnimations()
TextWidget m_ItemAccInst
Widget m_MainWnd
void ~PluginDayzPlayerDebug()
EditBoxWidget m_ActionsFilter
TextWidget m_ItemAccSClass
void UpdateCommandModifiers(DayZPlayer pPlayer)
void PlayerSyncCreate()
int m_CurrentMode
ref PluginDayzPlayerDebugUIHandler m_pUIHandler
void PluginDayzPlayerDebug()
TextWidget m_ItemAccClass
void UpdatePlayerStatus(DayZPlayer pPlayer)
ButtonWidget m_Card2Button
bool m_HasServerWalk
ButtonWidget m_ActionsFinish
ButtonWidget m_ActionTypeFLG
void ToggleDebugWindowEventP()
void Actions_DoInternalCommand(int pCommandId)
void ToggleDebugWindowEvent()
void RegisterDebugItem(ItemBase item, PlayerBase player)
ButtonWidget m_ActionTypeFOG
class PluginDayzPlayerActionCallback extends HumanCommandActionCallback TYPE_MOD_LOOPING
ButtonWidget m_ActionTypeLG
bool m_HasFocus
void ReleaseFocus()
int m_CH_ActionCommand
void Actions_DoCancel()
ButtonWidget m_ActionsStart
ButtonWidget m_Card1Button
ButtonWidget m_Card0Button
ButtonWidget m_ActionsOTL
Widget m_Card3
TextListboxWidget m_EventsHistory
ButtonWidget m_ActionsCancel
Widget m_Card4
ref map< int, string > m_TypeNameMappings
ButtonWidget m_ActionTypeAll
Widget m_Card2
void CommandHandler()
void DestroyModuleWidgets()
ButtonWidget m_Card3Button
ButtonWidget m_Card4Button
ButtonWidget m_ActionTypeOG
void CreateModuleWidgets()
EditBoxWidget m_PlayerStatusV
Widget m_Card0
PluginDayzPlayerDebug m_pPluginPlayerDebug
ButtonWidget m_PlayerSyncCreateShadow
void RegisterAnimation(string name, int category, int pUserData, bool pFullBody, int pStanceMask=-1)
void CaptureFocus()
void UpdateItemAccessor(DayZPlayer pPlayer)