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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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