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

◆ CanReachDoorsFromSeat()

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

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

794 : CarScript
795{
799
800 void Hatchback_02()
801 {
802 //m_dmgContactCoef = 0.070;
803
804 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
805 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
806 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
807 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
808 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
809 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
810
811 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
812 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
813
814 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
815 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
816
817 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
818 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
819
820 SetEnginePos("0 0.7 1.4");
821
823 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
824 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
825 }
826
827 void ~Hatchback_02()
828 {
829 m_UTSource = null;
830 m_UTSSettings = null;
831 m_UTSLEngine = null;
832 }
833
834 override void EEInit()
835 {
836 super.EEInit();
837
838 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
839 {
841 m_UTSSettings.m_ManualUpdate = true;
843 m_UTSSettings.m_TemperatureCap = 0;
844 m_UTSSettings.m_RangeFull = 0.5;
845 m_UTSSettings.m_RangeMax = 2;
846
849 }
850 }
851
852 override bool NeedElectricitySourceDevice()
853 {
854 return true;
855 }
856
858 {
859 super.GetElectricitySourceDevice();
860
861 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
862 }
863
864 override string GetElectricitySourceDeviceType()
865 {
866 return "CarBattery";
867 }
868
869 override void OnEngineStart()
870 {
871 super.OnEngineStart();
872
873 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
874 {
875 if (m_UTSource)
876 m_UTSource.SetDefferedActive(true, 20.0);
877 }
878 }
879
880 override void OnEngineStop()
881 {
882 super.OnEngineStop();
883
884 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
885 {
886 if (m_UTSource)
887 m_UTSource.SetDefferedActive(false, 10.0);
888 }
889 }
890
891 override void EOnPostSimulate(IEntity other, float timeSlice)
892 {
893 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
894 {
895 if (m_UTSource && m_UTSource.IsActive())
896 {
898 }
899 }
900 }
901
902 override int GetAnimInstance()
903 {
904 return VehicleAnimInstances.GOLF;
905 }
906
907 override int GetSeatAnimationType(int posIdx)
908 {
909 switch (posIdx)
910 {
911 case 0:
912 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
913 case 1:
914 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
915 case 2:
916 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
917 case 3:
918 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
919 }
920
921 return 0;
922 }
923
924 override bool CanReleaseAttachment(EntityAI attachment)
925 {
926 if (!super.CanReleaseAttachment(attachment))
927 {
928 return false;
929 }
930
931 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
932 {
933 string attType = attachment.GetType();
934 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
935 {
936 return false;
937 }
938 }
939
940 return true;
941 }
942
943 override protected bool CanManipulateSpareWheel(string slotSelectionName)
944 {
945 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
946 }
947
948 override bool CanDisplayAttachmentCategory( string category_name )
949 {
950 //super
951 if ( !super.CanDisplayAttachmentCategory( category_name ) )
952 return false;
953 //
954
955 category_name.ToLower();
956 if ( category_name.Contains("engine") )
957 {
958 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
959 return false;
960 }
961
962 return true;
963 }
964
965 override bool CanDisplayCargo()
966 {
967 if ( !super.CanDisplayCargo() )
968 return false;
969
970 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
971 return false;
972
973 return true;
974 }
975
976 override int GetCarDoorsState(string slotType)
977 {
978 CarDoor carDoor;
979
980 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
981 if (!carDoor)
982 {
983 return CarDoorState.DOORS_MISSING;
984 }
985
986 switch (slotType)
987 {
988 case "Hatchback_02_Door_1_1":
989 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
990
991 case "Hatchback_02_Door_2_1":
992 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
993
994 case "Hatchback_02_Door_1_2":
995 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
996
997 case "Hatchback_02_Door_2_2":
998 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
999
1000 case "Hatchback_02_Hood":
1001 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1002
1003 case "Hatchback_02_Trunk":
1004 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1005 }
1006
1007 return CarDoorState.DOORS_MISSING;
1008 }
1009
1010
1011 override bool CrewCanGetThrough(int posIdx)
1012 {
1013 switch (posIdx)
1014 {
1015 case 0:
1016 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1017 {
1018 return false;
1019 }
1020
1021 return true;
1022
1023 case 1:
1024 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1025 {
1026 return false;
1027 }
1028
1029 return true;
1030
1031 case 2:
1032 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1033 {
1034 return false;
1035 }
1036
1037 return true;
1038
1039 case 3:
1040 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1041 {
1042 return false;
1043 }
1044
1045 return true;
1046 }
1047
1048 return false;
1049 }
1050
1051 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1052 {
1053 switch( posIdx )
1054 {
1055 case 0:
1056 return "doors_driver";
1057 break;
1058 case 1:
1059 return "doors_codriver";
1060 break;
1061 case 2:
1062 return "doors_cargo1";
1063 break;
1064 case 3:
1065 return "doors_cargo2";
1066 break;
1067 }
1068
1069 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1070 }
1071
1072 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1073 {
1074 switch( posIdx )
1075 {
1076 case 0:
1077 return "Hatchback_02_Door_1_1";
1078 break;
1079 case 1:
1080 return "Hatchback_02_Door_2_1";
1081 break;
1082 case 2:
1083 return "Hatchback_02_Door_1_2";
1084 break;
1085 case 3:
1086 return "Hatchback_02_Door_2_2";
1087 break;
1088 }
1089
1090 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1091 }
1092
1093 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1094 {
1095 switch (ctrl)
1096 {
1097 case CarSoundCtrl.DOORS:
1098 float newValue = 0;
1099 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1100 {
1101 newValue += 0.25;
1102 }
1103
1104 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1105 {
1106 newValue += 0.25;
1107 }
1108
1109 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1110 {
1111 newValue += 0.25;
1112 }
1113
1114 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1115 {
1116 newValue += 0.25;
1117 }
1118
1119 return Math.Clamp(newValue, 0, 1);
1120 break;
1121 }
1122
1123 return super.OnSound(ctrl, oldValue);
1124 }
1125
1126 override string GetAnimSourceFromSelection( string selection )
1127 {
1128 switch( selection )
1129 {
1130 case "doors_driver":
1131 return "DoorsDriver";
1132 case "doors_codriver":
1133 return "DoorsCoDriver";
1134 case "doors_cargo1":
1135 return "DoorsCargo1";
1136 case "doors_cargo2":
1137 return "DoorsCargo2";
1138 case "doors_hood":
1139 return "DoorsHood";
1140 case "doors_trunk":
1141 return "DoorsTrunk";
1142 }
1143
1144 return "";
1145 }
1146
1147 override bool IsVitalGlowPlug()
1148 {
1149 return false;
1150 }
1151
1152 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1153 {
1154 switch (currentSeat)
1155 {
1156 case 0:
1157 return nextSeat == 1;
1158 case 1:
1159 return nextSeat == 0;
1160 case 2:
1161 return nextSeat == 3;
1162 case 3:
1163 return nextSeat == 2;
1164 }
1165
1166 return false;
1167 }
1168
1169 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1170 {
1171 switch (pCurrentSeat)
1172 {
1173 case 0:
1174 return pDoorsSelection == "DoorsDriver";
1175 case 1:
1176 return pDoorsSelection == "DoorsCoDriver";
1177 case 2:
1178 return pDoorsSelection == "DoorsCargo1";
1179 case 3:
1180 return pDoorsSelection == "DoorsCargo2";
1181 }
1182
1183 return false;
1184 }
1185
1186 override void OnDebugSpawn()
1187 {
1189 SpawnAdditionalItems();
1190 FillUpCarFluids();
1191
1192 GameInventory inventory = GetInventory();
1193 inventory.CreateInInventory("Hatchback_02_Wheel");
1194 inventory.CreateInInventory("Hatchback_02_Wheel");
1195 inventory.CreateInInventory("Hatchback_02_Wheel");
1196 inventory.CreateInInventory("Hatchback_02_Wheel");
1197
1198 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1199 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1200 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1201 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1202 inventory.CreateInInventory("Hatchback_02_Hood");
1203 inventory.CreateInInventory("Hatchback_02_Trunk");
1204
1205 //-----IN CAR CARGO
1206 inventory.CreateInInventory("Hatchback_02_Wheel");
1207 inventory.CreateInInventory("Hatchback_02_Wheel");
1208 }
1209}
1210
1211class Hatchback_02_Black : Hatchback_02
1212{
1213 override void OnDebugSpawn()
1214 {
1216 SpawnAdditionalItems();
1217 FillUpCarFluids();
1218
1219 GameInventory inventory = GetInventory();
1220 inventory.CreateInInventory("Hatchback_02_Wheel");
1221 inventory.CreateInInventory("Hatchback_02_Wheel");
1222 inventory.CreateInInventory("Hatchback_02_Wheel");
1223 inventory.CreateInInventory("Hatchback_02_Wheel");
1224
1225 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1226 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1227 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1228 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1229 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1230 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1231
1232 //-----IN CAR CARGO
1233 inventory.CreateInInventory("Hatchback_02_Wheel");
1234 inventory.CreateInInventory("Hatchback_02_Wheel");
1235 }
1236}
1237
1239{
1240 override void OnDebugSpawn()
1241 {
1243 SpawnAdditionalItems();
1244 FillUpCarFluids();
1245
1246 GameInventory inventory = GetInventory();
1247 inventory.CreateInInventory("Hatchback_02_Wheel");
1248 inventory.CreateInInventory("Hatchback_02_Wheel");
1249 inventory.CreateInInventory("Hatchback_02_Wheel");
1250 inventory.CreateInInventory("Hatchback_02_Wheel");
1251
1252 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1253 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1254 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1255 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1256 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1257 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1258
1259 //-----IN CAR CARGO
1260 inventory.CreateInInventory("Hatchback_02_Wheel");
1261 inventory.CreateInInventory("Hatchback_02_Wheel");
1262 }
1263}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
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)
Hatchback_02 CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения 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
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.