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

◆ GetDoorConditionPointFromSelection()

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