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

◆ CanReachSeatFromSeat()

override bool OnDebugSpawn::CanReachSeatFromSeat ( int currentSeat,
int nextSeat )
protected

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

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