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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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