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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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