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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

609{
613
614 void Sedan_02()
615 {
616 m_dmgContactCoef = 0.0790;
617
618 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
619 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
620 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
621 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
622 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
623 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
624
625 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
626 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
627
628 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
629 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
630
631 SetEnginePos("0 0.7 -1.7");
632 }
633
634 override void EEInit()
635 {
636 super.EEInit();
637
638 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
639 {
641 m_UTSSettings.m_ManualUpdate = true;
643 m_UTSSettings.m_TemperatureCap = 0;
644 m_UTSSettings.m_RangeFull = 0.5;
645 m_UTSSettings.m_RangeMax = 2;
646
649 }
650 }
651
652 override void OnEngineStart()
653 {
654 super.OnEngineStart();
655
656 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
657 {
658 m_UTSource.SetDefferedActive(true, 20.0);
659 }
660 }
661
662 override void OnEngineStop()
663 {
664 super.OnEngineStop();
665
666 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
667 {
668 m_UTSource.SetDefferedActive(false, 10.0);
669 }
670 }
671
672 override void EOnPostSimulate(IEntity other, float timeSlice)
673 {
674 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
675 {
676 if (m_UTSource.IsActive())
677 {
679 }
680 }
681 }
682
683 override int GetAnimInstance()
684 {
685 return VehicleAnimInstances.S120;
686 }
687
688 override int GetSeatAnimationType(int posIdx)
689 {
690 switch (posIdx)
691 {
692 case 0:
693 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
694 case 1:
695 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
696 case 2:
697 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
698 case 3:
699 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
700 }
701
702 return 0;
703 }
704
705 // Override for car-specific light type
707 {
708 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
709 }
710
711 // Override for car-specific light type
713 {
714 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
715 }
716
717 override bool CanReleaseAttachment( EntityAI attachment )
718 {
719 if (!super.CanReleaseAttachment(attachment))
720 {
721 return false;
722 }
723
724 string attType = attachment.GetType();
725 switch (attType)
726 {
727 case "CarBattery":
728 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
729 {
730 return false;
731 }
732 break;
733
734 case "SparkPlug":
735 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
736 {
737 return false;
738 }
739 break;
740
741 case "CarRadiator":
742 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
743 {
744 return false;
745 }
746 break;
747 }
748
749 return true;
750 }
751
752 override protected bool CanManipulateSpareWheel(string slotSelectionName)
753 {
754 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
755 }
756
757 override bool CanDisplayAttachmentCategory(string category_name)
758 {
759 if ( !super.CanDisplayAttachmentCategory(category_name))
760 {
761 return false;
762 }
763
764 category_name.ToLower();
765 if (category_name.Contains("engine"))
766 {
767 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
768 {
769 return false;
770 }
771 }
772
773 if (category_name.Contains("trunk"))
774 {
775 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
776 {
777 return false;
778 }
779 }
780
781 return true;
782 }
783
784 override bool CanDisplayCargo()
785 {
786 if ( !super.CanDisplayCargo() )
787 return false;
788
789 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
790 return false;
791
792 return true;
793 }
794
795 override int GetCarDoorsState(string slotType)
796 {
797 CarDoor carDoor;
798
799 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
800 if (!carDoor)
801 {
802 return CarDoorState.DOORS_MISSING;
803 }
804
805 switch (slotType)
806 {
807 case "Sedan_02_Door_1_1":
808 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
809
810 case "Sedan_02_Door_2_1":
811 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
812
813 case "Sedan_02_Door_1_2":
814 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
815
816 case "Sedan_02_Door_2_2":
817 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
818
819 case "Sedan_02_Hood":
820 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
821
822 case "Sedan_02_Trunk":
823 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
824 }
825
826 return CarDoorState.DOORS_MISSING;
827 }
828
829
830 override bool CrewCanGetThrough( int posIdx )
831 {
832 switch( posIdx )
833 {
834 case 0:
835 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
836 return false;
837
838 return true;
839 break;
840
841 case 1:
842 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
843 return false;
844
845 return true;
846 break;
847
848 case 2:
849 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
850 return false;
851
852 return true;
853 break;
854
855 case 3:
856 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
857 return false;
858
859 return true;
860 break;
861 }
862
863 return false;
864 }
865
866 override string GetDoorSelectionNameFromSeatPos(int posIdx)
867 {
868 switch( posIdx )
869 {
870 case 0:
871 return "doors_driver";
872 break;
873 case 1:
874 return "doors_codriver";
875 break;
876 case 2:
877 return "doors_cargo1";
878 break;
879 case 3:
880 return "doors_cargo2";
881 break;
882 }
883
884 return super.GetDoorSelectionNameFromSeatPos(posIdx);
885 }
886
887 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
888 {
889 switch( posIdx )
890 {
891 case 0:
892 return "Sedan_02_Door_1_1";
893 break;
894 case 1:
895 return "Sedan_02_Door_2_1";
896 break;
897 case 2:
898 return "Sedan_02_Door_1_2";
899 break;
900 case 3:
901 return "Sedan_02_Door_2_2";
902 break;
903 }
904
905 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
906 }
907
908 override float OnSound(CarSoundCtrl ctrl, float oldValue)
909 {
910 switch ( ctrl )
911 {
912 case CarSoundCtrl.DOORS:
913 float newValue = 0;
914 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
915 {
916 newValue += 0.25;
917 }
918
919 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
920 {
921 newValue += 0.25;
922 }
923
924 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
925 {
926 newValue += 0.25;
927 }
928
929 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
930 {
931 newValue += 0.25;
932 }
933
934 return Math.Clamp(newValue, 0, 1);
935 break;
936 }
937
938 return super.OnSound(ctrl, oldValue);
939 }
940
941 override string GetAnimSourceFromSelection( string selection )
942 {
943 switch( selection )
944 {
945 case "doors_driver":
946 return "DoorsDriver";
947 case "doors_codriver":
948 return "DoorsCoDriver";
949 case "doors_cargo1":
950 return "DoorsCargo1";
951 case "doors_cargo2":
952 return "DoorsCargo2";
953 case "doors_hood":
954 return "DoorsHood";
955 case "doors_trunk":
956 return "DoorsTrunk";
957 }
958
959 return "";
960 }
961
962
963 override bool IsVitalTruckBattery()
964 {
965 return false;
966 }
967
968 override bool IsVitalGlowPlug()
969 {
970 return false;
971 }
972
973 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
974 {
975 switch (currentSeat)
976 {
977 case 0:
978 return nextSeat == 1;
979
980 case 1:
981 return nextSeat == 0;
982
983 case 2:
984 return nextSeat == 3;
985
986 case 3:
987 return nextSeat == 2;
988 }
989
990 return false;
991 }
992
993 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
994 {
995 switch (pCurrentSeat)
996 {
997 case 0:
998 return pDoorsSelection == "DoorsDriver";
999
1000 case 1:
1001 return pDoorsSelection == "DoorsCoDriver";
1002
1003 case 2:
1004 return pDoorsSelection == "DoorsCargo1";
1005
1006 case 3:
1007 return pDoorsSelection == "DoorsCargo2";
1008 }
1009
1010 return false;
1011 }
1012
1013 override void OnDebugSpawn()
1014 {
1015 SpawnUniversalParts();
1016 SpawnAdditionalItems();
1017 FillUpCarFluids();
1018
1019 GetInventory().CreateInInventory("Sedan_02_Wheel");
1020 GetInventory().CreateInInventory("Sedan_02_Wheel");
1021 GetInventory().CreateInInventory("Sedan_02_Wheel");
1022 GetInventory().CreateInInventory("Sedan_02_Wheel");
1023 GetInventory().CreateInInventory("Sedan_02_Wheel");
1024
1025 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1026 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1027 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1028 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1029 GetInventory().CreateInInventory("Sedan_02_Hood");
1030 GetInventory().CreateInInventory("Sedan_02_Trunk");
1031
1032 //-----IN CAR CARGO
1033 GetInventory().CreateInInventory("Sedan_02_Wheel");
1034 GetInventory().CreateInInventory("Sedan_02_Wheel");
1035 }
1036}
1037
1038class Sedan_02_Red extends Sedan_02
1039{
1040 override void OnDebugSpawn()
1041 {
1042 SpawnUniversalParts();
1043 SpawnAdditionalItems();
1044 FillUpCarFluids();
1045
1046 GetInventory().CreateInInventory("Sedan_02_Wheel");
1047 GetInventory().CreateInInventory("Sedan_02_Wheel");
1048 GetInventory().CreateInInventory("Sedan_02_Wheel");
1049 GetInventory().CreateInInventory("Sedan_02_Wheel");
1050
1051 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1052 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1053 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1054 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1055 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1056 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1057
1058 //-----IN CAR CARGO
1059 GetInventory().CreateInInventory("Sedan_02_Wheel");
1060 GetInventory().CreateInInventory("Sedan_02_Wheel");
1061 }
1062}
1063
1064class Sedan_02_Grey extends Sedan_02
1065{
1066 override void OnDebugSpawn()
1067 {
1068 SpawnUniversalParts();
1069 SpawnAdditionalItems();
1070 FillUpCarFluids();
1071
1072 GetInventory().CreateInInventory("Sedan_02_Wheel");
1073 GetInventory().CreateInInventory("Sedan_02_Wheel");
1074 GetInventory().CreateInInventory("Sedan_02_Wheel");
1075 GetInventory().CreateInInventory("Sedan_02_Wheel");
1076
1077 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1078 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1079 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1080 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1081 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1082 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1083
1084 //-----IN CAR CARGO
1085 GetInventory().CreateInInventory("Sedan_02_Wheel");
1086 GetInventory().CreateInInventory("Sedan_02_Wheel");
1087 }
1088}
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
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:797
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:433
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:765
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:732
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:711
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:496
override void OnEngineStop()
Определения Sedan_02.c:486
override void EEInit()
Определения Sedan_02.c:458
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:541
override bool CanDisplayCargo()
Определения Sedan_02.c:608
override void OnEngineStart()
Определения Sedan_02.c:476
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:530
override int GetAnimInstance()
Определения Sedan_02.c:507
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:654
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:817
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:576
override bool IsVitalGlowPlug()
Определения Sedan_02.c:792
void Sedan_02()
Определения Sedan_02.c:438
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:536
override bool IsVitalTruckBattery()
Определения Sedan_02.c:787
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:690
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:619
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:581
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:459
Определения Sedan_02.c:458
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.