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

◆ GetCrewIndex()

override int OnDebugSpawn::GetCrewIndex ( string selection)
protected

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

828{
832
833 void OffroadHatchback()
834 {
835 //m_dmgContactCoef = 0.075;
836
837 m_EngineStartOK = "offroad_engine_start_SoundSet";
838 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
839 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
840 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
841 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
842
843 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
844 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
845 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
846 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
847
848 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
849 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
850
851 SetEnginePos("0 0.7 1.2");
852 }
853
854 override void EEInit()
855 {
856 super.EEInit();
857
858 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
859 {
861 m_UTSSettings.m_ManualUpdate = true;
863 m_UTSSettings.m_TemperatureCap = 0;
864 m_UTSSettings.m_RangeFull = 0.5;
865 m_UTSSettings.m_RangeMax = 2;
866
869 }
870 }
871
872 override void OnEngineStart()
873 {
874 super.OnEngineStart();
875
876 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
877 {
878 m_UTSource.SetDefferedActive(true, 20.0);
879 }
880 }
881
882 override void OnEngineStop()
883 {
884 super.OnEngineStop();
885
886 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
887 {
888 m_UTSource.SetDefferedActive(false, 10.0);
889 }
890 }
891
892 override void EOnPostSimulate(IEntity other, float timeSlice)
893 {
894 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
895 {
896 if (m_UTSource.IsActive())
897 {
899 }
900 }
901 }
902
903 override int GetAnimInstance()
904 {
905 return VehicleAnimInstances.HATCHBACK;
906 }
907
908 override float GetTransportCameraDistance()
909 {
910 return 3.5;
911 }
912
913 override int GetSeatAnimationType( int posIdx )
914 {
915 switch (posIdx)
916 {
917 case 0:
918 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
919 case 1:
920 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
921 case 2:
922 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
923 case 3:
924 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
925 }
926
927 return 0;
928
929 }
930
931
933 {
934 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
935 }
936
938 {
939 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
940 }
941
942 override bool CanReleaseAttachment(EntityAI attachment)
943 {
944 if (!super.CanReleaseAttachment(attachment))
945 {
946 return false;
947 }
948
949 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
950 {
951 string attType = attachment.GetType();
952 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
953 {
954 return false;
955 }
956 }
957
958 return true;
959 }
960
961 override protected bool CanManipulateSpareWheel(string slotSelectionName)
962 {
963 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
964 }
965
966 override bool CanDisplayAttachmentCategory( string category_name )
967 {
968 if (!super.CanDisplayAttachmentCategory(category_name))
969 {
970 return false;
971 }
972
973 category_name.ToLower();
974 if (category_name.Contains("engine"))
975 {
976 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
977 {
978 return false;
979 }
980 }
981
982 return true;
983 }
984
985 override bool CanDisplayCargo()
986 {
987 if (!super.CanDisplayCargo())
988 {
989 return false;
990 }
991
992 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
993 {
994 return false;
995 }
996
997 return true;
998 }
999
1000 override int GetCarDoorsState(string slotType)
1001 {
1002 CarDoor carDoor;
1003
1004 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
1005 if (!carDoor)
1006 {
1007 return CarDoorState.DOORS_MISSING;
1008 }
1009
1010 switch (slotType)
1011 {
1012 case "NivaDriverDoors":
1013 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1014
1015 case "NivaCoDriverDoors":
1016 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1017
1018 case "NivaHood":
1019 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1020
1021 case "NivaTrunk":
1022 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1023 }
1024
1025 return CarDoorState.DOORS_MISSING;
1026 }
1027
1028 override bool CrewCanGetThrough(int posIdx)
1029 {
1030 CarDoor carDoor;
1031 switch (posIdx)
1032 {
1033 case 0:
1034 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1035 return false;
1036 else if (GetAnimationPhase("SeatDriver") > 0.5)
1037 return false;
1038
1039 return true;
1040
1041 case 1:
1042 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1043 return false;
1044 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1045 return false;
1046
1047 return true;
1048
1049 case 2:
1050 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1051 return false;
1052 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1053 return false;
1054
1055 return true;
1056
1057 case 3:
1058 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1059 return false;
1060 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1061 return false;
1062
1063 return true;
1064 }
1065
1066 return false;
1067 }
1068
1069 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1070 {
1071 switch (posIdx)
1072 {
1073 case 0:
1074 case 2:
1075 return "doors_driver";
1076 case 1:
1077 case 3:
1078 return "doors_codriver";
1079 }
1080
1081 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1082 }
1083
1084 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1085 {
1086 switch (posIdx)
1087 {
1088 case 0:
1089 case 2:
1090 return "NivaDriverDoors";
1091 case 1:
1092 case 3:
1093 return "NivaCoDriverDoors";
1094 }
1095
1096 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1097 }
1098
1099 // 0 full ambient and engine sound
1100 // 1 zero ambient and engine sound
1101 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1102 {
1103 float tempCap = 0.0;
1104
1105 switch (ctrl)
1106 {
1107 case CarSoundCtrl.DOORS:
1108 float newValue = 0;
1109 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1110 {
1111 newValue += 0.5;
1112 }
1113
1114 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1115 {
1116 newValue += 0.5;
1117 }
1118
1119 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1120 {
1121 newValue += 0.3;
1122 }
1123
1124 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1125 {
1126 newValue -= 0.6;
1127 }
1128
1129 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1130 {
1131 newValue -= 0.2;
1132 }
1133
1134 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1135 {
1136 newValue -= 0.2;
1137 }
1138
1139 return Math.Clamp(newValue, 0, 1);
1140 break;
1141 }
1142
1143 return super.OnSound(ctrl, oldValue);
1144 }
1145
1146 override string GetAnimSourceFromSelection( string selection )
1147 {
1148 switch (selection)
1149 {
1150 case "doors_driver":
1151 return "DoorsDriver";
1152 case "doors_codriver":
1153 return "DoorsCoDriver";
1154 case "doors_hood":
1155 return "DoorsHood";
1156 case "doors_trunk":
1157 return "DoorsTrunk";
1158 case "seatback_driver":
1159 return "SeatDriver";
1160 case "seatback_codriver":
1161 return "SeatCoDriver";
1162 }
1163
1164 return "";
1165 }
1166
1167 override string GetDoorConditionPointFromSelection(string selection)
1168 {
1169 switch (selection)
1170 {
1171 case "seat_driver":
1172 case "seatback_driver":
1173 case "seat_cargo1":
1174 return "seat_con_1_1";
1175 case "seat_codriver":
1176 case "seatback_codriver":
1177 case "seat_cargo2":
1178 return "seat_con_2_1";
1179 }
1180
1181 return "";
1182 }
1183
1184 override int GetCrewIndex(string selection)
1185 {
1186 switch (selection)
1187 {
1188 case "seatback_driver":
1189 return 0;
1190 case "seatback_codriver":
1191 return 1;
1192 }
1193
1194 return -1;
1195 }
1196
1197 override bool IsVitalTruckBattery()
1198 {
1199 return false;
1200 }
1201
1202 override bool IsVitalGlowPlug()
1203 {
1204 return false;
1205 }
1206
1207 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1208 {
1209 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1210 return false;
1211
1212 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1213 return false;
1214
1215 switch (currentSeat)
1216 {
1217 case 0:
1218 return nextSeat == 1;
1219
1220 case 1:
1221 return nextSeat == 0;
1222
1223 case 2:
1224 return nextSeat == 3;
1225
1226 case 3:
1227 return nextSeat == 2;
1228 }
1229
1230 return false;
1231 }
1232
1233 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1234 {
1235 switch (pCurrentSeat)
1236 {
1237 case 0:
1238 return pDoorsSelection == "DoorsDriver";
1239
1240 case 1:
1241 return pDoorsSelection == "DoorsCoDriver";
1242
1243 case 2:
1244 return pDoorsSelection == "DoorsDriver";
1245
1246 case 3:
1247 return pDoorsSelection == "DoorsCoDriver";
1248 }
1249
1250 return false;
1251 }
1252
1253 override int GetSeatIndexFromDoor( string pDoorSelection )
1254 {
1255 switch (pDoorSelection)
1256 {
1257 case "DoorsDriver":
1258 return 0;
1259 case "DoorsCoDriver":
1260 return 1;
1261 }
1262
1263 return -1;
1264 }
1265
1266 override void SetActions()
1267 {
1268 super.SetActions();
1269
1271 }
1272
1273 override void OnDebugSpawn()
1274 {
1278
1279 GetInventory().CreateInInventory("HatchbackWheel");
1280 GetInventory().CreateInInventory("HatchbackWheel");
1281 GetInventory().CreateInInventory("HatchbackWheel" );
1282 GetInventory().CreateInInventory("HatchbackWheel");
1283
1284 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1285 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1286 GetInventory().CreateInInventory("HatchbackHood");
1287 GetInventory().CreateInInventory("HatchbackTrunk");
1288
1289 //-----IN CAR CARGO
1290 GetInventory().CreateInInventory("HatchbackWheel");
1291 GetInventory().CreateInInventory("HatchbackWheel");
1292 }
1293}
1294
1295class OffroadHatchback_White extends OffroadHatchback
1296{
1297 override void OnDebugSpawn()
1298 {
1302
1303 GetInventory().CreateInInventory("HatchbackWheel");
1304 GetInventory().CreateInInventory("HatchbackWheel");
1305 GetInventory().CreateInInventory("HatchbackWheel");
1306 GetInventory().CreateInInventory("HatchbackWheel");
1307
1308 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1309 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1310 GetInventory().CreateInInventory("HatchbackHood_White");
1311 GetInventory().CreateInInventory("HatchbackTrunk_White");
1312
1313 //-----IN CAR CARGO
1314 GetInventory().CreateInInventory("HatchbackWheel");
1315 GetInventory().CreateInInventory("HatchbackWheel");
1316 }
1317}
1318
1319class OffroadHatchback_Blue extends OffroadHatchback
1320{
1321 override void OnDebugSpawn()
1322 {
1326
1327 GetInventory().CreateInInventory("HatchbackWheel");
1328 GetInventory().CreateInInventory("HatchbackWheel");
1329 GetInventory().CreateInInventory("HatchbackWheel");
1330 GetInventory().CreateInInventory("HatchbackWheel");
1331
1332 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1333 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1334 GetInventory().CreateInInventory("HatchbackHood_Blue");
1335 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1336
1337 //-----IN CAR CARGO
1338 GetInventory().CreateInInventory("HatchbackWheel");
1339 GetInventory().CreateInInventory("HatchbackWheel");
1340 }
1341}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
string m_CarSeatShiftInSound
Определения CarScript.c:215
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
Определения CarScript.c:2513
CarDoorState
Определения CarScript.c:2
void SpawnAdditionalItems()
Определения CarScript.c:2839
string m_EngineStartOK
Sounds.
Определения CarScript.c:207
string m_CarDoorCloseSound
Определения CarScript.c:214
string m_EngineStartBattery
Определения CarScript.c:208
string m_EngineStartPlug
Определения CarScript.c:209
string m_EngineStartFuel
Определения CarScript.c:210
string m_CarHornShortSoundName
Определения CarScript.c:218
void FillUpCarFluids()
Определения CarScript.c:2869
string m_CarHornLongSoundName
Определения CarScript.c:219
string m_EngineStopFuel
Определения CarScript.c:211
string m_CarSeatShiftOutSound
Определения CarScript.c:216
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:909
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:850
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:789
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:556
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:810
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:744
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:727
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:535
override void OnEngineStop()
Определения OffroadHatchback.c:525
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:551
override void EEInit()
Определения OffroadHatchback.c:497
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:585
override bool CanDisplayCargo()
Определения OffroadHatchback.c:628
override void OnEngineStart()
Определения OffroadHatchback.c:515
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:580
override int GetAnimInstance()
Определения OffroadHatchback.c:546
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:671
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:876
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:604
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:845
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:575
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:471
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:896
void OffroadHatchback()
Определения OffroadHatchback.c:476
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:840
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:712
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:643
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:827
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:609
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:495
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
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
Определения constants.c:806
const int STATE_RUINED
Определения constants.c:846
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.