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

◆ IsVitalTruckBattery()

override bool OnDebugSpawn::IsVitalTruckBattery ( )
protected

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

756{
760
761 void Hatchback_02()
762 {
763 //m_dmgContactCoef = 0.070;
764
765 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
766 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
767 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
768 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
769 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
770 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
771
772 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
773 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
774
775 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
776 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
777
778 SetEnginePos("0 0.7 1.4");
779 }
780
781 void ~Hatchback_02()
782 {
783 m_UTSource = null;
784 m_UTSSettings = null;
785 m_UTSLEngine = null;
786 }
787
788 override void EEInit()
789 {
790 super.EEInit();
791
792 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
793 {
795 m_UTSSettings.m_ManualUpdate = true;
797 m_UTSSettings.m_TemperatureCap = 0;
798 m_UTSSettings.m_RangeFull = 0.5;
799 m_UTSSettings.m_RangeMax = 2;
800
803 }
804 }
805
806 override void OnEngineStart()
807 {
808 super.OnEngineStart();
809
810 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
811 {
812 if (m_UTSource)
813 m_UTSource.SetDefferedActive(true, 20.0);
814 }
815 }
816
817 override void OnEngineStop()
818 {
819 super.OnEngineStop();
820
821 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
822 {
823 if (m_UTSource)
824 m_UTSource.SetDefferedActive(false, 10.0);
825 }
826 }
827
828 override void EOnPostSimulate(IEntity other, float timeSlice)
829 {
830 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
831 {
832 if (m_UTSource && m_UTSource.IsActive())
833 {
835 }
836 }
837 }
838
839 override int GetAnimInstance()
840 {
841 return VehicleAnimInstances.GOLF;
842 }
843
844 override int GetSeatAnimationType(int posIdx)
845 {
846 switch (posIdx)
847 {
848 case 0:
849 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
850 case 1:
851 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
852 case 2:
853 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
854 case 3:
855 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
856 }
857
858 return 0;
859 }
860
861 // Override for car-specific light type
863 {
864 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
865 }
866
867 // Override for car-specific light type
869 {
870 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
871 }
872
873 override bool CanReleaseAttachment(EntityAI attachment)
874 {
875 if (!super.CanReleaseAttachment(attachment))
876 {
877 return false;
878 }
879
880 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
881 {
882 string attType = attachment.GetType();
883 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
884 {
885 return false;
886 }
887 }
888
889 return true;
890 }
891
892 override protected bool CanManipulateSpareWheel(string slotSelectionName)
893 {
894 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
895 }
896
897 override bool CanDisplayAttachmentCategory( string category_name )
898 {
899 //super
900 if ( !super.CanDisplayAttachmentCategory( category_name ) )
901 return false;
902 //
903
904 category_name.ToLower();
905 if ( category_name.Contains("engine") )
906 {
907 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
908 return false;
909 }
910
911 return true;
912 }
913
914 override bool CanDisplayCargo()
915 {
916 if ( !super.CanDisplayCargo() )
917 return false;
918
919 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
920 return false;
921
922 return true;
923 }
924
925 override int GetCarDoorsState(string slotType)
926 {
927 CarDoor carDoor;
928
929 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
930 if (!carDoor)
931 {
932 return CarDoorState.DOORS_MISSING;
933 }
934
935 switch (slotType)
936 {
937 case "Hatchback_02_Door_1_1":
938 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
939
940 case "Hatchback_02_Door_2_1":
941 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
942
943 case "Hatchback_02_Door_1_2":
944 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
945
946 case "Hatchback_02_Door_2_2":
947 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
948
949 case "Hatchback_02_Hood":
950 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
951
952 case "Hatchback_02_Trunk":
953 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
954 }
955
956 return CarDoorState.DOORS_MISSING;
957 }
958
959
960 override bool CrewCanGetThrough(int posIdx)
961 {
962 switch (posIdx)
963 {
964 case 0:
965 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
966 {
967 return false;
968 }
969
970 return true;
971
972 case 1:
973 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
974 {
975 return false;
976 }
977
978 return true;
979
980 case 2:
981 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
982 {
983 return false;
984 }
985
986 return true;
987
988 case 3:
989 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
990 {
991 return false;
992 }
993
994 return true;
995 }
996
997 return false;
998 }
999
1000 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1001 {
1002 switch( posIdx )
1003 {
1004 case 0:
1005 return "doors_driver";
1006 break;
1007 case 1:
1008 return "doors_codriver";
1009 break;
1010 case 2:
1011 return "doors_cargo1";
1012 break;
1013 case 3:
1014 return "doors_cargo2";
1015 break;
1016 }
1017
1018 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1019 }
1020
1021 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1022 {
1023 switch( posIdx )
1024 {
1025 case 0:
1026 return "Hatchback_02_Door_1_1";
1027 break;
1028 case 1:
1029 return "Hatchback_02_Door_2_1";
1030 break;
1031 case 2:
1032 return "Hatchback_02_Door_1_2";
1033 break;
1034 case 3:
1035 return "Hatchback_02_Door_2_2";
1036 break;
1037 }
1038
1039 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1040 }
1041
1042 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1043 {
1044 switch (ctrl)
1045 {
1046 case CarSoundCtrl.DOORS:
1047 float newValue = 0;
1048 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1049 {
1050 newValue += 0.25;
1051 }
1052
1053 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1054 {
1055 newValue += 0.25;
1056 }
1057
1058 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1059 {
1060 newValue += 0.25;
1061 }
1062
1063 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1064 {
1065 newValue += 0.25;
1066 }
1067
1068 return Math.Clamp(newValue, 0, 1);
1069 break;
1070 }
1071
1072 return super.OnSound(ctrl, oldValue);
1073 }
1074
1075 override string GetAnimSourceFromSelection( string selection )
1076 {
1077 switch( selection )
1078 {
1079 case "doors_driver":
1080 return "DoorsDriver";
1081 case "doors_codriver":
1082 return "DoorsCoDriver";
1083 case "doors_cargo1":
1084 return "DoorsCargo1";
1085 case "doors_cargo2":
1086 return "DoorsCargo2";
1087 case "doors_hood":
1088 return "DoorsHood";
1089 case "doors_trunk":
1090 return "DoorsTrunk";
1091 }
1092
1093 return "";
1094 }
1095
1096
1097 override bool IsVitalTruckBattery()
1098 {
1099 return false;
1100 }
1101
1102 override bool IsVitalGlowPlug()
1103 {
1104 return false;
1105 }
1106
1107 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1108 {
1109 switch (currentSeat)
1110 {
1111 case 0:
1112 return nextSeat == 1;
1113 case 1:
1114 return nextSeat == 0;
1115 case 2:
1116 return nextSeat == 3;
1117 case 3:
1118 return nextSeat == 2;
1119 }
1120
1121 return false;
1122 }
1123
1124 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1125 {
1126 switch (pCurrentSeat)
1127 {
1128 case 0:
1129 return pDoorsSelection == "DoorsDriver";
1130 case 1:
1131 return pDoorsSelection == "DoorsCoDriver";
1132 case 2:
1133 return pDoorsSelection == "DoorsCargo1";
1134 case 3:
1135 return pDoorsSelection == "DoorsCargo2";
1136 }
1137
1138 return false;
1139 }
1140
1141 override void OnDebugSpawn()
1142 {
1143 SpawnUniversalParts();
1144 SpawnAdditionalItems();
1145 FillUpCarFluids();
1146
1147 GameInventory inventory = GetInventory();
1148 inventory.CreateInInventory("Hatchback_02_Wheel");
1149 inventory.CreateInInventory("Hatchback_02_Wheel");
1150 inventory.CreateInInventory("Hatchback_02_Wheel");
1151 inventory.CreateInInventory("Hatchback_02_Wheel");
1152
1153 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1154 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1155 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1156 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1157 inventory.CreateInInventory("Hatchback_02_Hood");
1158 inventory.CreateInInventory("Hatchback_02_Trunk");
1159
1160 //-----IN CAR CARGO
1161 inventory.CreateInInventory("Hatchback_02_Wheel");
1162 inventory.CreateInInventory("Hatchback_02_Wheel");
1163 }
1164}
1165
1166class Hatchback_02_Black extends Hatchback_02
1167{
1168 override void OnDebugSpawn()
1169 {
1170 SpawnUniversalParts();
1171 SpawnAdditionalItems();
1172 FillUpCarFluids();
1173
1174 GameInventory inventory = GetInventory();
1175 inventory.CreateInInventory("Hatchback_02_Wheel");
1176 inventory.CreateInInventory("Hatchback_02_Wheel");
1177 inventory.CreateInInventory("Hatchback_02_Wheel");
1178 inventory.CreateInInventory("Hatchback_02_Wheel");
1179
1180 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1181 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1182 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1183 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1184 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1185 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1186
1187 //-----IN CAR CARGO
1188 inventory.CreateInInventory("Hatchback_02_Wheel");
1189 inventory.CreateInInventory("Hatchback_02_Wheel");
1190 }
1191};
1192
1193class Hatchback_02_Blue extends Hatchback_02
1194{
1195 override void OnDebugSpawn()
1196 {
1197 SpawnUniversalParts();
1198 SpawnAdditionalItems();
1199 FillUpCarFluids();
1200
1201 GameInventory inventory = GetInventory();
1202 inventory.CreateInInventory("Hatchback_02_Wheel");
1203 inventory.CreateInInventory("Hatchback_02_Wheel");
1204 inventory.CreateInInventory("Hatchback_02_Wheel");
1205 inventory.CreateInInventory("Hatchback_02_Wheel");
1206
1207 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1208 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1209 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1210 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1211 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1212 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1213
1214 //-----IN CAR CARGO
1215 inventory.CreateInInventory("Hatchback_02_Wheel");
1216 inventory.CreateInInventory("Hatchback_02_Wheel");
1217 }
1218}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:414
void ~Hatchback_02()
Определения Hatchback_02.c:439
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:765
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:733
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:502
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:700
void Hatchback_02()
Определения Hatchback_02.c:419
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:679
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:486
override void OnEngineStop()
Определения Hatchback_02.c:475
override void EEInit()
Определения Hatchback_02.c:446
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:531
override bool CanDisplayCargo()
Определения Hatchback_02.c:572
override void OnEngineStart()
Определения Hatchback_02.c:464
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:526
override int GetAnimInstance()
Определения Hatchback_02.c:497
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:618
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:782
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:550
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:760
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:520
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:755
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:583
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:555
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
override void OnDebugSpawn()
Определения Hatchback_02.c:441
Определения Hatchback_02.c:440
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
Определения 3_Game/DayZ/constants.c:811
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
bool Contains(string sample)
Returns true if sample is substring of string.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.