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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

554{
558
559 void Hatchback_02()
560 {
561 //m_dmgContactCoef = 0.070;
562
563 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
564 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
565 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
566 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
567 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
568 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
569
570 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
571 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
572
573 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
574 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
575
576 SetEnginePos("0 0.7 1.4");
577 }
578
579 override void EEInit()
580 {
581 super.EEInit();
582
583 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
584 {
586 m_UTSSettings.m_ManualUpdate = true;
588 m_UTSSettings.m_TemperatureCap = 0;
589 m_UTSSettings.m_RangeFull = 0.5;
590 m_UTSSettings.m_RangeMax = 2;
591
594 }
595 }
596
597 override void OnEngineStart()
598 {
599 super.OnEngineStart();
600
601 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
602 {
603 m_UTSource.SetDefferedActive(true, 20.0);
604 }
605 }
606
607 override void OnEngineStop()
608 {
609 super.OnEngineStop();
610
611 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
612 {
613 m_UTSource.SetDefferedActive(false, 10.0);
614 }
615 }
616
617 override void EOnPostSimulate(IEntity other, float timeSlice)
618 {
619 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
620 {
621 if (m_UTSource.IsActive())
622 {
624 }
625 }
626 }
627
628 override int GetAnimInstance()
629 {
630 return VehicleAnimInstances.GOLF;
631 }
632
633 override int GetSeatAnimationType(int posIdx)
634 {
635 switch (posIdx)
636 {
637 case 0:
638 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
639 case 1:
640 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
641 case 2:
642 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
643 case 3:
644 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
645 }
646
647 return 0;
648 }
649
650 // Override for car-specific light type
652 {
653 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
654 }
655
656 // Override for car-specific light type
658 {
659 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
660 }
661
662 override bool CanReleaseAttachment(EntityAI attachment)
663 {
664 if (!super.CanReleaseAttachment(attachment))
665 {
666 return false;
667 }
668
669 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
670 {
671 string attType = attachment.GetType();
672 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
673 {
674 return false;
675 }
676 }
677
678 return true;
679 }
680
681 override protected bool CanManipulateSpareWheel(string slotSelectionName)
682 {
683 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
684 }
685
686 override bool CanDisplayAttachmentCategory( string category_name )
687 {
688 //super
689 if ( !super.CanDisplayAttachmentCategory( category_name ) )
690 return false;
691 //
692
693 category_name.ToLower();
694 if ( category_name.Contains("engine") )
695 {
696 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
697 return false;
698 }
699
700 return true;
701 }
702
703 override bool CanDisplayCargo()
704 {
705 if ( !super.CanDisplayCargo() )
706 return false;
707
708 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
709 return false;
710
711 return true;
712 }
713
714 override int GetCarDoorsState(string slotType)
715 {
716 CarDoor carDoor;
717
718 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
719 if (!carDoor)
720 {
721 return CarDoorState.DOORS_MISSING;
722 }
723
724 switch (slotType)
725 {
726 case "Hatchback_02_Door_1_1":
727 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
728
729 case "Hatchback_02_Door_2_1":
730 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
731
732 case "Hatchback_02_Door_1_2":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
734
735 case "Hatchback_02_Door_2_2":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
737
738 case "Hatchback_02_Hood":
739 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
740
741 case "Hatchback_02_Trunk":
742 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
743 }
744
745 return CarDoorState.DOORS_MISSING;
746 }
747
748
749 override bool CrewCanGetThrough(int posIdx)
750 {
751 switch (posIdx)
752 {
753 case 0:
754 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
755 {
756 return false;
757 }
758
759 return true;
760
761 case 1:
762 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
763 {
764 return false;
765 }
766
767 return true;
768
769 case 2:
770 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
771 {
772 return false;
773 }
774
775 return true;
776
777 case 3:
778 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
779 {
780 return false;
781 }
782
783 return true;
784 }
785
786 return false;
787 }
788
789 override string GetDoorSelectionNameFromSeatPos(int posIdx)
790 {
791 switch( posIdx )
792 {
793 case 0:
794 return "doors_driver";
795 break;
796 case 1:
797 return "doors_codriver";
798 break;
799 case 2:
800 return "doors_cargo1";
801 break;
802 case 3:
803 return "doors_cargo2";
804 break;
805 }
806
807 return super.GetDoorSelectionNameFromSeatPos(posIdx);
808 }
809
810 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
811 {
812 switch( posIdx )
813 {
814 case 0:
815 return "Hatchback_02_Door_1_1";
816 break;
817 case 1:
818 return "Hatchback_02_Door_2_1";
819 break;
820 case 2:
821 return "Hatchback_02_Door_1_2";
822 break;
823 case 3:
824 return "Hatchback_02_Door_2_2";
825 break;
826 }
827
828 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
829 }
830
831 override float OnSound(CarSoundCtrl ctrl, float oldValue)
832 {
833 switch (ctrl)
834 {
835 case CarSoundCtrl.DOORS:
836 float newValue = 0;
837 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
838 {
839 newValue += 0.25;
840 }
841
842 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
843 {
844 newValue += 0.25;
845 }
846
847 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
848 {
849 newValue += 0.25;
850 }
851
852 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
853 {
854 newValue += 0.25;
855 }
856
857 return Math.Clamp(newValue, 0, 1);
858 break;
859 }
860
861 return super.OnSound(ctrl, oldValue);
862 }
863
864 override string GetAnimSourceFromSelection( string selection )
865 {
866 switch( selection )
867 {
868 case "doors_driver":
869 return "DoorsDriver";
870 case "doors_codriver":
871 return "DoorsCoDriver";
872 case "doors_cargo1":
873 return "DoorsCargo1";
874 case "doors_cargo2":
875 return "DoorsCargo2";
876 case "doors_hood":
877 return "DoorsHood";
878 case "doors_trunk":
879 return "DoorsTrunk";
880 }
881
882 return "";
883 }
884
885
886 override bool IsVitalTruckBattery()
887 {
888 return false;
889 }
890
891 override bool IsVitalGlowPlug()
892 {
893 return false;
894 }
895
896 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
897 {
898 switch (currentSeat)
899 {
900 case 0:
901 return nextSeat == 1;
902 case 1:
903 return nextSeat == 0;
904 case 2:
905 return nextSeat == 3;
906 case 3:
907 return nextSeat == 2;
908 }
909
910 return false;
911 }
912
913 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
914 {
915 switch (pCurrentSeat)
916 {
917 case 0:
918 return pDoorsSelection == "DoorsDriver";
919 case 1:
920 return pDoorsSelection == "DoorsCoDriver";
921 case 2:
922 return pDoorsSelection == "DoorsCargo1";
923 case 3:
924 return pDoorsSelection == "DoorsCargo2";
925 }
926
927 return false;
928 }
929
930 override void OnDebugSpawn()
931 {
932 SpawnUniversalParts();
933 SpawnAdditionalItems();
934 FillUpCarFluids();
935
936 GetInventory().CreateInInventory("Hatchback_02_Wheel");
937 GetInventory().CreateInInventory("Hatchback_02_Wheel");
938 GetInventory().CreateInInventory("Hatchback_02_Wheel");
939 GetInventory().CreateInInventory("Hatchback_02_Wheel");
940
941 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
942 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
943 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
944 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
945 GetInventory().CreateInInventory("Hatchback_02_Hood");
946 GetInventory().CreateInInventory("Hatchback_02_Trunk");
947
948 //-----IN CAR CARGO
949 GetInventory().CreateInInventory("Hatchback_02_Wheel");
950 GetInventory().CreateInInventory("Hatchback_02_Wheel");
951 }
952}
953
954class Hatchback_02_Black extends Hatchback_02
955{
956 override void OnDebugSpawn()
957 {
958 SpawnUniversalParts();
959 SpawnAdditionalItems();
960 FillUpCarFluids();
961
962 GetInventory().CreateInInventory("Hatchback_02_Wheel");
963 GetInventory().CreateInInventory("Hatchback_02_Wheel");
964 GetInventory().CreateInInventory("Hatchback_02_Wheel");
965 GetInventory().CreateInInventory("Hatchback_02_Wheel");
966
967 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
968 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
969 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
970 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
971 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
972 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
973
974 //-----IN CAR CARGO
975 GetInventory().CreateInInventory("Hatchback_02_Wheel");
976 GetInventory().CreateInInventory("Hatchback_02_Wheel");
977 }
978};
979
980class Hatchback_02_Blue extends Hatchback_02
981{
982 override void OnDebugSpawn()
983 {
984 SpawnUniversalParts();
985 SpawnAdditionalItems();
986 FillUpCarFluids();
987
988 GetInventory().CreateInInventory("Hatchback_02_Wheel");
989 GetInventory().CreateInInventory("Hatchback_02_Wheel");
990 GetInventory().CreateInInventory("Hatchback_02_Wheel");
991 GetInventory().CreateInInventory("Hatchback_02_Wheel");
992
993 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
994 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
995 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
996 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
997 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
998 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
999
1000 //-----IN CAR CARGO
1001 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1002 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1003 }
1004}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
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/constants.c:808
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.