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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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