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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

831 : CarScript
832{
836
837 void OffroadHatchback()
838 {
839 //m_dmgContactCoef = 0.075;
840
841 m_EngineStartOK = "offroad_engine_start_SoundSet";
842 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
843 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
844 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
845 m_EngineStop = "offroad_engine_stop_SoundSet";
846 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
847
848 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
849 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
850 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
851 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
852
855
856 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
857 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
858
859 SetEnginePos("0 0.7 1.2");
860
862 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
863 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
864 }
865
866 void ~OffroadHatchback()
867 {
868 m_UTSource = null;
869 m_UTSSettings = null;
870 m_UTSLEngine = null;
871 }
872
873 override void EEInit()
874 {
875 super.EEInit();
876
877 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
878 {
880 m_UTSSettings.m_ManualUpdate = true;
882 m_UTSSettings.m_TemperatureCap = 0;
883 m_UTSSettings.m_RangeFull = 0.5;
884 m_UTSSettings.m_RangeMax = 2;
885
888 }
889 }
890
891 override bool NeedElectricitySourceDevice()
892 {
893 return true;
894 }
895
897 {
898 super.GetElectricitySourceDevice();
899
900 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
901 }
902
903 override string GetElectricitySourceDeviceType()
904 {
905 return "CarBattery";
906 }
907
908 override void OnEngineStart()
909 {
910 super.OnEngineStart();
911
912 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
913 {
914 if (m_UTSource)
915 m_UTSource.SetDefferedActive(true, 20.0);
916 }
917 }
918
919 override void OnEngineStop()
920 {
921 super.OnEngineStop();
922
923 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
924 {
925 if (m_UTSource)
926 m_UTSource.SetDefferedActive(false, 10.0);
927 }
928 }
929
930 override void EOnPostSimulate(IEntity other, float timeSlice)
931 {
932 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
933 {
934 if (m_UTSource && m_UTSource.IsActive())
935 {
937 }
938 }
939 }
940
941 override int GetAnimInstance()
942 {
943 return VehicleAnimInstances.HATCHBACK;
944 }
945
946 override float GetTransportCameraDistance()
947 {
948 return 3.5;
949 }
950
951 override int GetSeatAnimationType( int posIdx )
952 {
953 switch (posIdx)
954 {
955 case 0:
956 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
957 case 1:
958 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
959 case 2:
960 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
961 case 3:
962 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
963 }
964
965 return 0;
966
967 }
968
969 override bool CanReleaseAttachment(EntityAI attachment)
970 {
971 if (!super.CanReleaseAttachment(attachment))
972 {
973 return false;
974 }
975
976 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
977 {
978 string attType = attachment.GetType();
979 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
980 {
981 return false;
982 }
983 }
984
985 return true;
986 }
987
988 override protected bool CanManipulateSpareWheel(string slotSelectionName)
989 {
990 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
991 }
992
993 override bool CanDisplayAttachmentCategory( string category_name )
994 {
995 if (!super.CanDisplayAttachmentCategory(category_name))
996 {
997 return false;
998 }
999
1000 category_name.ToLower();
1001 if (category_name.Contains("engine"))
1002 {
1003 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
1004 {
1005 return false;
1006 }
1007 }
1008
1009 return true;
1010 }
1011
1012 override bool CanDisplayCargo()
1013 {
1014 if (!super.CanDisplayCargo())
1015 {
1016 return false;
1017 }
1018
1019 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1020 {
1021 return false;
1022 }
1023
1024 return true;
1025 }
1026
1027 override int GetCarDoorsState(string slotType)
1028 {
1029 CarDoor carDoor;
1030
1031 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
1032 if (!carDoor)
1033 {
1034 return CarDoorState.DOORS_MISSING;
1035 }
1036
1037 switch (slotType)
1038 {
1039 case "NivaDriverDoors":
1040 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1041
1042 case "NivaCoDriverDoors":
1043 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1044
1045 case "NivaHood":
1046 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1047
1048 case "NivaTrunk":
1049 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1050 }
1051
1052 return CarDoorState.DOORS_MISSING;
1053 }
1054
1055 override bool CrewCanGetThrough(int posIdx)
1056 {
1057 CarDoor carDoor;
1058 switch (posIdx)
1059 {
1060 case 0:
1061 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1062 return false;
1063 else if (GetAnimationPhase("SeatDriver") > 0.5)
1064 return false;
1065
1066 return true;
1067
1068 case 1:
1069 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1070 return false;
1071 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1072 return false;
1073
1074 return true;
1075
1076 case 2:
1077 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1078 return false;
1079 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1080 return false;
1081
1082 return true;
1083
1084 case 3:
1085 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1086 return false;
1087 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1088 return false;
1089
1090 return true;
1091 }
1092
1093 return false;
1094 }
1095
1096 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1097 {
1098 switch (posIdx)
1099 {
1100 case 0:
1101 case 2:
1102 return "doors_driver";
1103 case 1:
1104 case 3:
1105 return "doors_codriver";
1106 }
1107
1108 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1109 }
1110
1111 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1112 {
1113 switch (posIdx)
1114 {
1115 case 0:
1116 case 2:
1117 return "NivaDriverDoors";
1118 case 1:
1119 case 3:
1120 return "NivaCoDriverDoors";
1121 }
1122
1123 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1124 }
1125
1126 // 0 full ambient and engine sound
1127 // 1 zero ambient and engine sound
1128 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1129 {
1130 float tempCap = 0.0;
1131
1132 switch (ctrl)
1133 {
1134 case CarSoundCtrl.DOORS:
1135 float newValue = 0;
1136 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1137 {
1138 newValue += 0.5;
1139 }
1140
1141 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1142 {
1143 newValue += 0.5;
1144 }
1145
1146 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1147 {
1148 newValue += 0.3;
1149 }
1150
1151 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1152 {
1153 newValue -= 0.6;
1154 }
1155
1156 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1157 {
1158 newValue -= 0.2;
1159 }
1160
1161 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1162 {
1163 newValue -= 0.2;
1164 }
1165
1166 return Math.Clamp(newValue, 0, 1);
1167 break;
1168 }
1169
1170 return super.OnSound(ctrl, oldValue);
1171 }
1172
1173 override string GetAnimSourceFromSelection( string selection )
1174 {
1175 switch (selection)
1176 {
1177 case "doors_driver":
1178 return "DoorsDriver";
1179 case "doors_codriver":
1180 return "DoorsCoDriver";
1181 case "doors_hood":
1182 return "DoorsHood";
1183 case "doors_trunk":
1184 return "DoorsTrunk";
1185 case "seatback_driver":
1186 return "SeatDriver";
1187 case "seatback_codriver":
1188 return "SeatCoDriver";
1189 }
1190
1191 return "";
1192 }
1193
1194 override string GetDoorConditionPointFromSelection(string selection)
1195 {
1196 switch (selection)
1197 {
1198 case "seat_driver":
1199 case "seatback_driver":
1200 case "seat_cargo1":
1201 return "seat_con_1_1";
1202 case "seat_codriver":
1203 case "seatback_codriver":
1204 case "seat_cargo2":
1205 return "seat_con_2_1";
1206 }
1207
1208 return "";
1209 }
1210
1211 override int GetCrewIndex(string selection)
1212 {
1213 switch (selection)
1214 {
1215 case "seatback_driver":
1216 return 0;
1217 case "seatback_codriver":
1218 return 1;
1219 }
1220
1221 return -1;
1222 }
1223
1224 override bool IsVitalGlowPlug()
1225 {
1226 return false;
1227 }
1228
1229 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1230 {
1231 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1232 return false;
1233
1234 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1235 return false;
1236
1237 switch (currentSeat)
1238 {
1239 case 0:
1240 return nextSeat == 1;
1241
1242 case 1:
1243 return nextSeat == 0;
1244
1245 case 2:
1246 return nextSeat == 3;
1247
1248 case 3:
1249 return nextSeat == 2;
1250 }
1251
1252 return false;
1253 }
1254
1255 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1256 {
1257 switch (pCurrentSeat)
1258 {
1259 case 0:
1260 return pDoorsSelection == "DoorsDriver";
1261
1262 case 1:
1263 return pDoorsSelection == "DoorsCoDriver";
1264
1265 case 2:
1266 return pDoorsSelection == "DoorsDriver";
1267
1268 case 3:
1269 return pDoorsSelection == "DoorsCoDriver";
1270 }
1271
1272 return false;
1273 }
1274
1275 override int GetSeatIndexFromDoor( string pDoorSelection )
1276 {
1277 switch (pDoorSelection)
1278 {
1279 case "DoorsDriver":
1280 return 0;
1281 case "DoorsCoDriver":
1282 return 1;
1283 }
1284
1285 return -1;
1286 }
1287
1288 override void SetActions()
1289 {
1290 super.SetActions();
1291
1293 }
1294
1295 override void OnDebugSpawn()
1296 {
1298 SpawnAdditionalItems();
1299 FillUpCarFluids();
1300
1301 GameInventory inventory = GetInventory();
1302 inventory.CreateInInventory("HatchbackWheel");
1303 inventory.CreateInInventory("HatchbackWheel");
1304 inventory.CreateInInventory("HatchbackWheel" );
1305 inventory.CreateInInventory("HatchbackWheel");
1306
1307 inventory.CreateInInventory("HatchbackDoors_Driver");
1308 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1309 inventory.CreateInInventory("HatchbackHood");
1310 inventory.CreateInInventory("HatchbackTrunk");
1311
1312 //-----IN CAR CARGO
1313 inventory.CreateInInventory("HatchbackWheel");
1314 inventory.CreateInInventory("HatchbackWheel");
1315 }
1316}
1317
1318class OffroadHatchback_White : OffroadHatchback
1319{
1320 override void OnDebugSpawn()
1321 {
1323 SpawnAdditionalItems();
1324 FillUpCarFluids();
1325
1326 GameInventory inventory = GetInventory();
1327 inventory.CreateInInventory("HatchbackWheel");
1328 inventory.CreateInInventory("HatchbackWheel");
1329 inventory.CreateInInventory("HatchbackWheel");
1330 inventory.CreateInInventory("HatchbackWheel");
1331
1332 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1333 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1334 inventory.CreateInInventory("HatchbackHood_White");
1335 inventory.CreateInInventory("HatchbackTrunk_White");
1336
1337
1338 //-----IN CAR CARGO
1339 inventory.CreateInInventory("HatchbackWheel");
1340 inventory.CreateInInventory("HatchbackWheel");
1341 }
1342}
1343
1345{
1346 override void OnDebugSpawn()
1347 {
1349 SpawnAdditionalItems();
1350 FillUpCarFluids();
1351
1352 GameInventory inventory = GetInventory();
1353 inventory.CreateInInventory("HatchbackWheel");
1354 inventory.CreateInInventory("HatchbackWheel");
1355 inventory.CreateInInventory("HatchbackWheel");
1356 inventory.CreateInInventory("HatchbackWheel");
1357
1358 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1359 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1360 inventory.CreateInInventory("HatchbackHood_Blue");
1361 inventory.CreateInInventory("HatchbackTrunk_Blue");
1362
1363 //-----IN CAR CARGO
1364 inventory.CreateInInventory("HatchbackWheel");
1365 inventory.CreateInInventory("HatchbackWheel");
1366 }
1367}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.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()
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.