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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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