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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

658 : CarScript
659{
663
664 void Offroad_02()
665 {
666 //m_dmgContactCoef = 0.0365;
667
668 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
669 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
670 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
671 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
672 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
673 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
674
675 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
676 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
677
678 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
679 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
680
681 m_LightsComponent.RegisterSelection("BrakesOn", {
682 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
683 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
684 });
685 m_LightsComponent.RegisterSelection("BrakesOff", {
686 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
687 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
688 });
689
690 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
691 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
692
693 SetEnginePos("0 0.7 1.7");
694
696 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
697 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
698 }
699
700 void ~Offroad_02()
701 {
702 m_UTSource = null;
703 m_UTSSettings = null;
704 m_UTSLEngine = null;
705 }
706
707 override void EEInit()
708 {
709 super.EEInit();
710
711 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
712 {
714 m_UTSSettings.m_ManualUpdate = true;
716 m_UTSSettings.m_TemperatureCap = 0;
717 m_UTSSettings.m_RangeFull = 0.5;
718 m_UTSSettings.m_RangeMax = 2;
719
722 }
723 }
724
725 override bool HasGangedTailAndBrakeLights()
726 {
727 return true;
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.HMMWV;
783 }
784
785 override float GetTransportCameraDistance()
786 {
787 return 5.1;
788 }
789
790 override float GetWeightCoef()
791 {
792 return 1.5;
793 }
794
795 override int GetSeatAnimationType(int posIdx)
796 {
797 switch (posIdx)
798 {
799 case 0:
800 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
801 case 1:
802 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
803 case 2:
804 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
805 case 3:
806 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
807 }
808
809 return 0;
810 }
811
812 override bool CanReleaseAttachment( EntityAI attachment )
813 {
814 if (!super.CanReleaseAttachment(attachment))
815 {
816 return false;
817 }
818
819 string attType = attachment.GetType();
820 switch (attType)
821 {
822 case "CarBattery":
823 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
824 {
825 return false;
826 }
827 break;
828
829 case "GlowPlug":
830 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
831 {
832 return false;
833 }
834 break;
835 }
836
837 return true;
838 }
839
840 override protected bool CanManipulateSpareWheel(string slotSelectionName)
841 {
842 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
843 }
844
845 override bool CanDisplayAttachmentCategory(string category_name)
846 {
847 if ( !super.CanDisplayAttachmentCategory(category_name))
848 {
849 return false;
850 }
851
852 category_name.ToLower();
853 if (category_name.Contains("engine"))
854 {
855 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
856 {
857 return false;
858 }
859 }
860
861 return true;
862 }
863
864 override bool CanDisplayCargo()
865 {
866 if ( !super.CanDisplayCargo() )
867 return false;
868
869 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
870 return false;
871
872 return true;
873 }
874
875 override int GetCarDoorsState(string slotType)
876 {
877 CarDoor carDoor;
878
879 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
880 if (!carDoor)
881 {
882 return CarDoorState.DOORS_MISSING;
883 }
884
885 switch (slotType)
886 {
887 case "Offroad_02_Door_1_1":
888 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
889
890 case "Offroad_02_Door_2_1":
891 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
892
893 case "Offroad_02_Door_1_2":
894 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
895
896 case "Offroad_02_Door_2_2":
897 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
898
899 case "Offroad_02_Hood":
900 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
901
902 case "Offroad_02_Trunk":
903 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
904 }
905
906 return CarDoorState.DOORS_MISSING;
907 }
908
909
910 override bool CrewCanGetThrough( int posIdx )
911 {
912 switch( posIdx )
913 {
914 case 0:
915 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
916 return false;
917
918 return true;
919 break;
920
921 case 1:
922 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
923 return false;
924
925 return true;
926 break;
927
928 case 2:
929 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
930 return false;
931
932 return true;
933 break;
934
935 case 3:
936 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
937 return false;
938
939 return true;
940 break;
941 }
942
943 return false;
944 }
945
946 override string GetDoorSelectionNameFromSeatPos(int posIdx)
947 {
948 switch( posIdx )
949 {
950 case 0:
951 return "doors_driver";
952 break;
953 case 1:
954 return "doors_codriver";
955 break;
956 case 2:
957 return "doors_cargo1";
958 break;
959 case 3:
960 return "doors_cargo2";
961 break;
962 }
963
964 return super.GetDoorSelectionNameFromSeatPos(posIdx);
965 }
966
967 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
968 {
969 switch (posIdx)
970 {
971 case 0:
972 return "Offroad_02_Door_1_1";
973 case 1:
974 return "Offroad_02_Door_2_1";
975 case 2:
976 return "Offroad_02_Door_1_2";
977 case 3:
978 return "Offroad_02_Door_2_2";
979 }
980
981 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
982 }
983
984 override float OnSound(CarSoundCtrl ctrl, float oldValue)
985 {
986 switch ( ctrl )
987 {
988 case CarSoundCtrl.DOORS:
989 float newValue = 0;
990 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
991 {
992 newValue += 0.25;
993 }
994
995 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
996 {
997 newValue += 0.25;
998 }
999
1000 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1001 {
1002 newValue += 0.25;
1003 }
1004
1005 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1006 {
1007 newValue += 0.25;
1008 }
1009
1010 return Math.Clamp(newValue, 0, 1);
1011 break;
1012 }
1013
1014 return super.OnSound(ctrl, oldValue);
1015 }
1016
1017 override string GetAnimSourceFromSelection(string selection)
1018 {
1019 switch (selection)
1020 {
1021 case "doors_driver":
1022 return "DoorsDriver";
1023 case "doors_codriver":
1024 return "DoorsCoDriver";
1025 case "doors_cargo1":
1026 return "DoorsCargo1";
1027 case "doors_cargo2":
1028 return "DoorsCargo2";
1029 case "doors_hood":
1030 return "DoorsHood";
1031 case "doors_trunk":
1032 return "DoorsTrunk";
1033 }
1034
1035 return "";
1036 }
1037
1038 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1039 {
1040 switch (currentSeat)
1041 {
1042 case 0:
1043 return nextSeat == 1;
1044 case 1:
1045 return nextSeat == 0;
1046 case 2:
1047 return nextSeat == 3;
1048 case 3:
1049 return nextSeat == 2;
1050 }
1051
1052 return false;
1053 }
1054
1055 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1056 {
1057 switch (pCurrentSeat)
1058 {
1059 case 0:
1060 return pDoorsSelection == "DoorsDriver";
1061 case 1:
1062 return pDoorsSelection == "DoorsCoDriver";
1063 case 2:
1064 return pDoorsSelection == "DoorsCargo1";
1065 case 3:
1066 return pDoorsSelection == "DoorsCargo2";
1067 }
1068
1069 return false;
1070 }
1071
1072 override bool IsVitalSparkPlug()
1073 {
1074 return false;
1075 }
1076
1077 override bool IsVitalRadiator()
1078 {
1079 return false;
1080 }
1081
1082 override void OnDebugSpawn()
1083 {
1085 SpawnAdditionalItems();
1086 FillUpCarFluids();
1087
1088 GameInventory inventory = GetInventory();
1089 inventory.CreateInInventory("Offroad_02_Wheel");
1090 inventory.CreateInInventory("Offroad_02_Wheel");
1091 inventory.CreateInInventory("Offroad_02_Wheel");
1092 inventory.CreateInInventory("Offroad_02_Wheel");
1093
1094 inventory.CreateInInventory("Offroad_02_Door_1_1");
1095 inventory.CreateInInventory("Offroad_02_Door_1_2");
1096 inventory.CreateInInventory("Offroad_02_Door_2_1");
1097 inventory.CreateInInventory("Offroad_02_Door_2_2");
1098 inventory.CreateInInventory("Offroad_02_Hood");
1099 inventory.CreateInInventory("Offroad_02_Trunk");
1100
1101 //-----IN CAR CARGO
1102 inventory.CreateInInventory("Offroad_02_Wheel");
1103 inventory.CreateInInventory("Offroad_02_Wheel");
1104 }
1105}
1106
1107
1108class Offroad_02_Beige : Offroad_02
1109{
1110 override void OnDebugSpawn()
1111 {
1113 SpawnAdditionalItems();
1114 FillUpCarFluids();
1115
1116 GetInventory().CreateInInventory("Offroad_02_Wheel");
1117 GetInventory().CreateInInventory("Offroad_02_Wheel");
1118 GetInventory().CreateInInventory("Offroad_02_Wheel");
1119 GetInventory().CreateInInventory("Offroad_02_Wheel");
1120
1121 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1122 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1123 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1124 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1125 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1126 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1127
1128 //-----IN CAR CARGO
1129 GetInventory().CreateInInventory("Offroad_02_Wheel");
1130 GetInventory().CreateInInventory("Offroad_02_Wheel");
1131 }
1132}
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.