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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

645 : CarScript
646{
650
651 void Sedan_02()
652 {
653 m_dmgContactCoef = 0.0790;
654
655 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
656 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
657 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
658 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
659 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
660 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
661
662 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
663 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
664
665 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Sedan_02LightProfileFront()));
666 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Sedan_02LightProfileRear()));
667
668 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Sedan_02_Horn_Short_SoundSet");
669 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Sedan_02_Horn_SoundSet");
670
671 SetEnginePos("0 0.7 -1.7");
672
674 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
675 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
676 }
677
678 void ~Sedan_02()
679 {
680 m_UTSource = null;
681 m_UTSSettings = null;
682 m_UTSLEngine = null;
683 }
684
685 override void EEInit()
686 {
687 super.EEInit();
688
689 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
690 {
692 m_UTSSettings.m_ManualUpdate = true;
694 m_UTSSettings.m_TemperatureCap = 0;
695 m_UTSSettings.m_RangeFull = 0.5;
696 m_UTSSettings.m_RangeMax = 2;
697
700 }
701 }
702
703 override bool NeedElectricitySourceDevice()
704 {
705 return true;
706 }
707
709 {
710 super.GetElectricitySourceDevice();
711
712 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
713 }
714
715 override string GetElectricitySourceDeviceType()
716 {
717 return "CarBattery";
718 }
719
720 override void OnEngineStart()
721 {
722 super.OnEngineStart();
723
724 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
725 {
726 if (m_UTSource)
727 m_UTSource.SetDefferedActive(true, 20.0);
728 }
729 }
730
731 override void OnEngineStop()
732 {
733 super.OnEngineStop();
734
735 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
736 {
737 if (m_UTSource)
738 m_UTSource.SetDefferedActive(false, 10.0);
739 }
740 }
741
742 override void EOnPostSimulate(IEntity other, float timeSlice)
743 {
744 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
745 {
746 if (m_UTSource && m_UTSource.IsActive())
747 {
749 }
750 }
751 }
752
753 override int GetAnimInstance()
754 {
755 return VehicleAnimInstances.S120;
756 }
757
758 override int GetSeatAnimationType(int posIdx)
759 {
760 switch (posIdx)
761 {
762 case 0:
763 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
764 case 1:
765 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
766 case 2:
767 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
768 case 3:
769 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
770 }
771
772 return 0;
773 }
774
775 override bool CanReleaseAttachment( EntityAI attachment )
776 {
777 if (!super.CanReleaseAttachment(attachment))
778 {
779 return false;
780 }
781
782 string attType = attachment.GetType();
783 switch (attType)
784 {
785 case "CarBattery":
786 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
787 {
788 return false;
789 }
790 break;
791
792 case "SparkPlug":
793 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
794 {
795 return false;
796 }
797 break;
798
799 case "CarRadiator":
800 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
801 {
802 return false;
803 }
804 break;
805 }
806
807 return true;
808 }
809
810 override protected bool CanManipulateSpareWheel(string slotSelectionName)
811 {
812 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
813 }
814
815 override bool CanDisplayAttachmentCategory(string category_name)
816 {
817 if ( !super.CanDisplayAttachmentCategory(category_name))
818 {
819 return false;
820 }
821
822 category_name.ToLower();
823 if (category_name.Contains("engine"))
824 {
825 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
826 {
827 return false;
828 }
829 }
830
831 if (category_name.Contains("trunk"))
832 {
833 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
834 {
835 return false;
836 }
837 }
838
839 return true;
840 }
841
842 override bool CanDisplayCargo()
843 {
844 if ( !super.CanDisplayCargo() )
845 return false;
846
847 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
848 return false;
849
850 return true;
851 }
852
853 override int GetCarDoorsState(string slotType)
854 {
855 CarDoor carDoor;
856
857 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
858 if (!carDoor)
859 {
860 return CarDoorState.DOORS_MISSING;
861 }
862
863 switch (slotType)
864 {
865 case "Sedan_02_Door_1_1":
866 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
867
868 case "Sedan_02_Door_2_1":
869 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
870
871 case "Sedan_02_Door_1_2":
872 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
873
874 case "Sedan_02_Door_2_2":
875 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
876
877 case "Sedan_02_Hood":
878 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
879
880 case "Sedan_02_Trunk":
881 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
882 }
883
884 return CarDoorState.DOORS_MISSING;
885 }
886
887
888 override bool CrewCanGetThrough( int posIdx )
889 {
890 switch( posIdx )
891 {
892 case 0:
893 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
894 return false;
895
896 return true;
897 break;
898
899 case 1:
900 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
901 return false;
902
903 return true;
904 break;
905
906 case 2:
907 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
908 return false;
909
910 return true;
911 break;
912
913 case 3:
914 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
915 return false;
916
917 return true;
918 break;
919 }
920
921 return false;
922 }
923
924 override string GetDoorSelectionNameFromSeatPos(int posIdx)
925 {
926 switch( posIdx )
927 {
928 case 0:
929 return "doors_driver";
930 break;
931 case 1:
932 return "doors_codriver";
933 break;
934 case 2:
935 return "doors_cargo1";
936 break;
937 case 3:
938 return "doors_cargo2";
939 break;
940 }
941
942 return super.GetDoorSelectionNameFromSeatPos(posIdx);
943 }
944
945 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
946 {
947 switch( posIdx )
948 {
949 case 0:
950 return "Sedan_02_Door_1_1";
951 break;
952 case 1:
953 return "Sedan_02_Door_2_1";
954 break;
955 case 2:
956 return "Sedan_02_Door_1_2";
957 break;
958 case 3:
959 return "Sedan_02_Door_2_2";
960 break;
961 }
962
963 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
964 }
965
966 override float OnSound(CarSoundCtrl ctrl, float oldValue)
967 {
968 switch ( ctrl )
969 {
970 case CarSoundCtrl.DOORS:
971 float newValue = 0;
972 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
973 {
974 newValue += 0.25;
975 }
976
977 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
978 {
979 newValue += 0.25;
980 }
981
982 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
983 {
984 newValue += 0.25;
985 }
986
987 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
988 {
989 newValue += 0.25;
990 }
991
992 return Math.Clamp(newValue, 0, 1);
993 break;
994 }
995
996 return super.OnSound(ctrl, oldValue);
997 }
998
999 override string GetAnimSourceFromSelection( string selection )
1000 {
1001 switch( selection )
1002 {
1003 case "doors_driver":
1004 return "DoorsDriver";
1005 case "doors_codriver":
1006 return "DoorsCoDriver";
1007 case "doors_cargo1":
1008 return "DoorsCargo1";
1009 case "doors_cargo2":
1010 return "DoorsCargo2";
1011 case "doors_hood":
1012 return "DoorsHood";
1013 case "doors_trunk":
1014 return "DoorsTrunk";
1015 }
1016
1017 return "";
1018 }
1019
1020 override bool IsVitalGlowPlug()
1021 {
1022 return false;
1023 }
1024
1025 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1026 {
1027 switch (currentSeat)
1028 {
1029 case 0:
1030 return nextSeat == 1;
1031
1032 case 1:
1033 return nextSeat == 0;
1034
1035 case 2:
1036 return nextSeat == 3;
1037
1038 case 3:
1039 return nextSeat == 2;
1040 }
1041
1042 return false;
1043 }
1044
1045 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1046 {
1047 switch (pCurrentSeat)
1048 {
1049 case 0:
1050 return pDoorsSelection == "DoorsDriver";
1051
1052 case 1:
1053 return pDoorsSelection == "DoorsCoDriver";
1054
1055 case 2:
1056 return pDoorsSelection == "DoorsCargo1";
1057
1058 case 3:
1059 return pDoorsSelection == "DoorsCargo2";
1060 }
1061
1062 return false;
1063 }
1064
1065 override void OnDebugSpawn()
1066 {
1068 SpawnAdditionalItems();
1069 FillUpCarFluids();
1070
1071 GameInventory inventory = GetInventory();
1072 inventory.CreateInInventory("Sedan_02_Wheel");
1073 inventory.CreateInInventory("Sedan_02_Wheel");
1074 inventory.CreateInInventory("Sedan_02_Wheel");
1075 inventory.CreateInInventory("Sedan_02_Wheel");
1076 inventory.CreateInInventory("Sedan_02_Wheel");
1077
1078 inventory.CreateInInventory("Sedan_02_Door_1_1");
1079 inventory.CreateInInventory("Sedan_02_Door_1_2");
1080 inventory.CreateInInventory("Sedan_02_Door_2_1");
1081 inventory.CreateInInventory("Sedan_02_Door_2_2");
1082 inventory.CreateInInventory("Sedan_02_Hood");
1083 inventory.CreateInInventory("Sedan_02_Trunk");
1084
1085 //-----IN CAR CARGO
1086 inventory.CreateInInventory("Sedan_02_Wheel");
1087 inventory.CreateInInventory("Sedan_02_Wheel");
1088 }
1089}
1090
1091class Sedan_02_Red : Sedan_02
1092{
1093 override void OnDebugSpawn()
1094 {
1096 SpawnAdditionalItems();
1097 FillUpCarFluids();
1098
1099 GameInventory inventory = GetInventory();
1100 inventory.CreateInInventory("Sedan_02_Wheel");
1101 inventory.CreateInInventory("Sedan_02_Wheel");
1102 inventory.CreateInInventory("Sedan_02_Wheel");
1103 inventory.CreateInInventory("Sedan_02_Wheel");
1104
1105 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1106 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1107 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1108 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1109 inventory.CreateInInventory("Sedan_02_Hood_Red");
1110 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1111
1112 //-----IN CAR CARGO
1113 inventory.CreateInInventory("Sedan_02_Wheel");
1114 inventory.CreateInInventory("Sedan_02_Wheel");
1115 }
1116}
1117
1118class Sedan_02_Grey : Sedan_02
1119{
1120 override void OnDebugSpawn()
1121 {
1123 SpawnAdditionalItems();
1124 FillUpCarFluids();
1125
1126 GameInventory inventory = GetInventory();
1127 inventory.CreateInInventory("Sedan_02_Wheel");
1128 inventory.CreateInInventory("Sedan_02_Wheel");
1129 inventory.CreateInInventory("Sedan_02_Wheel");
1130 inventory.CreateInInventory("Sedan_02_Wheel");
1131
1132 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1133 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1134 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1135 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1136 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1137 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1138
1139 //-----IN CAR CARGO
1140 inventory.CreateInInventory("Sedan_02_Wheel");
1141 inventory.CreateInInventory("Sedan_02_Wheel");
1142 }
1143}
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.