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

◆ GetCarDoorsState()

override int OnDebugSpawn::GetCarDoorsState ( string slotType)
protected

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

685 : CarScript
686{
690
691 void OffroadHatchback()
692 {
693 //m_dmgContactCoef = 0.075;
694
695 m_EngineStartOK = "offroad_engine_start_SoundSet";
696 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
697 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
698 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
699 m_EngineStop = "offroad_engine_stop_SoundSet";
700 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
701
702 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
703 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
704 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
705 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
706
709
710 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
711 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
712
713 SetEnginePos("0 0.7 1.2");
714
716 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
717 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
718 }
719
720 void ~OffroadHatchback()
721 {
722 m_UTSource = null;
723 m_UTSSettings = null;
724 m_UTSLEngine = null;
725 }
726
727 override void EEInit()
728 {
729 super.EEInit();
730
731 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
732 {
734 m_UTSSettings.m_ManualUpdate = true;
736 m_UTSSettings.m_TemperatureCap = 0;
737 m_UTSSettings.m_RangeFull = 0.5;
738 m_UTSSettings.m_RangeMax = 2;
739
742 }
743 }
744
745 override bool NeedElectricitySourceDevice()
746 {
747 return true;
748 }
749
751 {
752 super.GetElectricitySourceDevice();
753
754 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
755 }
756
757 override string GetElectricitySourceDeviceType()
758 {
759 return "CarBattery";
760 }
761
762 override void OnEngineStart()
763 {
764 super.OnEngineStart();
765
766 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
767 {
768 if (m_UTSource)
769 m_UTSource.SetDefferedActive(true, 20.0);
770 }
771 }
772
773 override void OnEngineStop()
774 {
775 super.OnEngineStop();
776
777 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
778 {
779 if (m_UTSource)
780 m_UTSource.SetDefferedActive(false, 10.0);
781 }
782 }
783
784 override void EOnPostSimulate(IEntity other, float timeSlice)
785 {
786 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
787 {
788 if (m_UTSource && m_UTSource.IsActive())
789 {
791 }
792 }
793 }
794
795 override int GetAnimInstance()
796 {
797 return VehicleAnimInstances.HATCHBACK;
798 }
799
800 override float GetTransportCameraDistance()
801 {
802 return 3.5;
803 }
804
805 override int GetSeatAnimationType( int posIdx )
806 {
807 switch (posIdx)
808 {
809 case 0:
810 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
811 case 1:
812 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
813 case 2:
814 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
815 case 3:
816 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
817 }
818
819 return 0;
820
821 }
822
823 override bool CanReleaseAttachment(EntityAI attachment)
824 {
825 if (!super.CanReleaseAttachment(attachment))
826 {
827 return false;
828 }
829
830 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
831 {
832 string attType = attachment.GetType();
833 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
834 {
835 return false;
836 }
837 }
838
839 return true;
840 }
841
842 override protected bool CanManipulateSpareWheel(string slotSelectionName)
843 {
844 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
845 }
846
847 override bool CanDisplayAttachmentCategory( string category_name )
848 {
849 if (!super.CanDisplayAttachmentCategory(category_name))
850 {
851 return false;
852 }
853
854 category_name.ToLower();
855 if (category_name.Contains("engine"))
856 {
857 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
858 {
859 return false;
860 }
861 }
862
863 return true;
864 }
865
866 override bool CanDisplayCargo()
867 {
868 if (!super.CanDisplayCargo())
869 {
870 return false;
871 }
872
873 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
874 {
875 return false;
876 }
877
878 return true;
879 }
880
881 override int GetCarDoorsState(string slotType)
882 {
883 CarDoor carDoor;
884
885 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
886 if (!carDoor)
887 {
888 return CarDoorState.DOORS_MISSING;
889 }
890
891 switch (slotType)
892 {
893 case "NivaDriverDoors":
894 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
895
896 case "NivaCoDriverDoors":
897 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
898
899 case "NivaHood":
900 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
901
902 case "NivaTrunk":
903 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
904 }
905
906 return CarDoorState.DOORS_MISSING;
907 }
908
909 override bool CrewCanGetThrough(int posIdx)
910 {
911 CarDoor carDoor;
912 switch (posIdx)
913 {
914 case 0:
915 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
916 return false;
917 else if (GetAnimationPhase("SeatDriver") > 0.5)
918 return false;
919
920 return true;
921
922 case 1:
923 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
924 return false;
925 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
926 return false;
927
928 return true;
929
930 case 2:
931 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
932 return false;
933 else if (GetAnimationPhase("SeatDriver") <= 0.5)
934 return false;
935
936 return true;
937
938 case 3:
939 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
940 return false;
941 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
942 return false;
943
944 return true;
945 }
946
947 return false;
948 }
949
950 override string GetDoorSelectionNameFromSeatPos(int posIdx)
951 {
952 switch (posIdx)
953 {
954 case 0:
955 case 2:
956 return "doors_driver";
957 case 1:
958 case 3:
959 return "doors_codriver";
960 }
961
962 return super.GetDoorSelectionNameFromSeatPos(posIdx);
963 }
964
965 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
966 {
967 switch (posIdx)
968 {
969 case 0:
970 case 2:
971 return "NivaDriverDoors";
972 case 1:
973 case 3:
974 return "NivaCoDriverDoors";
975 }
976
977 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
978 }
979
980 // 0 full ambient and engine sound
981 // 1 zero ambient and engine sound
982 override float OnSound(CarSoundCtrl ctrl, float oldValue)
983 {
984 float tempCap = 0.0;
985
986 switch (ctrl)
987 {
988 case CarSoundCtrl.DOORS:
989 float newValue = 0;
990 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
991 {
992 newValue += 0.5;
993 }
994
995 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
996 {
997 newValue += 0.5;
998 }
999
1000 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1001 {
1002 newValue += 0.3;
1003 }
1004
1005 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1006 {
1007 newValue -= 0.6;
1008 }
1009
1010 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1011 {
1012 newValue -= 0.2;
1013 }
1014
1015 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1016 {
1017 newValue -= 0.2;
1018 }
1019
1020 return Math.Clamp(newValue, 0, 1);
1021 break;
1022 }
1023
1024 return super.OnSound(ctrl, oldValue);
1025 }
1026
1027 override string GetAnimSourceFromSelection( string selection )
1028 {
1029 switch (selection)
1030 {
1031 case "doors_driver":
1032 return "DoorsDriver";
1033 case "doors_codriver":
1034 return "DoorsCoDriver";
1035 case "doors_hood":
1036 return "DoorsHood";
1037 case "doors_trunk":
1038 return "DoorsTrunk";
1039 case "seatback_driver":
1040 return "SeatDriver";
1041 case "seatback_codriver":
1042 return "SeatCoDriver";
1043 }
1044
1045 return "";
1046 }
1047
1048 override string GetDoorConditionPointFromSelection(string selection)
1049 {
1050 switch (selection)
1051 {
1052 case "seat_driver":
1053 case "seatback_driver":
1054 case "seat_cargo1":
1055 return "seat_con_1_1";
1056 case "seat_codriver":
1057 case "seatback_codriver":
1058 case "seat_cargo2":
1059 return "seat_con_2_1";
1060 }
1061
1062 return "";
1063 }
1064
1065 override int GetCrewIndex(string selection)
1066 {
1067 switch (selection)
1068 {
1069 case "seatback_driver":
1070 return 0;
1071 case "seatback_codriver":
1072 return 1;
1073 }
1074
1075 return -1;
1076 }
1077
1078 override bool IsVitalGlowPlug()
1079 {
1080 return false;
1081 }
1082
1083 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1084 {
1085 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1086 return false;
1087
1088 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1089 return false;
1090
1091 switch (currentSeat)
1092 {
1093 case 0:
1094 return nextSeat == 1;
1095
1096 case 1:
1097 return nextSeat == 0;
1098
1099 case 2:
1100 return nextSeat == 3;
1101
1102 case 3:
1103 return nextSeat == 2;
1104 }
1105
1106 return false;
1107 }
1108
1109 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1110 {
1111 switch (pCurrentSeat)
1112 {
1113 case 0:
1114 return pDoorsSelection == "DoorsDriver";
1115
1116 case 1:
1117 return pDoorsSelection == "DoorsCoDriver";
1118
1119 case 2:
1120 return pDoorsSelection == "DoorsDriver";
1121
1122 case 3:
1123 return pDoorsSelection == "DoorsCoDriver";
1124 }
1125
1126 return false;
1127 }
1128
1129 override int GetSeatIndexFromDoor( string pDoorSelection )
1130 {
1131 switch (pDoorSelection)
1132 {
1133 case "DoorsDriver":
1134 return 0;
1135 case "DoorsCoDriver":
1136 return 1;
1137 }
1138
1139 return -1;
1140 }
1141
1142 override void SetActions()
1143 {
1144 super.SetActions();
1145
1147 }
1148
1149 override void OnDebugSpawn()
1150 {
1152 SpawnAdditionalItems();
1153 FillUpCarFluids();
1154
1155 GameInventory inventory = GetInventory();
1156 inventory.CreateInInventory("HatchbackWheel");
1157 inventory.CreateInInventory("HatchbackWheel");
1158 inventory.CreateInInventory("HatchbackWheel" );
1159 inventory.CreateInInventory("HatchbackWheel");
1160
1161 inventory.CreateInInventory("HatchbackDoors_Driver");
1162 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1163 inventory.CreateInInventory("HatchbackHood");
1164 inventory.CreateInInventory("HatchbackTrunk");
1165
1166 //-----IN CAR CARGO
1167 inventory.CreateInInventory("HatchbackWheel");
1168 inventory.CreateInInventory("HatchbackWheel");
1169 }
1170}
1171
1172class OffroadHatchback_White : OffroadHatchback
1173{
1174 override void OnDebugSpawn()
1175 {
1177 SpawnAdditionalItems();
1178 FillUpCarFluids();
1179
1180 GameInventory inventory = GetInventory();
1181 inventory.CreateInInventory("HatchbackWheel");
1182 inventory.CreateInInventory("HatchbackWheel");
1183 inventory.CreateInInventory("HatchbackWheel");
1184 inventory.CreateInInventory("HatchbackWheel");
1185
1186 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1187 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1188 inventory.CreateInInventory("HatchbackHood_White");
1189 inventory.CreateInInventory("HatchbackTrunk_White");
1190
1191
1192 //-----IN CAR CARGO
1193 inventory.CreateInInventory("HatchbackWheel");
1194 inventory.CreateInInventory("HatchbackWheel");
1195 }
1196}
1197
1199{
1200 override void OnDebugSpawn()
1201 {
1203 SpawnAdditionalItems();
1204 FillUpCarFluids();
1205
1206 GameInventory inventory = GetInventory();
1207 inventory.CreateInInventory("HatchbackWheel");
1208 inventory.CreateInInventory("HatchbackWheel");
1209 inventory.CreateInInventory("HatchbackWheel");
1210 inventory.CreateInInventory("HatchbackWheel");
1211
1212 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1213 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1214 inventory.CreateInInventory("HatchbackHood_Blue");
1215 inventory.CreateInInventory("HatchbackTrunk_Blue");
1216
1217 //-----IN CAR CARGO
1218 inventory.CreateInInventory("HatchbackWheel");
1219 inventory.CreateInInventory("HatchbackWheel");
1220 }
1221}
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.