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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

590 : CarScript
591{
595
596 void Hatchback_02()
597 {
598 //m_dmgContactCoef = 0.070;
599
600 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
601 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
602 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
603 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
604 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
605 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
606
607 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
608 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
609
610 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
611 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
612
613 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
614 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
615
616 SetEnginePos("0 0.7 1.4");
617
619 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
620 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
621 }
622
623 void ~Hatchback_02()
624 {
625 m_UTSource = null;
626 m_UTSSettings = null;
627 m_UTSLEngine = null;
628 }
629
630 override void EEInit()
631 {
632 super.EEInit();
633
634 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
635 {
637 m_UTSSettings.m_ManualUpdate = true;
639 m_UTSSettings.m_TemperatureCap = 0;
640 m_UTSSettings.m_RangeFull = 0.5;
641 m_UTSSettings.m_RangeMax = 2;
642
645 }
646 }
647
648 override bool NeedElectricitySourceDevice()
649 {
650 return true;
651 }
652
654 {
655 super.GetElectricitySourceDevice();
656
657 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
658 }
659
660 override string GetElectricitySourceDeviceType()
661 {
662 return "CarBattery";
663 }
664
665 override void OnEngineStart()
666 {
667 super.OnEngineStart();
668
669 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
670 {
671 if (m_UTSource)
672 m_UTSource.SetDefferedActive(true, 20.0);
673 }
674 }
675
676 override void OnEngineStop()
677 {
678 super.OnEngineStop();
679
680 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
681 {
682 if (m_UTSource)
683 m_UTSource.SetDefferedActive(false, 10.0);
684 }
685 }
686
687 override void EOnPostSimulate(IEntity other, float timeSlice)
688 {
689 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
690 {
691 if (m_UTSource && m_UTSource.IsActive())
692 {
694 }
695 }
696 }
697
698 override int GetAnimInstance()
699 {
700 return VehicleAnimInstances.GOLF;
701 }
702
703 override int GetSeatAnimationType(int posIdx)
704 {
705 switch (posIdx)
706 {
707 case 0:
708 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
709 case 1:
710 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
711 case 2:
712 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
713 case 3:
714 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
715 }
716
717 return 0;
718 }
719
720 override bool CanReleaseAttachment(EntityAI attachment)
721 {
722 if (!super.CanReleaseAttachment(attachment))
723 {
724 return false;
725 }
726
727 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
728 {
729 string attType = attachment.GetType();
730 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
731 {
732 return false;
733 }
734 }
735
736 return true;
737 }
738
739 override protected bool CanManipulateSpareWheel(string slotSelectionName)
740 {
741 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
742 }
743
744 override bool CanDisplayAttachmentCategory( string category_name )
745 {
746 //super
747 if ( !super.CanDisplayAttachmentCategory( category_name ) )
748 return false;
749 //
750
751 category_name.ToLower();
752 if ( category_name.Contains("engine") )
753 {
754 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
755 return false;
756 }
757
758 return true;
759 }
760
761 override bool CanDisplayCargo()
762 {
763 if ( !super.CanDisplayCargo() )
764 return false;
765
766 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
767 return false;
768
769 return true;
770 }
771
772 override int GetCarDoorsState(string slotType)
773 {
774 CarDoor carDoor;
775
776 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
777 if (!carDoor)
778 {
779 return CarDoorState.DOORS_MISSING;
780 }
781
782 switch (slotType)
783 {
784 case "Hatchback_02_Door_1_1":
785 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
786
787 case "Hatchback_02_Door_2_1":
788 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
789
790 case "Hatchback_02_Door_1_2":
791 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
792
793 case "Hatchback_02_Door_2_2":
794 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
795
796 case "Hatchback_02_Hood":
797 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
798
799 case "Hatchback_02_Trunk":
800 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
801 }
802
803 return CarDoorState.DOORS_MISSING;
804 }
805
806
807 override bool CrewCanGetThrough(int posIdx)
808 {
809 switch (posIdx)
810 {
811 case 0:
812 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
813 {
814 return false;
815 }
816
817 return true;
818
819 case 1:
820 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
821 {
822 return false;
823 }
824
825 return true;
826
827 case 2:
828 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
829 {
830 return false;
831 }
832
833 return true;
834
835 case 3:
836 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
837 {
838 return false;
839 }
840
841 return true;
842 }
843
844 return false;
845 }
846
847 override string GetDoorSelectionNameFromSeatPos(int posIdx)
848 {
849 switch( posIdx )
850 {
851 case 0:
852 return "doors_driver";
853 break;
854 case 1:
855 return "doors_codriver";
856 break;
857 case 2:
858 return "doors_cargo1";
859 break;
860 case 3:
861 return "doors_cargo2";
862 break;
863 }
864
865 return super.GetDoorSelectionNameFromSeatPos(posIdx);
866 }
867
868 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
869 {
870 switch( posIdx )
871 {
872 case 0:
873 return "Hatchback_02_Door_1_1";
874 break;
875 case 1:
876 return "Hatchback_02_Door_2_1";
877 break;
878 case 2:
879 return "Hatchback_02_Door_1_2";
880 break;
881 case 3:
882 return "Hatchback_02_Door_2_2";
883 break;
884 }
885
886 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
887 }
888
889 override float OnSound(CarSoundCtrl ctrl, float oldValue)
890 {
891 switch (ctrl)
892 {
893 case CarSoundCtrl.DOORS:
894 float newValue = 0;
895 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
896 {
897 newValue += 0.25;
898 }
899
900 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
901 {
902 newValue += 0.25;
903 }
904
905 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
906 {
907 newValue += 0.25;
908 }
909
910 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
911 {
912 newValue += 0.25;
913 }
914
915 return Math.Clamp(newValue, 0, 1);
916 break;
917 }
918
919 return super.OnSound(ctrl, oldValue);
920 }
921
922 override string GetAnimSourceFromSelection( string selection )
923 {
924 switch( selection )
925 {
926 case "doors_driver":
927 return "DoorsDriver";
928 case "doors_codriver":
929 return "DoorsCoDriver";
930 case "doors_cargo1":
931 return "DoorsCargo1";
932 case "doors_cargo2":
933 return "DoorsCargo2";
934 case "doors_hood":
935 return "DoorsHood";
936 case "doors_trunk":
937 return "DoorsTrunk";
938 }
939
940 return "";
941 }
942
943 override bool IsVitalGlowPlug()
944 {
945 return false;
946 }
947
948 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
949 {
950 switch (currentSeat)
951 {
952 case 0:
953 return nextSeat == 1;
954 case 1:
955 return nextSeat == 0;
956 case 2:
957 return nextSeat == 3;
958 case 3:
959 return nextSeat == 2;
960 }
961
962 return false;
963 }
964
965 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
966 {
967 switch (pCurrentSeat)
968 {
969 case 0:
970 return pDoorsSelection == "DoorsDriver";
971 case 1:
972 return pDoorsSelection == "DoorsCoDriver";
973 case 2:
974 return pDoorsSelection == "DoorsCargo1";
975 case 3:
976 return pDoorsSelection == "DoorsCargo2";
977 }
978
979 return false;
980 }
981
982 override void OnDebugSpawn()
983 {
985 SpawnAdditionalItems();
986 FillUpCarFluids();
987
988 GameInventory inventory = GetInventory();
989 inventory.CreateInInventory("Hatchback_02_Wheel");
990 inventory.CreateInInventory("Hatchback_02_Wheel");
991 inventory.CreateInInventory("Hatchback_02_Wheel");
992 inventory.CreateInInventory("Hatchback_02_Wheel");
993
994 inventory.CreateInInventory("Hatchback_02_Door_1_1");
995 inventory.CreateInInventory("Hatchback_02_Door_1_2");
996 inventory.CreateInInventory("Hatchback_02_Door_2_1");
997 inventory.CreateInInventory("Hatchback_02_Door_2_2");
998 inventory.CreateInInventory("Hatchback_02_Hood");
999 inventory.CreateInInventory("Hatchback_02_Trunk");
1000
1001 //-----IN CAR CARGO
1002 inventory.CreateInInventory("Hatchback_02_Wheel");
1003 inventory.CreateInInventory("Hatchback_02_Wheel");
1004 }
1005}
1006
1007class Hatchback_02_Black : Hatchback_02
1008{
1009 override void OnDebugSpawn()
1010 {
1012 SpawnAdditionalItems();
1013 FillUpCarFluids();
1014
1015 GameInventory inventory = GetInventory();
1016 inventory.CreateInInventory("Hatchback_02_Wheel");
1017 inventory.CreateInInventory("Hatchback_02_Wheel");
1018 inventory.CreateInInventory("Hatchback_02_Wheel");
1019 inventory.CreateInInventory("Hatchback_02_Wheel");
1020
1021 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1022 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1023 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1024 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1025 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1026 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1027
1028 //-----IN CAR CARGO
1029 inventory.CreateInInventory("Hatchback_02_Wheel");
1030 inventory.CreateInInventory("Hatchback_02_Wheel");
1031 }
1032}
1033
1035{
1036 override void OnDebugSpawn()
1037 {
1039 SpawnAdditionalItems();
1040 FillUpCarFluids();
1041
1042 GameInventory inventory = GetInventory();
1043 inventory.CreateInInventory("Hatchback_02_Wheel");
1044 inventory.CreateInInventory("Hatchback_02_Wheel");
1045 inventory.CreateInInventory("Hatchback_02_Wheel");
1046 inventory.CreateInInventory("Hatchback_02_Wheel");
1047
1048 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1049 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1050 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1051 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1052 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1053 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1054
1055 //-----IN CAR CARGO
1056 inventory.CreateInInventory("Hatchback_02_Wheel");
1057 inventory.CreateInInventory("Hatchback_02_Wheel");
1058 }
1059}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
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 Hatchback_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()
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()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
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.