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

◆ CanReachDoorsFromSeat()

override bool OnDebugSpawn::CanReachDoorsFromSeat ( string pDoorsSelection,
int pCurrentSeat )
protected

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

816{
820
821 void Sedan_02()
822 {
823 m_dmgContactCoef = 0.0790;
824
825 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
826 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
827 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
828 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
829 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
830
831 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
832 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
833
834 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
835 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
836
837 SetEnginePos("0 0.7 -1.7");
838 }
839
840 override void EEInit()
841 {
842 super.EEInit();
843
844 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
845 {
847 m_UTSSettings.m_ManualUpdate = true;
849 m_UTSSettings.m_TemperatureCap = 0;
850 m_UTSSettings.m_RangeFull = 0.5;
851 m_UTSSettings.m_RangeMax = 2;
852
855 }
856 }
857
858 override void OnEngineStart()
859 {
860 super.OnEngineStart();
861
862 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
863 {
864 m_UTSource.SetDefferedActive(true, 20.0);
865 }
866 }
867
868 override void OnEngineStop()
869 {
870 super.OnEngineStop();
871
872 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
873 {
874 m_UTSource.SetDefferedActive(false, 10.0);
875 }
876 }
877
878 override void EOnPostSimulate(IEntity other, float timeSlice)
879 {
880 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
881 {
882 if (m_UTSource.IsActive())
883 {
885 }
886 }
887 }
888
889 override int GetAnimInstance()
890 {
891 return VehicleAnimInstances.S120;
892 }
893
894 override int GetSeatAnimationType(int posIdx)
895 {
896 switch (posIdx)
897 {
898 case 0:
899 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
900 case 1:
901 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
902 case 2:
903 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
904 case 3:
905 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
906 }
907
908 return 0;
909 }
910
911 // Override for car-specific light type
913 {
914 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
915 }
916
917 // Override for car-specific light type
919 {
920 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
921 }
922
923 override bool CanReleaseAttachment( EntityAI attachment )
924 {
925 if (!super.CanReleaseAttachment(attachment))
926 {
927 return false;
928 }
929
930 string attType = attachment.GetType();
931 switch (attType)
932 {
933 case "CarBattery":
934 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
935 {
936 return false;
937 }
938 break;
939
940 case "SparkPlug":
941 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
942 {
943 return false;
944 }
945 break;
946
947 case "CarRadiator":
948 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
949 {
950 return false;
951 }
952 break;
953 }
954
955 return true;
956 }
957
958 override protected bool CanManipulateSpareWheel(string slotSelectionName)
959 {
960 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
961 }
962
963 override bool CanDisplayAttachmentCategory(string category_name)
964 {
965 if ( !super.CanDisplayAttachmentCategory(category_name))
966 {
967 return false;
968 }
969
970 category_name.ToLower();
971 if (category_name.Contains("engine"))
972 {
973 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
974 {
975 return false;
976 }
977 }
978
979 if (category_name.Contains("trunk"))
980 {
981 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
982 {
983 return false;
984 }
985 }
986
987 return true;
988 }
989
990 override bool CanDisplayCargo()
991 {
992 if ( !super.CanDisplayCargo() )
993 return false;
994
995 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
996 return false;
997
998 return true;
999 }
1000
1001 override int GetCarDoorsState(string slotType)
1002 {
1003 CarDoor carDoor;
1004
1005 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1006 if (!carDoor)
1007 {
1008 return CarDoorState.DOORS_MISSING;
1009 }
1010
1011 switch (slotType)
1012 {
1013 case "Sedan_02_Door_1_1":
1014 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1015
1016 case "Sedan_02_Door_2_1":
1017 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1018
1019 case "Sedan_02_Door_1_2":
1020 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1021
1022 case "Sedan_02_Door_2_2":
1023 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1024
1025 case "Sedan_02_Hood":
1026 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1027
1028 case "Sedan_02_Trunk":
1029 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1030 }
1031
1032 return CarDoorState.DOORS_MISSING;
1033 }
1034
1035
1036 override bool CrewCanGetThrough( int posIdx )
1037 {
1038 switch( posIdx )
1039 {
1040 case 0:
1041 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1042 return false;
1043
1044 return true;
1045 break;
1046
1047 case 1:
1048 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1049 return false;
1050
1051 return true;
1052 break;
1053
1054 case 2:
1055 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1056 return false;
1057
1058 return true;
1059 break;
1060
1061 case 3:
1062 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1063 return false;
1064
1065 return true;
1066 break;
1067 }
1068
1069 return false;
1070 }
1071
1072 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1073 {
1074 switch( posIdx )
1075 {
1076 case 0:
1077 return "doors_driver";
1078 break;
1079 case 1:
1080 return "doors_codriver";
1081 break;
1082 case 2:
1083 return "doors_cargo1";
1084 break;
1085 case 3:
1086 return "doors_cargo2";
1087 break;
1088 }
1089
1090 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1091 }
1092
1093 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1094 {
1095 switch( posIdx )
1096 {
1097 case 0:
1098 return "Sedan_02_Door_1_1";
1099 break;
1100 case 1:
1101 return "Sedan_02_Door_2_1";
1102 break;
1103 case 2:
1104 return "Sedan_02_Door_1_2";
1105 break;
1106 case 3:
1107 return "Sedan_02_Door_2_2";
1108 break;
1109 }
1110
1111 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1112 }
1113
1114 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1115 {
1116 switch ( ctrl )
1117 {
1118 case CarSoundCtrl.DOORS:
1119 float newValue = 0;
1120 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1121 {
1122 newValue += 0.25;
1123 }
1124
1125 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1126 {
1127 newValue += 0.25;
1128 }
1129
1130 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1131 {
1132 newValue += 0.25;
1133 }
1134
1135 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1136 {
1137 newValue += 0.25;
1138 }
1139
1140 return Math.Clamp(newValue, 0, 1);
1141 break;
1142 }
1143
1144 return super.OnSound(ctrl, oldValue);
1145 }
1146
1147 override string GetAnimSourceFromSelection( string selection )
1148 {
1149 switch( selection )
1150 {
1151 case "doors_driver":
1152 return "DoorsDriver";
1153 case "doors_codriver":
1154 return "DoorsCoDriver";
1155 case "doors_cargo1":
1156 return "DoorsCargo1";
1157 case "doors_cargo2":
1158 return "DoorsCargo2";
1159 case "doors_hood":
1160 return "DoorsHood";
1161 case "doors_trunk":
1162 return "DoorsTrunk";
1163 }
1164
1165 return "";
1166 }
1167
1168
1169 override bool IsVitalTruckBattery()
1170 {
1171 return false;
1172 }
1173
1174 override bool IsVitalGlowPlug()
1175 {
1176 return false;
1177 }
1178
1179 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1180 {
1181 switch (currentSeat)
1182 {
1183 case 0:
1184 return nextSeat == 1;
1185
1186 case 1:
1187 return nextSeat == 0;
1188
1189 case 2:
1190 return nextSeat == 3;
1191
1192 case 3:
1193 return nextSeat == 2;
1194 }
1195
1196 return false;
1197 }
1198
1199 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1200 {
1201 switch (pCurrentSeat)
1202 {
1203 case 0:
1204 return pDoorsSelection == "DoorsDriver";
1205
1206 case 1:
1207 return pDoorsSelection == "DoorsCoDriver";
1208
1209 case 2:
1210 return pDoorsSelection == "DoorsCargo1";
1211
1212 case 3:
1213 return pDoorsSelection == "DoorsCargo2";
1214 }
1215
1216 return false;
1217 }
1218
1219 override void OnDebugSpawn()
1220 {
1224
1225 GetInventory().CreateInInventory("Sedan_02_Wheel");
1226 GetInventory().CreateInInventory("Sedan_02_Wheel");
1227 GetInventory().CreateInInventory("Sedan_02_Wheel");
1228 GetInventory().CreateInInventory("Sedan_02_Wheel");
1229 GetInventory().CreateInInventory("Sedan_02_Wheel");
1230
1231 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1232 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1233 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1234 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1235 GetInventory().CreateInInventory("Sedan_02_Hood");
1236 GetInventory().CreateInInventory("Sedan_02_Trunk");
1237
1238 //-----IN CAR CARGO
1239 GetInventory().CreateInInventory("Sedan_02_Wheel");
1240 GetInventory().CreateInInventory("Sedan_02_Wheel");
1241 }
1242}
1243
1244class Sedan_02_Red extends Sedan_02
1245{
1246 override void OnDebugSpawn()
1247 {
1251
1252 GetInventory().CreateInInventory("Sedan_02_Wheel");
1253 GetInventory().CreateInInventory("Sedan_02_Wheel");
1254 GetInventory().CreateInInventory("Sedan_02_Wheel");
1255 GetInventory().CreateInInventory("Sedan_02_Wheel");
1256
1257 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1258 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1259 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1260 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1261 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1262 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1263
1264 //-----IN CAR CARGO
1265 GetInventory().CreateInInventory("Sedan_02_Wheel");
1266 GetInventory().CreateInInventory("Sedan_02_Wheel");
1267 }
1268}
1269
1270class Sedan_02_Grey extends Sedan_02
1271{
1272 override void OnDebugSpawn()
1273 {
1277
1278 GetInventory().CreateInInventory("Sedan_02_Wheel");
1279 GetInventory().CreateInInventory("Sedan_02_Wheel");
1280 GetInventory().CreateInInventory("Sedan_02_Wheel");
1281 GetInventory().CreateInInventory("Sedan_02_Wheel");
1282
1283 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1284 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1285 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1286 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1287 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1288 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1289
1290 //-----IN CAR CARGO
1291 GetInventory().CreateInInventory("Sedan_02_Wheel");
1292 GetInventory().CreateInInventory("Sedan_02_Wheel");
1293 }
1294}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
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
float m_dmgContactCoef
Определения CarScript.c:161
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 bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:795
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:432
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:763
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:510
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:730
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:494
override void OnEngineStop()
Определения Sedan_02.c:484
override void EEInit()
Определения Sedan_02.c:456
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:539
override bool CanDisplayCargo()
Определения Sedan_02.c:606
override void OnEngineStart()
Определения Sedan_02.c:474
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:528
override int GetAnimInstance()
Определения Sedan_02.c:505
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:815
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:574
override bool IsVitalGlowPlug()
Определения Sedan_02.c:790
void Sedan_02()
Определения Sedan_02.c:437
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:534
override bool IsVitalTruckBattery()
Определения Sedan_02.c:785
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:688
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:617
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:579
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()
Определения Sedan_02.c:458
Определения Sedan_02.c:457
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
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.