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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

769 : CarScript
770{
774
775 void OffroadHatchback()
776 {
777 //m_dmgContactCoef = 0.075;
778
779 m_EngineStartOK = "offroad_engine_start_SoundSet";
780 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
781 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
782 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
783 m_EngineStop = "offroad_engine_stop_SoundSet";
784 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
785
786 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
787 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
788 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
789 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
790
793
794 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
795 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
796
797 SetEnginePos("0 0.7 1.2");
798
800 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
801 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
802 }
803
804 void ~OffroadHatchback()
805 {
806 m_UTSource = null;
807 m_UTSSettings = null;
808 m_UTSLEngine = null;
809 }
810
811 override void EEInit()
812 {
813 super.EEInit();
814
815 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
816 {
818 m_UTSSettings.m_ManualUpdate = true;
820 m_UTSSettings.m_TemperatureCap = 0;
821 m_UTSSettings.m_RangeFull = 0.5;
822 m_UTSSettings.m_RangeMax = 2;
823
826 }
827 }
828
829 override bool NeedElectricitySourceDevice()
830 {
831 return true;
832 }
833
835 {
836 super.GetElectricitySourceDevice();
837
838 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
839 }
840
841 override string GetElectricitySourceDeviceType()
842 {
843 return "CarBattery";
844 }
845
846 override void OnEngineStart()
847 {
848 super.OnEngineStart();
849
850 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
851 {
852 if (m_UTSource)
853 m_UTSource.SetDefferedActive(true, 20.0);
854 }
855 }
856
857 override void OnEngineStop()
858 {
859 super.OnEngineStop();
860
861 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
862 {
863 if (m_UTSource)
864 m_UTSource.SetDefferedActive(false, 10.0);
865 }
866 }
867
868 override void EOnPostSimulate(IEntity other, float timeSlice)
869 {
870 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
871 {
872 if (m_UTSource && m_UTSource.IsActive())
873 {
875 }
876 }
877 }
878
879 override int GetAnimInstance()
880 {
881 return VehicleAnimInstances.HATCHBACK;
882 }
883
884 override float GetTransportCameraDistance()
885 {
886 return 3.5;
887 }
888
889 override int GetSeatAnimationType( int posIdx )
890 {
891 switch (posIdx)
892 {
893 case 0:
894 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
895 case 1:
896 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
897 case 2:
898 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
899 case 3:
900 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
901 }
902
903 return 0;
904
905 }
906
907 override bool CanReleaseAttachment(EntityAI attachment)
908 {
909 if (!super.CanReleaseAttachment(attachment))
910 {
911 return false;
912 }
913
914 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
915 {
916 string attType = attachment.GetType();
917 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
918 {
919 return false;
920 }
921 }
922
923 return true;
924 }
925
926 override protected bool CanManipulateSpareWheel(string slotSelectionName)
927 {
928 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
929 }
930
931 override bool CanDisplayAttachmentCategory( string category_name )
932 {
933 if (!super.CanDisplayAttachmentCategory(category_name))
934 {
935 return false;
936 }
937
938 category_name.ToLower();
939 if (category_name.Contains("engine"))
940 {
941 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
942 {
943 return false;
944 }
945 }
946
947 return true;
948 }
949
950 override bool CanDisplayCargo()
951 {
952 if (!super.CanDisplayCargo())
953 {
954 return false;
955 }
956
957 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
958 {
959 return false;
960 }
961
962 return true;
963 }
964
965 override int GetCarDoorsState(string slotType)
966 {
967 CarDoor carDoor;
968
969 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
970 if (!carDoor)
971 {
972 return CarDoorState.DOORS_MISSING;
973 }
974
975 switch (slotType)
976 {
977 case "NivaDriverDoors":
978 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
979
980 case "NivaCoDriverDoors":
981 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
982
983 case "NivaHood":
984 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
985
986 case "NivaTrunk":
987 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
988 }
989
990 return CarDoorState.DOORS_MISSING;
991 }
992
993 override bool CrewCanGetThrough(int posIdx)
994 {
995 CarDoor carDoor;
996 switch (posIdx)
997 {
998 case 0:
999 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1000 return false;
1001 else if (GetAnimationPhase("SeatDriver") > 0.5)
1002 return false;
1003
1004 return true;
1005
1006 case 1:
1007 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1008 return false;
1009 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1010 return false;
1011
1012 return true;
1013
1014 case 2:
1015 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1016 return false;
1017 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1018 return false;
1019
1020 return true;
1021
1022 case 3:
1023 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1024 return false;
1025 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1026 return false;
1027
1028 return true;
1029 }
1030
1031 return false;
1032 }
1033
1034 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1035 {
1036 switch (posIdx)
1037 {
1038 case 0:
1039 case 2:
1040 return "doors_driver";
1041 case 1:
1042 case 3:
1043 return "doors_codriver";
1044 }
1045
1046 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1047 }
1048
1049 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1050 {
1051 switch (posIdx)
1052 {
1053 case 0:
1054 case 2:
1055 return "NivaDriverDoors";
1056 case 1:
1057 case 3:
1058 return "NivaCoDriverDoors";
1059 }
1060
1061 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1062 }
1063
1064 // 0 full ambient and engine sound
1065 // 1 zero ambient and engine sound
1066 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1067 {
1068 float tempCap = 0.0;
1069
1070 switch (ctrl)
1071 {
1072 case CarSoundCtrl.DOORS:
1073 float newValue = 0;
1074 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1075 {
1076 newValue += 0.5;
1077 }
1078
1079 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1080 {
1081 newValue += 0.5;
1082 }
1083
1084 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1085 {
1086 newValue += 0.3;
1087 }
1088
1089 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1090 {
1091 newValue -= 0.6;
1092 }
1093
1094 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1095 {
1096 newValue -= 0.2;
1097 }
1098
1099 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1100 {
1101 newValue -= 0.2;
1102 }
1103
1104 return Math.Clamp(newValue, 0, 1);
1105 break;
1106 }
1107
1108 return super.OnSound(ctrl, oldValue);
1109 }
1110
1111 override string GetAnimSourceFromSelection( string selection )
1112 {
1113 switch (selection)
1114 {
1115 case "doors_driver":
1116 return "DoorsDriver";
1117 case "doors_codriver":
1118 return "DoorsCoDriver";
1119 case "doors_hood":
1120 return "DoorsHood";
1121 case "doors_trunk":
1122 return "DoorsTrunk";
1123 case "seatback_driver":
1124 return "SeatDriver";
1125 case "seatback_codriver":
1126 return "SeatCoDriver";
1127 }
1128
1129 return "";
1130 }
1131
1132 override string GetDoorConditionPointFromSelection(string selection)
1133 {
1134 switch (selection)
1135 {
1136 case "seat_driver":
1137 case "seatback_driver":
1138 case "seat_cargo1":
1139 return "seat_con_1_1";
1140 case "seat_codriver":
1141 case "seatback_codriver":
1142 case "seat_cargo2":
1143 return "seat_con_2_1";
1144 }
1145
1146 return "";
1147 }
1148
1149 override int GetCrewIndex(string selection)
1150 {
1151 switch (selection)
1152 {
1153 case "seatback_driver":
1154 return 0;
1155 case "seatback_codriver":
1156 return 1;
1157 }
1158
1159 return -1;
1160 }
1161
1162 override bool IsVitalGlowPlug()
1163 {
1164 return false;
1165 }
1166
1167 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1168 {
1169 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1170 return false;
1171
1172 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1173 return false;
1174
1175 switch (currentSeat)
1176 {
1177 case 0:
1178 return nextSeat == 1;
1179
1180 case 1:
1181 return nextSeat == 0;
1182
1183 case 2:
1184 return nextSeat == 3;
1185
1186 case 3:
1187 return nextSeat == 2;
1188 }
1189
1190 return false;
1191 }
1192
1193 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1194 {
1195 switch (pCurrentSeat)
1196 {
1197 case 0:
1198 return pDoorsSelection == "DoorsDriver";
1199
1200 case 1:
1201 return pDoorsSelection == "DoorsCoDriver";
1202
1203 case 2:
1204 return pDoorsSelection == "DoorsDriver";
1205
1206 case 3:
1207 return pDoorsSelection == "DoorsCoDriver";
1208 }
1209
1210 return false;
1211 }
1212
1213 override int GetSeatIndexFromDoor( string pDoorSelection )
1214 {
1215 switch (pDoorSelection)
1216 {
1217 case "DoorsDriver":
1218 return 0;
1219 case "DoorsCoDriver":
1220 return 1;
1221 }
1222
1223 return -1;
1224 }
1225
1226 override void SetActions()
1227 {
1228 super.SetActions();
1229
1231 }
1232
1233 override void OnDebugSpawn()
1234 {
1236 SpawnAdditionalItems();
1237 FillUpCarFluids();
1238
1239 GameInventory inventory = GetInventory();
1240 inventory.CreateInInventory("HatchbackWheel");
1241 inventory.CreateInInventory("HatchbackWheel");
1242 inventory.CreateInInventory("HatchbackWheel" );
1243 inventory.CreateInInventory("HatchbackWheel");
1244
1245 inventory.CreateInInventory("HatchbackDoors_Driver");
1246 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1247 inventory.CreateInInventory("HatchbackHood");
1248 inventory.CreateInInventory("HatchbackTrunk");
1249
1250 //-----IN CAR CARGO
1251 inventory.CreateInInventory("HatchbackWheel");
1252 inventory.CreateInInventory("HatchbackWheel");
1253 }
1254}
1255
1256class OffroadHatchback_White : OffroadHatchback
1257{
1258 override void OnDebugSpawn()
1259 {
1261 SpawnAdditionalItems();
1262 FillUpCarFluids();
1263
1264 GameInventory inventory = GetInventory();
1265 inventory.CreateInInventory("HatchbackWheel");
1266 inventory.CreateInInventory("HatchbackWheel");
1267 inventory.CreateInInventory("HatchbackWheel");
1268 inventory.CreateInInventory("HatchbackWheel");
1269
1270 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1271 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1272 inventory.CreateInInventory("HatchbackHood_White");
1273 inventory.CreateInInventory("HatchbackTrunk_White");
1274
1275
1276 //-----IN CAR CARGO
1277 inventory.CreateInInventory("HatchbackWheel");
1278 inventory.CreateInInventory("HatchbackWheel");
1279 }
1280}
1281
1283{
1284 override void OnDebugSpawn()
1285 {
1287 SpawnAdditionalItems();
1288 FillUpCarFluids();
1289
1290 GameInventory inventory = GetInventory();
1291 inventory.CreateInInventory("HatchbackWheel");
1292 inventory.CreateInInventory("HatchbackWheel");
1293 inventory.CreateInInventory("HatchbackWheel");
1294 inventory.CreateInInventory("HatchbackWheel");
1295
1296 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1297 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1298 inventory.CreateInInventory("HatchbackHood_Blue");
1299 inventory.CreateInInventory("HatchbackTrunk_Blue");
1300
1301 //-----IN CAR CARGO
1302 inventory.CreateInInventory("HatchbackWheel");
1303 inventory.CreateInInventory("HatchbackWheel");
1304 }
1305}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
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.