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

◆ IsVitalGlowPlug()

override bool OnDebugSpawn::IsVitalGlowPlug ( )
protected

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

812{
816
817 void Sedan_02()
818 {
819 m_dmgContactCoef = 0.0790;
820
821 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
822 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
823 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
824 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
825 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
826 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
827
828 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
829 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
830
831 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
832 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
833
834 SetEnginePos("0 0.7 -1.7");
835 }
836
837 void ~Sedan_02()
838 {
839 m_UTSource = null;
840 m_UTSSettings = null;
841 m_UTSLEngine = null;
842 }
843
844 override void EEInit()
845 {
846 super.EEInit();
847
848 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
849 {
851 m_UTSSettings.m_ManualUpdate = true;
853 m_UTSSettings.m_TemperatureCap = 0;
854 m_UTSSettings.m_RangeFull = 0.5;
855 m_UTSSettings.m_RangeMax = 2;
856
859 }
860 }
861
862 override void OnEngineStart()
863 {
864 super.OnEngineStart();
865
866 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
867 {
868 if (m_UTSource)
869 m_UTSource.SetDefferedActive(true, 20.0);
870 }
871 }
872
873 override void OnEngineStop()
874 {
875 super.OnEngineStop();
876
877 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
878 {
879 if (m_UTSource)
880 m_UTSource.SetDefferedActive(false, 10.0);
881 }
882 }
883
884 override void EOnPostSimulate(IEntity other, float timeSlice)
885 {
886 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
887 {
888 if (m_UTSource && m_UTSource.IsActive())
889 {
891 }
892 }
893 }
894
895 override int GetAnimInstance()
896 {
897 return VehicleAnimInstances.S120;
898 }
899
900 override int GetSeatAnimationType(int posIdx)
901 {
902 switch (posIdx)
903 {
904 case 0:
905 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
906 case 1:
907 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
908 case 2:
909 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
910 case 3:
911 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
912 }
913
914 return 0;
915 }
916
917 // Override for car-specific light type
919 {
920 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
921 }
922
923 // Override for car-specific light type
925 {
926 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
927 }
928
929 override bool CanReleaseAttachment( EntityAI attachment )
930 {
931 if (!super.CanReleaseAttachment(attachment))
932 {
933 return false;
934 }
935
936 string attType = attachment.GetType();
937 switch (attType)
938 {
939 case "CarBattery":
940 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
941 {
942 return false;
943 }
944 break;
945
946 case "SparkPlug":
947 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
948 {
949 return false;
950 }
951 break;
952
953 case "CarRadiator":
954 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
955 {
956 return false;
957 }
958 break;
959 }
960
961 return true;
962 }
963
964 override protected bool CanManipulateSpareWheel(string slotSelectionName)
965 {
966 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
967 }
968
969 override bool CanDisplayAttachmentCategory(string category_name)
970 {
971 if ( !super.CanDisplayAttachmentCategory(category_name))
972 {
973 return false;
974 }
975
976 category_name.ToLower();
977 if (category_name.Contains("engine"))
978 {
979 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
980 {
981 return false;
982 }
983 }
984
985 if (category_name.Contains("trunk"))
986 {
987 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
988 {
989 return false;
990 }
991 }
992
993 return true;
994 }
995
996 override bool CanDisplayCargo()
997 {
998 if ( !super.CanDisplayCargo() )
999 return false;
1000
1001 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
1002 return false;
1003
1004 return true;
1005 }
1006
1007 override int GetCarDoorsState(string slotType)
1008 {
1009 CarDoor carDoor;
1010
1011 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1012 if (!carDoor)
1013 {
1014 return CarDoorState.DOORS_MISSING;
1015 }
1016
1017 switch (slotType)
1018 {
1019 case "Sedan_02_Door_1_1":
1020 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1021
1022 case "Sedan_02_Door_2_1":
1023 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1024
1025 case "Sedan_02_Door_1_2":
1026 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1027
1028 case "Sedan_02_Door_2_2":
1029 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1030
1031 case "Sedan_02_Hood":
1032 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1033
1034 case "Sedan_02_Trunk":
1035 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1036 }
1037
1038 return CarDoorState.DOORS_MISSING;
1039 }
1040
1041
1042 override bool CrewCanGetThrough( int posIdx )
1043 {
1044 switch( posIdx )
1045 {
1046 case 0:
1047 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1048 return false;
1049
1050 return true;
1051 break;
1052
1053 case 1:
1054 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1055 return false;
1056
1057 return true;
1058 break;
1059
1060 case 2:
1061 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1062 return false;
1063
1064 return true;
1065 break;
1066
1067 case 3:
1068 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1069 return false;
1070
1071 return true;
1072 break;
1073 }
1074
1075 return false;
1076 }
1077
1078 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1079 {
1080 switch( posIdx )
1081 {
1082 case 0:
1083 return "doors_driver";
1084 break;
1085 case 1:
1086 return "doors_codriver";
1087 break;
1088 case 2:
1089 return "doors_cargo1";
1090 break;
1091 case 3:
1092 return "doors_cargo2";
1093 break;
1094 }
1095
1096 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1097 }
1098
1099 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1100 {
1101 switch( posIdx )
1102 {
1103 case 0:
1104 return "Sedan_02_Door_1_1";
1105 break;
1106 case 1:
1107 return "Sedan_02_Door_2_1";
1108 break;
1109 case 2:
1110 return "Sedan_02_Door_1_2";
1111 break;
1112 case 3:
1113 return "Sedan_02_Door_2_2";
1114 break;
1115 }
1116
1117 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1118 }
1119
1120 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1121 {
1122 switch ( ctrl )
1123 {
1124 case CarSoundCtrl.DOORS:
1125 float newValue = 0;
1126 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1127 {
1128 newValue += 0.25;
1129 }
1130
1131 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1132 {
1133 newValue += 0.25;
1134 }
1135
1136 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1137 {
1138 newValue += 0.25;
1139 }
1140
1141 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1142 {
1143 newValue += 0.25;
1144 }
1145
1146 return Math.Clamp(newValue, 0, 1);
1147 break;
1148 }
1149
1150 return super.OnSound(ctrl, oldValue);
1151 }
1152
1153 override string GetAnimSourceFromSelection( string selection )
1154 {
1155 switch( selection )
1156 {
1157 case "doors_driver":
1158 return "DoorsDriver";
1159 case "doors_codriver":
1160 return "DoorsCoDriver";
1161 case "doors_cargo1":
1162 return "DoorsCargo1";
1163 case "doors_cargo2":
1164 return "DoorsCargo2";
1165 case "doors_hood":
1166 return "DoorsHood";
1167 case "doors_trunk":
1168 return "DoorsTrunk";
1169 }
1170
1171 return "";
1172 }
1173
1174
1175 override bool IsVitalTruckBattery()
1176 {
1177 return false;
1178 }
1179
1180 override bool IsVitalGlowPlug()
1181 {
1182 return false;
1183 }
1184
1185 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1186 {
1187 switch (currentSeat)
1188 {
1189 case 0:
1190 return nextSeat == 1;
1191
1192 case 1:
1193 return nextSeat == 0;
1194
1195 case 2:
1196 return nextSeat == 3;
1197
1198 case 3:
1199 return nextSeat == 2;
1200 }
1201
1202 return false;
1203 }
1204
1205 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1206 {
1207 switch (pCurrentSeat)
1208 {
1209 case 0:
1210 return pDoorsSelection == "DoorsDriver";
1211
1212 case 1:
1213 return pDoorsSelection == "DoorsCoDriver";
1214
1215 case 2:
1216 return pDoorsSelection == "DoorsCargo1";
1217
1218 case 3:
1219 return pDoorsSelection == "DoorsCargo2";
1220 }
1221
1222 return false;
1223 }
1224
1225 override void OnDebugSpawn()
1226 {
1227 SpawnUniversalParts();
1228 SpawnAdditionalItems();
1229 FillUpCarFluids();
1230
1231 GameInventory inventory = GetInventory();
1232 inventory.CreateInInventory("Sedan_02_Wheel");
1233 inventory.CreateInInventory("Sedan_02_Wheel");
1234 inventory.CreateInInventory("Sedan_02_Wheel");
1235 inventory.CreateInInventory("Sedan_02_Wheel");
1236 inventory.CreateInInventory("Sedan_02_Wheel");
1237
1238 inventory.CreateInInventory("Sedan_02_Door_1_1");
1239 inventory.CreateInInventory("Sedan_02_Door_1_2");
1240 inventory.CreateInInventory("Sedan_02_Door_2_1");
1241 inventory.CreateInInventory("Sedan_02_Door_2_2");
1242 inventory.CreateInInventory("Sedan_02_Hood");
1243 inventory.CreateInInventory("Sedan_02_Trunk");
1244
1245 //-----IN CAR CARGO
1246 inventory.CreateInInventory("Sedan_02_Wheel");
1247 inventory.CreateInInventory("Sedan_02_Wheel");
1248 }
1249}
1250
1251class Sedan_02_Red extends Sedan_02
1252{
1253 override void OnDebugSpawn()
1254 {
1255 SpawnUniversalParts();
1256 SpawnAdditionalItems();
1257 FillUpCarFluids();
1258
1259 GameInventory inventory = GetInventory();
1260 inventory.CreateInInventory("Sedan_02_Wheel");
1261 inventory.CreateInInventory("Sedan_02_Wheel");
1262 inventory.CreateInInventory("Sedan_02_Wheel");
1263 inventory.CreateInInventory("Sedan_02_Wheel");
1264
1265 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1266 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1267 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1268 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1269 inventory.CreateInInventory("Sedan_02_Hood_Red");
1270 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1271
1272 //-----IN CAR CARGO
1273 inventory.CreateInInventory("Sedan_02_Wheel");
1274 inventory.CreateInInventory("Sedan_02_Wheel");
1275 }
1276}
1277
1278class Sedan_02_Grey extends Sedan_02
1279{
1280 override void OnDebugSpawn()
1281 {
1282 SpawnUniversalParts();
1283 SpawnAdditionalItems();
1284 FillUpCarFluids();
1285
1286 GameInventory inventory = GetInventory();
1287 inventory.CreateInInventory("Sedan_02_Wheel");
1288 inventory.CreateInInventory("Sedan_02_Wheel");
1289 inventory.CreateInInventory("Sedan_02_Wheel");
1290 inventory.CreateInInventory("Sedan_02_Wheel");
1291
1292 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1293 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1294 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1295 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1296 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1297 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1298
1299 //-----IN CAR CARGO
1300 inventory.CreateInInventory("Sedan_02_Wheel");
1301 inventory.CreateInInventory("Sedan_02_Wheel");
1302 }
1303}
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
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:816
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:443
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:784
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:531
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:751
void ~Sedan_02()
Определения Sedan_02.c:468
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:730
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:515
override void OnEngineStop()
Определения Sedan_02.c:504
override void EEInit()
Определения Sedan_02.c:475
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:560
override bool CanDisplayCargo()
Определения Sedan_02.c:627
override void OnEngineStart()
Определения Sedan_02.c:493
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:549
override int GetAnimInstance()
Определения Sedan_02.c:526
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:836
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:595
override bool IsVitalGlowPlug()
Определения Sedan_02.c:811
void Sedan_02()
Определения Sedan_02.c:448
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:555
override bool IsVitalTruckBattery()
Определения Sedan_02.c:806
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:638
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:600
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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:470
Определения Sedan_02.c:469
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.