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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

761 : CarScript
762{
766
767 void Offroad_02()
768 {
769 //m_dmgContactCoef = 0.0365;
770
771 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
772 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
773 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
774 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
775 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
776 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
777
778 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
779 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
780
781 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
782 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
783
784 m_LightsComponent.RegisterSelection("BrakesOn", {
785 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
786 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
787 });
788 m_LightsComponent.RegisterSelection("BrakesOff", {
789 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
790 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
791 });
792
793 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
794 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
795
796 SetEnginePos("0 0.7 1.7");
797
799 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
800 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
801 }
802
803 void ~Offroad_02()
804 {
805 m_UTSource = null;
806 m_UTSSettings = null;
807 m_UTSLEngine = null;
808 }
809
810 override void EEInit()
811 {
812 super.EEInit();
813
814 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
815 {
817 m_UTSSettings.m_ManualUpdate = true;
819 m_UTSSettings.m_TemperatureCap = 0;
820 m_UTSSettings.m_RangeFull = 0.5;
821 m_UTSSettings.m_RangeMax = 2;
822
825 }
826 }
827
828 override bool HasGangedTailAndBrakeLights()
829 {
830 return true;
831 }
832
833 override bool NeedElectricitySourceDevice()
834 {
835 return true;
836 }
837
839 {
840 super.GetElectricitySourceDevice();
841
842 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
843 }
844
845 override string GetElectricitySourceDeviceType()
846 {
847 return "CarBattery";
848 }
849
850 override void OnEngineStart()
851 {
852 super.OnEngineStart();
853
854 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
855 {
856 if (m_UTSource)
857 m_UTSource.SetDefferedActive(true, 20.0);
858 }
859 }
860
861 override void OnEngineStop()
862 {
863 super.OnEngineStop();
864
865 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
866 {
867 if (m_UTSource)
868 m_UTSource.SetDefferedActive(false, 10.0);
869 }
870 }
871
872 override void EOnPostSimulate(IEntity other, float timeSlice)
873 {
874 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
875 {
876 if (m_UTSource && m_UTSource.IsActive())
877 {
879 }
880 }
881 }
882
883 override int GetAnimInstance()
884 {
885 return VehicleAnimInstances.HMMWV;
886 }
887
888 override float GetTransportCameraDistance()
889 {
890 return 5.1;
891 }
892
893 override float GetWeightCoef()
894 {
895 return 1.5;
896 }
897
898 override int GetSeatAnimationType(int posIdx)
899 {
900 switch (posIdx)
901 {
902 case 0:
903 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
904 case 1:
905 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
906 case 2:
907 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
908 case 3:
909 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
910 }
911
912 return 0;
913 }
914
915 override bool CanReleaseAttachment( EntityAI attachment )
916 {
917 if (!super.CanReleaseAttachment(attachment))
918 {
919 return false;
920 }
921
922 string attType = attachment.GetType();
923 switch (attType)
924 {
925 case "CarBattery":
926 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
927 {
928 return false;
929 }
930 break;
931
932 case "GlowPlug":
933 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
934 {
935 return false;
936 }
937 break;
938 }
939
940 return true;
941 }
942
943 override protected bool CanManipulateSpareWheel(string slotSelectionName)
944 {
945 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
946 }
947
948 override bool CanDisplayAttachmentCategory(string category_name)
949 {
950 if ( !super.CanDisplayAttachmentCategory(category_name))
951 {
952 return false;
953 }
954
955 category_name.ToLower();
956 if (category_name.Contains("engine"))
957 {
958 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
959 {
960 return false;
961 }
962 }
963
964 return true;
965 }
966
967 override bool CanDisplayCargo()
968 {
969 if ( !super.CanDisplayCargo() )
970 return false;
971
972 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
973 return false;
974
975 return true;
976 }
977
978 override int GetCarDoorsState(string slotType)
979 {
980 CarDoor carDoor;
981
982 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
983 if (!carDoor)
984 {
985 return CarDoorState.DOORS_MISSING;
986 }
987
988 switch (slotType)
989 {
990 case "Offroad_02_Door_1_1":
991 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
992
993 case "Offroad_02_Door_2_1":
994 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
995
996 case "Offroad_02_Door_1_2":
997 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
998
999 case "Offroad_02_Door_2_2":
1000 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1001
1002 case "Offroad_02_Hood":
1003 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1004
1005 case "Offroad_02_Trunk":
1006 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1007 }
1008
1009 return CarDoorState.DOORS_MISSING;
1010 }
1011
1012
1013 override bool CrewCanGetThrough( int posIdx )
1014 {
1015 switch( posIdx )
1016 {
1017 case 0:
1018 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1019 return false;
1020
1021 return true;
1022 break;
1023
1024 case 1:
1025 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1026 return false;
1027
1028 return true;
1029 break;
1030
1031 case 2:
1032 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1033 return false;
1034
1035 return true;
1036 break;
1037
1038 case 3:
1039 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1040 return false;
1041
1042 return true;
1043 break;
1044 }
1045
1046 return false;
1047 }
1048
1049 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1050 {
1051 switch( posIdx )
1052 {
1053 case 0:
1054 return "doors_driver";
1055 break;
1056 case 1:
1057 return "doors_codriver";
1058 break;
1059 case 2:
1060 return "doors_cargo1";
1061 break;
1062 case 3:
1063 return "doors_cargo2";
1064 break;
1065 }
1066
1067 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1068 }
1069
1070 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1071 {
1072 switch (posIdx)
1073 {
1074 case 0:
1075 return "Offroad_02_Door_1_1";
1076 case 1:
1077 return "Offroad_02_Door_2_1";
1078 case 2:
1079 return "Offroad_02_Door_1_2";
1080 case 3:
1081 return "Offroad_02_Door_2_2";
1082 }
1083
1084 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1085 }
1086
1087 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1088 {
1089 switch ( ctrl )
1090 {
1091 case CarSoundCtrl.DOORS:
1092 float newValue = 0;
1093 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1094 {
1095 newValue += 0.25;
1096 }
1097
1098 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1099 {
1100 newValue += 0.25;
1101 }
1102
1103 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1104 {
1105 newValue += 0.25;
1106 }
1107
1108 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1109 {
1110 newValue += 0.25;
1111 }
1112
1113 return Math.Clamp(newValue, 0, 1);
1114 break;
1115 }
1116
1117 return super.OnSound(ctrl, oldValue);
1118 }
1119
1120 override string GetAnimSourceFromSelection(string selection)
1121 {
1122 switch (selection)
1123 {
1124 case "doors_driver":
1125 return "DoorsDriver";
1126 case "doors_codriver":
1127 return "DoorsCoDriver";
1128 case "doors_cargo1":
1129 return "DoorsCargo1";
1130 case "doors_cargo2":
1131 return "DoorsCargo2";
1132 case "doors_hood":
1133 return "DoorsHood";
1134 case "doors_trunk":
1135 return "DoorsTrunk";
1136 }
1137
1138 return "";
1139 }
1140
1141 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1142 {
1143 switch (currentSeat)
1144 {
1145 case 0:
1146 return nextSeat == 1;
1147 case 1:
1148 return nextSeat == 0;
1149 case 2:
1150 return nextSeat == 3;
1151 case 3:
1152 return nextSeat == 2;
1153 }
1154
1155 return false;
1156 }
1157
1158 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1159 {
1160 switch (pCurrentSeat)
1161 {
1162 case 0:
1163 return pDoorsSelection == "DoorsDriver";
1164 case 1:
1165 return pDoorsSelection == "DoorsCoDriver";
1166 case 2:
1167 return pDoorsSelection == "DoorsCargo1";
1168 case 3:
1169 return pDoorsSelection == "DoorsCargo2";
1170 }
1171
1172 return false;
1173 }
1174
1175 override bool IsVitalSparkPlug()
1176 {
1177 return false;
1178 }
1179
1180 override bool IsVitalRadiator()
1181 {
1182 return false;
1183 }
1184
1185 override void OnDebugSpawn()
1186 {
1188 SpawnAdditionalItems();
1189 FillUpCarFluids();
1190
1191 GameInventory inventory = GetInventory();
1192 inventory.CreateInInventory("Offroad_02_Wheel");
1193 inventory.CreateInInventory("Offroad_02_Wheel");
1194 inventory.CreateInInventory("Offroad_02_Wheel");
1195 inventory.CreateInInventory("Offroad_02_Wheel");
1196
1197 inventory.CreateInInventory("Offroad_02_Door_1_1");
1198 inventory.CreateInInventory("Offroad_02_Door_1_2");
1199 inventory.CreateInInventory("Offroad_02_Door_2_1");
1200 inventory.CreateInInventory("Offroad_02_Door_2_2");
1201 inventory.CreateInInventory("Offroad_02_Hood");
1202 inventory.CreateInInventory("Offroad_02_Trunk");
1203
1204 //-----IN CAR CARGO
1205 inventory.CreateInInventory("Offroad_02_Wheel");
1206 inventory.CreateInInventory("Offroad_02_Wheel");
1207 }
1208}
1209
1210
1211class Offroad_02_Beige : Offroad_02
1212{
1213 override void OnDebugSpawn()
1214 {
1216 SpawnAdditionalItems();
1217 FillUpCarFluids();
1218
1219 GetInventory().CreateInInventory("Offroad_02_Wheel");
1220 GetInventory().CreateInInventory("Offroad_02_Wheel");
1221 GetInventory().CreateInInventory("Offroad_02_Wheel");
1222 GetInventory().CreateInInventory("Offroad_02_Wheel");
1223
1224 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1225 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1226 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1227 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1228 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1229 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1230
1231 //-----IN CAR CARGO
1232 GetInventory().CreateInInventory("Offroad_02_Wheel");
1233 GetInventory().CreateInInventory("Offroad_02_Wheel");
1234 }
1235}
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
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
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()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
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
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.