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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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