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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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