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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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