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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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