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

◆ CanReachDoorsFromSeat()

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

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

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