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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

598{
602
603 void Hatchback_02()
604 {
605 //m_dmgContactCoef = 0.070;
606
607 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
608 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
609 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
610 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
611 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
612
613 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
614 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
615
616 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
617 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
618
619 SetEnginePos("0 0.7 1.4");
620 }
621
622 override void EEInit()
623 {
624 super.EEInit();
625
626 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
627 {
629 m_UTSSettings.m_ManualUpdate = true;
631 m_UTSSettings.m_TemperatureCap = 0;
632 m_UTSSettings.m_RangeFull = 0.5;
633 m_UTSSettings.m_RangeMax = 2;
634
637 }
638 }
639
640 override void OnEngineStart()
641 {
642 super.OnEngineStart();
643
644 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
645 {
646 m_UTSource.SetDefferedActive(true, 20.0);
647 }
648 }
649
650 override void OnEngineStop()
651 {
652 super.OnEngineStop();
653
654 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
655 {
656 m_UTSource.SetDefferedActive(false, 10.0);
657 }
658 }
659
660 override void EOnPostSimulate(IEntity other, float timeSlice)
661 {
662 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
663 {
664 if (m_UTSource.IsActive())
665 {
667 }
668 }
669 }
670
671 override int GetAnimInstance()
672 {
673 return VehicleAnimInstances.GOLF;
674 }
675
676 override int GetSeatAnimationType(int posIdx)
677 {
678 switch (posIdx)
679 {
680 case 0:
681 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
682 case 1:
683 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
684 case 2:
685 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
686 case 3:
687 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
688 }
689
690 return 0;
691 }
692
693 // Override for car-specific light type
695 {
696 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
697 }
698
699 // Override for car-specific light type
701 {
702 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
703 }
704
705 override bool CanReleaseAttachment(EntityAI attachment)
706 {
707 if (!super.CanReleaseAttachment(attachment))
708 {
709 return false;
710 }
711
712 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
713 {
714 string attType = attachment.GetType();
715 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
716 {
717 return false;
718 }
719 }
720
721 return true;
722 }
723
724 override protected bool CanManipulateSpareWheel(string slotSelectionName)
725 {
726 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
727 }
728
729 override bool CanDisplayAttachmentCategory( string category_name )
730 {
731 //super
732 if ( !super.CanDisplayAttachmentCategory( category_name ) )
733 return false;
734 //
735
736 category_name.ToLower();
737 if ( category_name.Contains("engine") )
738 {
739 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
740 return false;
741 }
742
743 return true;
744 }
745
746 override bool CanDisplayCargo()
747 {
748 if ( !super.CanDisplayCargo() )
749 return false;
750
751 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
752 return false;
753
754 return true;
755 }
756
757 override int GetCarDoorsState(string slotType)
758 {
759 CarDoor carDoor;
760
761 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
762 if (!carDoor)
763 {
764 return CarDoorState.DOORS_MISSING;
765 }
766
767 switch (slotType)
768 {
769 case "Hatchback_02_Door_1_1":
770 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
771
772 case "Hatchback_02_Door_2_1":
773 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
774
775 case "Hatchback_02_Door_1_2":
776 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
777
778 case "Hatchback_02_Door_2_2":
779 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
780
781 case "Hatchback_02_Hood":
782 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
783
784 case "Hatchback_02_Trunk":
785 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
786 }
787
788 return CarDoorState.DOORS_MISSING;
789 }
790
791
792 override bool CrewCanGetThrough(int posIdx)
793 {
794 switch (posIdx)
795 {
796 case 0:
797 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
798 {
799 return false;
800 }
801
802 return true;
803
804 case 1:
805 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
806 {
807 return false;
808 }
809
810 return true;
811
812 case 2:
813 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
814 {
815 return false;
816 }
817
818 return true;
819
820 case 3:
821 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
822 {
823 return false;
824 }
825
826 return true;
827 }
828
829 return false;
830 }
831
832 override string GetDoorSelectionNameFromSeatPos(int posIdx)
833 {
834 switch( posIdx )
835 {
836 case 0:
837 return "doors_driver";
838 break;
839 case 1:
840 return "doors_codriver";
841 break;
842 case 2:
843 return "doors_cargo1";
844 break;
845 case 3:
846 return "doors_cargo2";
847 break;
848 }
849
850 return super.GetDoorSelectionNameFromSeatPos(posIdx);
851 }
852
853 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
854 {
855 switch( posIdx )
856 {
857 case 0:
858 return "Hatchback_02_Door_1_1";
859 break;
860 case 1:
861 return "Hatchback_02_Door_2_1";
862 break;
863 case 2:
864 return "Hatchback_02_Door_1_2";
865 break;
866 case 3:
867 return "Hatchback_02_Door_2_2";
868 break;
869 }
870
871 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
872 }
873
874 override float OnSound(CarSoundCtrl ctrl, float oldValue)
875 {
876 switch (ctrl)
877 {
878 case CarSoundCtrl.DOORS:
879 float newValue = 0;
880 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
881 {
882 newValue += 0.25;
883 }
884
885 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
886 {
887 newValue += 0.25;
888 }
889
890 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
891 {
892 newValue += 0.25;
893 }
894
895 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
896 {
897 newValue += 0.25;
898 }
899
900 return Math.Clamp(newValue, 0, 1);
901 break;
902 }
903
904 return super.OnSound(ctrl, oldValue);
905 }
906
907 override string GetAnimSourceFromSelection( string selection )
908 {
909 switch( selection )
910 {
911 case "doors_driver":
912 return "DoorsDriver";
913 case "doors_codriver":
914 return "DoorsCoDriver";
915 case "doors_cargo1":
916 return "DoorsCargo1";
917 case "doors_cargo2":
918 return "DoorsCargo2";
919 case "doors_hood":
920 return "DoorsHood";
921 case "doors_trunk":
922 return "DoorsTrunk";
923 }
924
925 return "";
926 }
927
928
929 override bool IsVitalTruckBattery()
930 {
931 return false;
932 }
933
934 override bool IsVitalGlowPlug()
935 {
936 return false;
937 }
938
939 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
940 {
941 switch (currentSeat)
942 {
943 case 0:
944 return nextSeat == 1;
945 case 1:
946 return nextSeat == 0;
947 case 2:
948 return nextSeat == 3;
949 case 3:
950 return nextSeat == 2;
951 }
952
953 return false;
954 }
955
956 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
957 {
958 switch (pCurrentSeat)
959 {
960 case 0:
961 return pDoorsSelection == "DoorsDriver";
962 case 1:
963 return pDoorsSelection == "DoorsCoDriver";
964 case 2:
965 return pDoorsSelection == "DoorsCargo1";
966 case 3:
967 return pDoorsSelection == "DoorsCargo2";
968 }
969
970 return false;
971 }
972
973 override void OnDebugSpawn()
974 {
978
979 GetInventory().CreateInInventory("Hatchback_02_Wheel");
980 GetInventory().CreateInInventory("Hatchback_02_Wheel");
981 GetInventory().CreateInInventory("Hatchback_02_Wheel");
982 GetInventory().CreateInInventory("Hatchback_02_Wheel");
983
984 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
985 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
986 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
987 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
988 GetInventory().CreateInInventory("Hatchback_02_Hood");
989 GetInventory().CreateInInventory("Hatchback_02_Trunk");
990
991 //-----IN CAR CARGO
992 GetInventory().CreateInInventory("Hatchback_02_Wheel");
993 GetInventory().CreateInInventory("Hatchback_02_Wheel");
994 }
995}
996
997class Hatchback_02_Black extends Hatchback_02
998{
999 override void OnDebugSpawn()
1000 {
1004
1005 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1006 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1007 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1008 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1009
1010 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1011 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1012 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1013 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1014 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1015 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1016
1017 //-----IN CAR CARGO
1018 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1019 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1020 }
1021};
1022
1023class Hatchback_02_Blue extends Hatchback_02
1024{
1025 override void OnDebugSpawn()
1026 {
1030
1031 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1032 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1033 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1034 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1035
1036 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1037 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1038 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1039 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1040 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1041 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1042
1043 //-----IN CAR CARGO
1044 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1045 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1046 }
1047}
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.