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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

619{
623
624 void Hatchback_02()
625 {
626 //m_dmgContactCoef = 0.070;
627
628 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
629 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
630 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
631 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
632 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
633 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
634
635 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
636 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
637
638 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
639 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
640
641 SetEnginePos("0 0.7 1.4");
642 }
643
644 void ~Hatchback_02()
645 {
646 m_UTSource = null;
647 m_UTSSettings = null;
648 m_UTSLEngine = null;
649 }
650
651 override void EEInit()
652 {
653 super.EEInit();
654
655 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
656 {
658 m_UTSSettings.m_ManualUpdate = true;
660 m_UTSSettings.m_TemperatureCap = 0;
661 m_UTSSettings.m_RangeFull = 0.5;
662 m_UTSSettings.m_RangeMax = 2;
663
666 }
667 }
668
669 override void OnEngineStart()
670 {
671 super.OnEngineStart();
672
673 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
674 {
675 if (m_UTSource)
676 m_UTSource.SetDefferedActive(true, 20.0);
677 }
678 }
679
680 override void OnEngineStop()
681 {
682 super.OnEngineStop();
683
684 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
685 {
686 if (m_UTSource)
687 m_UTSource.SetDefferedActive(false, 10.0);
688 }
689 }
690
691 override void EOnPostSimulate(IEntity other, float timeSlice)
692 {
693 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
694 {
695 if (m_UTSource && m_UTSource.IsActive())
696 {
698 }
699 }
700 }
701
702 override int GetAnimInstance()
703 {
704 return VehicleAnimInstances.GOLF;
705 }
706
707 override int GetSeatAnimationType(int posIdx)
708 {
709 switch (posIdx)
710 {
711 case 0:
712 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
713 case 1:
714 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
715 case 2:
716 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
717 case 3:
718 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
719 }
720
721 return 0;
722 }
723
724 // Override for car-specific light type
726 {
727 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
728 }
729
730 // Override for car-specific light type
732 {
733 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
734 }
735
736 override bool CanReleaseAttachment(EntityAI attachment)
737 {
738 if (!super.CanReleaseAttachment(attachment))
739 {
740 return false;
741 }
742
743 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
744 {
745 string attType = attachment.GetType();
746 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
747 {
748 return false;
749 }
750 }
751
752 return true;
753 }
754
755 override protected bool CanManipulateSpareWheel(string slotSelectionName)
756 {
757 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
758 }
759
760 override bool CanDisplayAttachmentCategory( string category_name )
761 {
762 //super
763 if ( !super.CanDisplayAttachmentCategory( category_name ) )
764 return false;
765 //
766
767 category_name.ToLower();
768 if ( category_name.Contains("engine") )
769 {
770 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
771 return false;
772 }
773
774 return true;
775 }
776
777 override bool CanDisplayCargo()
778 {
779 if ( !super.CanDisplayCargo() )
780 return false;
781
782 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
783 return false;
784
785 return true;
786 }
787
788 override int GetCarDoorsState(string slotType)
789 {
790 CarDoor carDoor;
791
792 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
793 if (!carDoor)
794 {
795 return CarDoorState.DOORS_MISSING;
796 }
797
798 switch (slotType)
799 {
800 case "Hatchback_02_Door_1_1":
801 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
802
803 case "Hatchback_02_Door_2_1":
804 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
805
806 case "Hatchback_02_Door_1_2":
807 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
808
809 case "Hatchback_02_Door_2_2":
810 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
811
812 case "Hatchback_02_Hood":
813 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
814
815 case "Hatchback_02_Trunk":
816 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
817 }
818
819 return CarDoorState.DOORS_MISSING;
820 }
821
822
823 override bool CrewCanGetThrough(int posIdx)
824 {
825 switch (posIdx)
826 {
827 case 0:
828 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
829 {
830 return false;
831 }
832
833 return true;
834
835 case 1:
836 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
837 {
838 return false;
839 }
840
841 return true;
842
843 case 2:
844 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
845 {
846 return false;
847 }
848
849 return true;
850
851 case 3:
852 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
853 {
854 return false;
855 }
856
857 return true;
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 "Hatchback_02_Door_1_1";
890 break;
891 case 1:
892 return "Hatchback_02_Door_2_1";
893 break;
894 case 2:
895 return "Hatchback_02_Door_1_2";
896 break;
897 case 3:
898 return "Hatchback_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("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
912 {
913 newValue += 0.25;
914 }
915
916 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
917 {
918 newValue += 0.25;
919 }
920
921 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
922 {
923 newValue += 0.25;
924 }
925
926 if (GetCarDoorsState("Hatchback_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 case 1:
977 return nextSeat == 0;
978 case 2:
979 return nextSeat == 3;
980 case 3:
981 return nextSeat == 2;
982 }
983
984 return false;
985 }
986
987 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
988 {
989 switch (pCurrentSeat)
990 {
991 case 0:
992 return pDoorsSelection == "DoorsDriver";
993 case 1:
994 return pDoorsSelection == "DoorsCoDriver";
995 case 2:
996 return pDoorsSelection == "DoorsCargo1";
997 case 3:
998 return pDoorsSelection == "DoorsCargo2";
999 }
1000
1001 return false;
1002 }
1003
1004 override void OnDebugSpawn()
1005 {
1006 SpawnUniversalParts();
1007 SpawnAdditionalItems();
1008 FillUpCarFluids();
1009
1010 GameInventory inventory = GetInventory();
1011 inventory.CreateInInventory("Hatchback_02_Wheel");
1012 inventory.CreateInInventory("Hatchback_02_Wheel");
1013 inventory.CreateInInventory("Hatchback_02_Wheel");
1014 inventory.CreateInInventory("Hatchback_02_Wheel");
1015
1016 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1017 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1018 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1019 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1020 inventory.CreateInInventory("Hatchback_02_Hood");
1021 inventory.CreateInInventory("Hatchback_02_Trunk");
1022
1023 //-----IN CAR CARGO
1024 inventory.CreateInInventory("Hatchback_02_Wheel");
1025 inventory.CreateInInventory("Hatchback_02_Wheel");
1026 }
1027}
1028
1029class Hatchback_02_Black extends Hatchback_02
1030{
1031 override void OnDebugSpawn()
1032 {
1033 SpawnUniversalParts();
1034 SpawnAdditionalItems();
1035 FillUpCarFluids();
1036
1037 GameInventory inventory = GetInventory();
1038 inventory.CreateInInventory("Hatchback_02_Wheel");
1039 inventory.CreateInInventory("Hatchback_02_Wheel");
1040 inventory.CreateInInventory("Hatchback_02_Wheel");
1041 inventory.CreateInInventory("Hatchback_02_Wheel");
1042
1043 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1044 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1045 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1046 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1047 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1048 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1049
1050 //-----IN CAR CARGO
1051 inventory.CreateInInventory("Hatchback_02_Wheel");
1052 inventory.CreateInInventory("Hatchback_02_Wheel");
1053 }
1054};
1055
1056class Hatchback_02_Blue extends Hatchback_02
1057{
1058 override void OnDebugSpawn()
1059 {
1060 SpawnUniversalParts();
1061 SpawnAdditionalItems();
1062 FillUpCarFluids();
1063
1064 GameInventory inventory = GetInventory();
1065 inventory.CreateInInventory("Hatchback_02_Wheel");
1066 inventory.CreateInInventory("Hatchback_02_Wheel");
1067 inventory.CreateInInventory("Hatchback_02_Wheel");
1068 inventory.CreateInInventory("Hatchback_02_Wheel");
1069
1070 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1071 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1072 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1073 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1074 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1075 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1076
1077 //-----IN CAR CARGO
1078 inventory.CreateInInventory("Hatchback_02_Wheel");
1079 inventory.CreateInInventory("Hatchback_02_Wheel");
1080 }
1081}
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
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:414
void ~Hatchback_02()
Определения Hatchback_02.c:439
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:765
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:733
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:502
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:700
void Hatchback_02()
Определения Hatchback_02.c:419
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:679
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:486
override void OnEngineStop()
Определения Hatchback_02.c:475
override void EEInit()
Определения Hatchback_02.c:446
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:531
override bool CanDisplayCargo()
Определения Hatchback_02.c:572
override void OnEngineStart()
Определения Hatchback_02.c:464
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:526
override int GetAnimInstance()
Определения Hatchback_02.c:497
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:618
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:782
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:550
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:760
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:520
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:755
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:583
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:555
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
override void OnDebugSpawn()
Определения Hatchback_02.c:441
Определения Hatchback_02.c:440
Определения EnEntity.c:165
Определения EnMath.c:7
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.