DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ GetAdminLogMessage()

override string ActionBuildPartHandsGeneric::GetAdminLogMessage ( ActionData action_data)
protected

См. определение в файле ActionBuildPart.c строка 645

645 : ActionReciveData
646{
647 string m_PartType;
648}
649
650class BuildPartActionData : ActionData
651{
652 string m_PartType;
653};
654
656{
657 override void CreateActionComponent()
658 {
659 float time = SetCallbackDuration(m_ActionData.m_MainItem);
660 m_ActionData.m_ActionComponent = new CAContinuousTime(time);
661 }
662
663 float SetCallbackDuration(ItemBase item)
664 {
665 #ifdef DIAG_DEVELOPER
666 if (m_ActionData.m_Player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.FAST)
667 return 1;
668 #endif
669
670 if (item) //TODO: configure and evaluate item suitability?
671 return UATimeSpent.BASEBUILDING_CONSTRUCT_MEDIUM;
672 else
673 return UATimeSpent.BASEBUILDING_CONSTRUCT_SLOW;
674 }
675};
676
678{
679 void ActionBuildPart()
680 {
681 m_CallbackClass = ActionBuildPartCB;
682 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
683 m_FullBody = true;
684 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
685
686 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
687 m_LockTargetOnUse = false;
688 m_Text = "#build";
689 }
690
691 override void CreateConditionComponents()
692 {
693 m_ConditionItem = new CCINonRuined;
694 m_ConditionTarget = new CCTCursor;
695 }
696
697 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
698 {
699 ConstructionActionData cad = player.GetConstructionActionData();
701 if (part)
702 {
703 string overrideText = part.GetBuildTextOverride();
704 if (overrideText == string.Empty)
705 m_Text = "#build "+ part.GetName();
706 else
707 m_Text = overrideText;
708
709 #ifdef DIAG_DEVELOPER
710 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
711 {
712 m_Text = "dbgBuild | part classname: " + part.GetPartName();
713 }
714 #endif
715 }
716 }
717
718 override void InitInfoData()
719 {
720 m_InfoData = new ActionInfoDataConstructionPossible();
721 }
722
723 override bool CanBeUsedLeaning()
724 {
725 return false;
726 }
727
728 override bool CanBeUsedInFreelook()
729 {
730 return false;
731 }
732
733 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
734 {
735 #ifdef DIAG_DEVELOPER
736 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
737 return false;
738 #endif
739
740 EntityAI ent;
741 if (!Class.CastTo(ent,target.GetObject()))
742 return false;
743
744 if (player.IsPlacingLocal() || player.IsPlacingServer())
745 return false;
746
747 //Action not allowed if player has broken legs
748 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
749 return false;
750
751 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild())
752 return false;
753
754 if ((!GetGame().IsDedicatedServer()))
755 {
756 if (!PositioningCheck(player, target))
757 return false;
758
759 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
760 return GatherInfoData(player,target,item);
761
762 return false;
763 }
764 return true;
765 }
766
767 override bool ActionConditionContinue(ActionData action_data)
768 {
769 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
770 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
771 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
772 CollisionCheckData check_data = new CollisionCheckData;
773
774 check_data.m_PartName = part_name;
775 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
776
777 bool canBuild = construction.CanBuildPart(part_name, action_data.m_MainItem, true);
778 #ifdef DIAG_DEVELOPER
779 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
780 canBuild = true;
781 #endif
782 if (GetGame().IsServer())
783 {
784 bool collides = construction.IsCollidingEx(check_data);
785
786 return !collides && canBuild;
787 }
788 else
789 {
790 return canBuild;
791 }
792 }
793
794 override void OnFinishProgressServer(ActionData action_data)
795 {
796 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
797 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
798
799 string partName = BuildPartActionData.Cast(action_data).m_PartType;
800 ConstructionPart part = construction.GetConstructionPart(partName);
802
803 checkData.m_PartName = partName;
804 checkData.m_AdditionalExcludes.Insert(action_data.m_Player);
805
806 bool canBuild = construction.CanBuildPart(partName, action_data.m_MainItem, UseMainItem()); //TODO: do we need to check it here when ActionVariantManager already does it?
807 #ifdef DIAG_DEVELOPER
808 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
809 canBuild = true;
810 #endif
811 if (!construction.IsCollidingEx(checkData) && canBuild)
812 {
813 //build
814 construction.BuildPartServerEx(action_data.m_Player, partName, AT_BUILD_PART);
815
816 #ifdef DIAG_DEVELOPER
817 //skip tool/hand damage on debug action
818 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
819 return;
820 #endif
821
822 //add damage to tool or hands
823 if (action_data.m_MainItem)
824 {
825 if (part.DamageToolOnBuild())
826 action_data.m_MainItem.DecreaseHealth(UADamageApplied.BUILD, false);
827 }
828 else
829 {
830 if (part.DamageHandsOnBuild())
831 {
832 EntityAI gloves = action_data.m_Player.GetInventory().FindAttachment(InventorySlots.GLOVES);
833 if (gloves && gloves.GetHealthLevel() < 4)
834 {
835 gloves.AddHealth("","", PlayerConstants.GLOVES_DAMAGE_HAND_CONSTRUCTION);
836 }
837 else if (Math.RandomFloat01() < PlayerConstants.CHANCE_TO_BLEED_HAND_CONSTRUCTION)
838 {
839 if (Math.RandomFloat01() < 0.5)
840 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftForeArmRoll");
841 else
842 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightForeArmRoll");
843 action_data.m_Player.RequestSoundEventEx(EPlayerSoundEventID.INJURED_LIGHT); //play sound regardless?
844 }
845 }
846 }
847 }
848 }
849
850 override string GetSoundCategory(ActionData action_data)
851 {
852 return "Base_building";
853 }
854
855 override ActionData CreateActionData()
856 {
857 BuildPartActionData action_data = new BuildPartActionData;
858 return action_data;
859 }
860
861 //setup
862 override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
863 {
864 if (super.SetupAction(player, target, item, action_data, extra_data))
865 {
866 if (!g_Game.IsDedicatedServer())
867 {
868 ComposeBuildActionDataClient(player,target,item,action_data,extra_data);
869 }
870
871 SetBuildingAnimationEx(player, target, item, action_data, extra_data);
872 return true;
873 }
874
875 return false;
876 }
877
878 protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
879 {
880 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
882 BuildPartActionData.Cast(action_data).m_PartType = part.GetPartName();
883 }
884
885 protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
886 {
887 if (!item)
888 return;
889
890 switch (item.Type())
891 {
892 case Pickaxe:
893 case Shovel:
894 case FarmingHoe:
895 case FieldShovel:
896 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIG;
897 break;
898 case Pliers:
899 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
900 break;
901 case SledgeHammer:
902 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MINEROCK;
903 break;
904 case BrickTrowel:
905 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_BRICKTROWEL;
906 break;
907 default:
908 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
909 break;
910 }
911 }
912
913 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
914 {
915 super.WriteToContext(ctx, action_data);
916
917 ctx.Write(BuildPartActionData.Cast(action_data).m_PartType);
918 }
919
920 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
921 {
922 action_recive_data = new BuildPartActionReciveData;
923 super.ReadFromContext(ctx, action_recive_data);
924
925 string part_type;
926 if (ctx.Read(part_type))
927 {
928 BuildPartActionReciveData.Cast(action_recive_data).m_PartType = part_type;
929 return true;
930 }
931 else
932 {
933 return false;
934 }
935 }
936
937 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
938 {
939 super.HandleReciveData(action_recive_data, action_data);
940
941 BuildPartActionData.Cast(action_data).m_PartType = BuildPartActionReciveData.Cast(action_recive_data).m_PartType;
942 }
943
944 override string GetAdminLogMessage(ActionData action_data)
945 {
946 string partName = BuildPartActionData.Cast(action_data).m_PartType;
947
948 string itemName = "hands";
949 if (action_data.m_MainItem)
950 itemName = action_data.m_MainItem.GetDisplayName();
951
952 string message = string.Format("Built %1 on %2 with %3", partName, action_data.m_Target.GetObject().GetDisplayName(), itemName);
953 return message;
954 }
955
956 protected void ClearInfoData()
957 {
959 }
960
961 protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
962 {
964
965 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
966 ConstructionActionData cad = player.GetConstructionActionData();
968 info.SetConstructionPart(part);
969 info.SetTool(item);
970
971 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
972 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
973
974 return info.CanDisplayInfo();
975 }
976
978 protected bool PositioningCheck(PlayerBase player, ActionTarget target)
979 {
980 EntityAI ent = EntityAI.Cast(target.GetObject());
981 BaseBuildingBase bbb = BaseBuildingBase.Cast(ent);
982 ConstructionActionData cad = player.GetConstructionActionData();
984
985 if (part)
986 {
987 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
988 if (!ent.IsPlayerInsideEx(player, part.GetPartName()))
989 {
990 if (bbb && !bbb.MustBeBuiltFromOutside())
991 return false;
992 else if (!bbb)
993 return false;
994 }
995 if (!construction.ConstructionDirectionCheck(player, part, EConstructionDirCheckType.INDOORS))
996 return false;
997 if (!construction.ConstructionInsiderBoxCheck(player, part))
998 return false;
999
1000 return true;
1001 }
1002 return false;
1003 }
1004
1006 protected ConstructionPart GetTargetPart(ConstructionActionData cad)
1007 {
1008 return cad.GetBuildPartAtIndex(m_VariantID);
1009 }
1010
1012 //deprecated//
1014 [Obsolete("Use 'SetBuildingAnimationEx' instead")]
1015 protected void SetBuildingAnimation(ItemBase item)
1016 {
1017 SetBuildingAnimationEx(null,null,item,null);
1018 }
1019}
1020
1022{
1024 {
1025 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
1026 }
1027
1028 override void CreateConditionComponents()
1029 {
1030 m_ConditionItem = new CCINone;
1031 m_ConditionTarget = new CCTCursor;
1032 }
1033
1034 override bool UseMainItem()
1035 {
1036 return false;
1037 }
1038
1039 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
1040 {
1041 ConstructionActionData cad = player.GetConstructionActionData();
1043 if (part)
1044 {
1045 string overrideText = part.GetBuildTextOverride();
1046 if (overrideText == string.Empty)
1047 m_Text = "#build "+ part.GetName();
1048 else
1049 m_Text = overrideText;
1050
1051 #ifdef DIAG_DEVELOPER
1052 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
1053 {
1054 m_Text = "dbgBuild | part classname: " + part.GetPartName() + " with hands";
1055 }
1056 #endif
1057 }
1058 }
1059
1060 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
1061 {
1062 #ifdef DIAG_DEVELOPER
1063 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
1064 return false;
1065 #endif
1066
1067 if (item)
1068 return false;
1069
1070 EntityAI ent;
1071 if (!Class.CastTo(ent,target.GetObject()))
1072 return false;
1073
1074 if (player.IsPlacingLocal() || player.IsPlacingServer())
1075 return false;
1076
1077 //Action not allowed if player has broken legs
1078 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
1079 return false;
1080
1081 bool handConstructionCondition = ent.CanUseHandConstruction();
1082 #ifdef DIAG_DEVELOPER
1083 if (player.GetConstructionActionData().GetFastConstructionMode())
1084 handConstructionCondition = true;
1085 #endif
1086
1087 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild() || !handConstructionCondition)
1088 return false;
1089
1090 if ((!GetGame().IsDedicatedServer()))
1091 {
1092 if (!PositioningCheck(player, target))
1093 return false;
1094
1095 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
1096 return GatherInfoData(player,target,item);
1097
1098 return false;
1099 }
1100 return true;
1101 }
1102
1103 override bool ActionConditionContinue(ActionData action_data)
1104 {
1105 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1106 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1107 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
1108 CollisionCheckData check_data = new CollisionCheckData;
1109
1110 check_data.m_PartName = part_name;
1111 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
1112
1113 bool canBuild = construction.CanBuildPart(part_name, null, false);
1114 #ifdef DIAG_DEVELOPER
1115 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
1116 canBuild = true;
1117 #endif
1118 if (GetGame().IsServer())
1119 {
1120 bool collides = construction.IsCollidingEx(check_data);
1121
1122 return !collides && canBuild;
1123 }
1124 else
1125 {
1126 return canBuild;
1127 }
1128 }
1129
1130 override protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
1131 {
1132 ClearInfoData();
1133
1134 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
1135 ConstructionActionData cad = player.GetConstructionActionData();
1137 info.SetConstructionPart(part);
1138 info.SetTool(item);
1139
1140 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
1141 /*
1142 int actionMask = part.GetBuildActionTypeMask();
1143 actionMask &= ~EConstructionTools.TOOL_HANDS;
1144 if (actionMask != 0)
1145 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info ONLY when also buildable by one!
1146 */
1147 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
1148
1149 return info.CanDisplayInfo();
1150 }
1151
1152 override protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
1153 {
1154 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
1155 BuildPartActionData.Cast(action_data).m_PartType = cad.GetBuildPartHandsGenericAtIndex(m_VariantID).GetPartName();
1156 }
1157
1159 override protected ConstructionPart GetTargetPart(ConstructionActionData cad)
1160 {
1162 }
1163
1165 override protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
1166 {
1167 if (item)
1168 return;
1169
1170 BuildPartActionData buildData;
1171 if (Class.CastTo(buildData, action_data))
1172 {
1173 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1174 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1175 ConstructionPart part = construction.GetConstructionPart(buildData.m_PartType);
1176 int animOverrideID = part.GetHandBuildFBAnimOverride();
1177
1178 if (animOverrideID >= 0)
1179 m_CommandUID = animOverrideID;
1180 else
1181 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
1182 }
1183 }
1184}
1185
1186// Deprecated
class LogManager EntityAI
const int AT_BUILD_PART
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
bool ActionConditionContinue(ActionData action_data)
Определения ActionBase.c:436
ref ActionInfoDataBase m_InfoData
Определения ActionBase.c:70
void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:1342
int m_VariantID
Определения ActionBase.c:67
void CreateConditionComponents()
Определения ActionBase.c:245
bool m_LockTargetOnUse
Определения ActionBase.c:59
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
float m_SpecialtyWeight
Определения ActionBase.c:77
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:441
bool UseMainItem()
Определения ActionBase.c:417
int m_StanceMask
Определения ActionBase.c:61
BuildPartActionReciveData m_PartType
void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:579
bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:662
bool PositioningCheck(PlayerBase player, ActionTarget target)
Can build from the inside only, if applicable.
Определения ActionBuildPart.c:679
void ClearInfoData()
Определения ActionBuildPart.c:657
override bool UseMainItem()
Определения ActionBuildPart.c:390
ConstructionPart GetTargetPart(ConstructionActionData cad)
Does not work on server, since variants are not updated there (invoker does not invoke)
Определения ActionBuildPart.c:707
ActionBuildPart ActionContinuousBase ActionBuildPartHandsGeneric()
Определения ActionBuildPart.c:379
void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data=NULL)
here we base anims on targeted part
Определения ActionBuildPart.c:586
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void BaseBuildingBase()
Определения BaseBuildingBase.c:1326
void ConstructionBase(EntityAI parent)
Определения ConstructionBase.c:58
void CollisionCheckData()
Определения ConstructionBase.c:1923
EConstructionInfoCategories
Определения ConstructionConstants.c:2
void ConstructionPart(string name, string part_name, string main_part_name, int id, bool is_built, bool is_base, bool is_gate, array< string > required_parts)
Определения ConstructionPart.c:531
DayZGame g_Game
Определения DayZGame.c:4074
eBrokenLegs
Определения EBrokenLegs.c:2
DiagMenuIDs
Определения EDiagMenuIDs.c:2
class GP5GasMask extends MaskBase ItemBase
Empty
Определения Hand_States.c:14
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionBuildPart()
Определения ActionBuildPart.c:35
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:218
override bool CanBeUsedInFreelook()
Определения ActionBuildPart.c:84
void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:234
override bool CanBeUsedLeaning()
Определения ActionBuildPart.c:79
bool PositioningCheck(PlayerBase player, ActionTarget target)
Can build from the inside only, if applicable.
Определения ActionBuildPart.c:334
override void CreateConditionComponents()
Определения ActionBuildPart.c:47
override string GetSoundCategory(ActionData action_data)
Определения ActionBuildPart.c:206
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
Определения ActionBuildPart.c:276
void SetBuildingAnimation(ItemBase item)
Определения ActionBuildPart.c:371
override bool ActionConditionContinue(ActionData action_data)
Определения ActionBuildPart.c:123
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:89
void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:241
override ActionData CreateActionData()
Определения ActionBuildPart.c:211
ConstructionPart GetTargetPart(ConstructionActionData cad)
Does not work on server, since variants are not updated there (invoker does not invoke)
Определения ActionBuildPart.c:362
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
Определения ActionBuildPart.c:269
override void InitInfoData()
Определения ActionBuildPart.c:74
override string GetAdminLogMessage(ActionData action_data)
Определения ActionBuildPart.c:300
override void OnFinishProgressServer(ActionData action_data)
Определения ActionBuildPart.c:150
bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:317
void ClearInfoData()
Определения ActionBuildPart.c:312
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBuildPart.c:293
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:53
float SetCallbackDuration(ItemBase item)
Определения ActionBuildPart.c:19
override void CreateActionComponent()
Определения ActionBuildPart.c:13
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
int m_InfoContextMask
Определения ActionPartInfo.c:211
int m_CommandUID
Определения AnimatedActionBase.c:147
override bool MustBeBuiltFromOutside()
Определения ShelterSite.c:80
ConstructionPart GetBuildPartHandsGenericAtIndex(int idx)
Определения ConstructionActionData.c:364
ConstructionPart GetBuildPartAtIndex(int idx)
Определения ConstructionActionData.c:346
int GetHandBuildFBAnimOverride()
Определения ConstructionPart.c:253
string GetPartName()
Определения ConstructionPart.c:198
string GetBuildTextOverride()
Определения ConstructionPart.c:315
string GetName()
Определения ConstructionPart.c:193
bool DamageHandsOnBuild()
Определения ConstructionPart.c:218
bool DamageToolOnBuild()
Определения ConstructionPart.c:213
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
Serializer ParamsReadContext
Определения gameplay.c:15
Serializer ParamsWriteContext
Определения gameplay.c:16
DayZGame GetGame()
Определения gameplay.c:636
void Obsolete(string msg="")
Определения EnScript.c:371
proto void Insert(int index, string input)
Inserts a string into the n-th index, increasing the string length by the size of the input.