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

◆ CanReachSeatFromSeat()

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

См. определение в файле Vehicles/InheritedCars/CivilianSedan.c строка 820

820 : CarScript
821{
825
826 void CivilianSedan()
827 {
828 //m_dmgContactCoef = 0.065;
829
830 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
831 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
832 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
833 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
834 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
835 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
836
837 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
838 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
839
840 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new CivilianSedanLightProfileFront()));
841 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new CivilianSedanLightProfileRear()));
842
843 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "CivilianSedan_Horn_Short_SoundSet");
844 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "CivilianSedan_Horn_SoundSet");
845
846 SetEnginePos("0 0.7 1.6");
847
849 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
850 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
851 }
852
853 void ~CivilianSedan()
854 {
855 m_UTSource = null;
856 m_UTSSettings = null;
857 m_UTSLEngine = null;
858 }
859
860 override void EEInit()
861 {
862 super.EEInit();
863
864 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
865 {
867 m_UTSSettings.m_ManualUpdate = true;
869 m_UTSSettings.m_TemperatureCap = 0;
870 m_UTSSettings.m_RangeFull = 0.5;
871 m_UTSSettings.m_RangeMax = 2;
872
875 }
876 }
877
878 override bool NeedElectricitySourceDevice()
879 {
880 return true;
881 }
882
884 {
885 super.GetElectricitySourceDevice();
886
887 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
888 }
889
890 override string GetElectricitySourceDeviceType()
891 {
892 return "CarBattery";
893 }
894
895 override void OnEngineStart()
896 {
897 super.OnEngineStart();
898
899 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
900 {
901 if (m_UTSource)
902 m_UTSource.SetDefferedActive(true, 20.0);
903 }
904 }
905
906 override void OnEngineStop()
907 {
908 super.OnEngineStop();
909
910 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
911 {
912 if (m_UTSource)
913 m_UTSource.SetDefferedActive(false, 10.0);
914 }
915 }
916
917 override void EOnPostSimulate(IEntity other, float timeSlice)
918 {
919 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
920 {
921 if (m_UTSource && m_UTSource.IsActive())
922 {
924 }
925 }
926 }
927
928 override int GetAnimInstance()
929 {
930 return VehicleAnimInstances.SEDAN;
931 }
932
933 override float GetTransportCameraDistance()
934 {
935 return 4.5;
936 }
937
938 override int GetSeatAnimationType(int posIdx)
939 {
940 switch (posIdx)
941 {
942 case 0:
943 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
944 case 1:
945 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
946 case 2:
947 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
948 case 3:
949 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
950 }
951
952 return 0;
953 }
954
955 override bool CanReleaseAttachment( EntityAI attachment )
956 {
957 if( !super.CanReleaseAttachment( attachment ) )
958 return false;
959
960 string attType = attachment.GetType();
961
962 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
963 {
964 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
965 return false;
966 }
967
968 return true;
969 }
970
971 override protected bool CanManipulateSpareWheel(string slotSelectionName)
972 {
973 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
974 }
975
976 override bool CanDisplayAttachmentCategory(string category_name)
977 {
978 //super
979 if (!super.CanDisplayAttachmentCategory(category_name))
980 return false;
981 //
982
983 category_name.ToLower();
984 if (category_name.Contains("engine"))
985 {
986 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
987 return false;
988 }
989
990 return true;
991 }
992
993 override bool CanDisplayCargo()
994 {
995 if ( !super.CanDisplayCargo() )
996 return false;
997
998 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
999 return false;
1000
1001 return true;
1002 }
1003
1004 override int GetCarDoorsState( string slotType )
1005 {
1006 CarDoor carDoor;
1007
1008 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1009 if (!carDoor)
1010 {
1011 return CarDoorState.DOORS_MISSING;
1012 }
1013
1014 switch (slotType)
1015 {
1016 case "CivSedanDriverDoors":
1017 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1018 break;
1019
1020 case "CivSedanCoDriverDoors":
1021 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1022 break;
1023
1024 case "CivSedanCargo1Doors":
1025 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1026 break;
1027
1028 case "CivSedanCargo2Doors":
1029 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1030 break;
1031
1032 case "CivSedanTrunk":
1033 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1034 break;
1035
1036 case "CivSedanHood":
1037 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1038 break;
1039 }
1040
1041 return CarDoorState.DOORS_MISSING;
1042 }
1043
1044
1045 override bool CrewCanGetThrough( int posIdx )
1046 {
1047 switch( posIdx )
1048 {
1049 case 0:
1050 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
1051 return false;
1052
1053 return true;
1054 break;
1055
1056 case 1:
1057 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
1058 return false;
1059
1060 return true;
1061 break;
1062
1063 case 2:
1064 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
1065 return false;
1066
1067 return true;
1068 break;
1069
1070 case 3:
1071 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
1072 return false;
1073
1074 return true;
1075 break;
1076 }
1077
1078 return false;
1079 }
1080
1081 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1082 {
1083 switch( posIdx )
1084 {
1085 case 0:
1086 return "doors_driver";
1087 break;
1088 case 1:
1089 return "doors_codriver";
1090 break;
1091 case 2:
1092 return "doors_cargo1";
1093 break;
1094 case 3:
1095 return "doors_cargo2";
1096 break;
1097 }
1098
1099 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1100 }
1101
1102 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1103 {
1104 switch( posIdx )
1105 {
1106 case 0:
1107 return "CivSedanDriverDoors";
1108 break;
1109 case 1:
1110 return "CivSedanCoDriverDoors";
1111 break;
1112 case 2:
1113 return "CivSedanCargo1Doors";
1114 break;
1115 case 3:
1116 return "CivSedanCargo2Doors";
1117 break;
1118 }
1119
1120 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1121 }
1122
1123 // 0 full ambient and engine sound
1124 // 1 zero ambient and engine sound
1125 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1126 {
1127 switch (ctrl)
1128 {
1129 case CarSoundCtrl.DOORS:
1130 float newValue = 0;
1131 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
1132 {
1133 newValue += 0.25;
1134 }
1135
1136 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1137 {
1138 newValue += 0.25;
1139 }
1140
1141 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
1142 {
1143 newValue += 0.25;
1144 }
1145
1146 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
1147 {
1148 newValue += 0.25;
1149 }
1150
1151 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1152 {
1153 newValue -= 0.6;
1154 }
1155
1156 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1157 {
1158 newValue -= 0.6;
1159 }
1160
1161 return Math.Clamp(newValue, 0, 1);
1162 break;
1163 }
1164
1165 return super.OnSound(ctrl, oldValue);
1166 }
1167
1168 override string GetAnimSourceFromSelection(string selection)
1169 {
1170 switch (selection)
1171 {
1172 case "doors_driver":
1173 return "DoorsDriver";
1174 case "doors_codriver":
1175 return "DoorsCoDriver";
1176 case "doors_cargo1":
1177 return "DoorsCargo1";
1178 case "doors_cargo2":
1179 return "DoorsCargo2";
1180 case "doors_hood":
1181 return "DoorsHood";
1182 case "doors_trunk":
1183 return "DoorsTrunk";
1184 }
1185
1186 return "";
1187 }
1188
1189 override bool IsVitalGlowPlug()
1190 {
1191 return false;
1192 }
1193
1194 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1195 {
1196 switch (currentSeat)
1197 {
1198 case 0:
1199 return nextSeat == 1;
1200
1201 case 1:
1202 return nextSeat == 0;
1203
1204 case 2:
1205 return nextSeat == 3;
1206
1207 case 3:
1208 return nextSeat == 2;
1209 }
1210
1211 return false;
1212 }
1213
1214 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1215 {
1216 switch (pCurrentSeat)
1217 {
1218 case 0:
1219 return pDoorsSelection == "DoorsDriver";
1220
1221 case 1:
1222 return pDoorsSelection == "DoorsCoDriver";
1223
1224 case 2:
1225 return pDoorsSelection == "DoorsCargo1";
1226
1227 case 3:
1228 return pDoorsSelection == "DoorsCargo2";
1229 }
1230
1231 return false;
1232 }
1233
1234 override void OnDebugSpawn()
1235 {
1237 SpawnAdditionalItems();
1238 FillUpCarFluids();
1239
1240 GameInventory inventory = GetInventory();
1241 inventory.CreateInInventory("CivSedanWheel");
1242 inventory.CreateInInventory("CivSedanWheel");
1243 inventory.CreateInInventory("CivSedanWheel");
1244 inventory.CreateInInventory("CivSedanWheel");
1245
1246 inventory.CreateInInventory("CivSedanDoors_Driver");
1247 inventory.CreateInInventory("CivSedanDoors_CoDriver");
1248 inventory.CreateInInventory("CivSedanDoors_BackLeft");
1249 inventory.CreateInInventory("CivSedanDoors_BackRight");
1250 inventory.CreateInInventory("CivSedanHood");
1251 inventory.CreateInInventory("CivSedanTrunk");
1252
1253 //-----IN CAR CARGO
1254 inventory.CreateInInventory("CivSedanWheel");
1255 inventory.CreateInInventory("CivSedanWheel");
1256 }
1257
1258 override float GetPushForceCoefficientMultiplier()
1259 {
1260 return 1.5;
1261 }
1262}
1263
1264class CivilianSedan_Wine : CivilianSedan
1265{
1266 override void OnDebugSpawn()
1267 {
1269 SpawnAdditionalItems();
1270 FillUpCarFluids();
1271
1272 GameInventory inventory = GetInventory();
1273 inventory.CreateInInventory("CivSedanWheel");
1274 inventory.CreateInInventory("CivSedanWheel");
1275 inventory.CreateInInventory("CivSedanWheel");
1276 inventory.CreateInInventory("CivSedanWheel");
1277
1278 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
1279 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
1280 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
1281 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
1282 inventory.CreateInInventory("CivSedanHood_Wine");
1283 inventory.CreateInInventory("CivSedanTrunk_Wine");
1284
1285 //-----IN CAR CARGO
1286 inventory.CreateInInventory("CivSedanWheel");
1287 inventory.CreateInInventory("CivSedanWheel");
1288 }
1289}
1290
1292{
1293 override void OnDebugSpawn()
1294 {
1296 SpawnAdditionalItems();
1297 FillUpCarFluids();
1298
1299 GameInventory inventory = GetInventory();
1300 inventory.CreateInInventory("CivSedanWheel");
1301 inventory.CreateInInventory("CivSedanWheel");
1302 inventory.CreateInInventory("CivSedanWheel");
1303 inventory.CreateInInventory("CivSedanWheel");
1304
1305 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1306 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1307 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1308 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1309 inventory.CreateInInventory("CivSedanHood_Black");
1310 inventory.CreateInInventory("CivSedanTrunk_Black");
1311
1312 //-----IN CAR CARGO
1313 inventory.CreateInInventory("CivSedanWheel");
1314 inventory.CreateInInventory("CivSedanWheel");
1315 }
1316}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
CivilianSedanLightProfileFront VehicleLightProfileFront CivilianSedanLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
override float GetPushForceCoefficientMultiplier()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
void ~CivilianSedan()
void CivilianSedan()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
CivilianSedan CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
override void OnDebugSpawn()
override void OnDebugSpawn()
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
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.