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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

632{
636
637 void CivilianSedan()
638 {
639 //m_dmgContactCoef = 0.065;
640
641 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
642 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
643 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
644 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
645 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
646
647 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
648 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
649
650 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
651 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
652
653 SetEnginePos("0 0.7 1.6");
654 }
655
656 override void EEInit()
657 {
658 super.EEInit();
659
660 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
661 {
663 m_UTSSettings.m_ManualUpdate = true;
665 m_UTSSettings.m_TemperatureCap = 0;
666 m_UTSSettings.m_RangeFull = 0.5;
667 m_UTSSettings.m_RangeMax = 2;
668
671 }
672 }
673
674 override void OnEngineStart()
675 {
676 super.OnEngineStart();
677
678 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
679 {
680 m_UTSource.SetDefferedActive(true, 20.0);
681 }
682 }
683
684 override void OnEngineStop()
685 {
686 super.OnEngineStop();
687
688 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
689 {
690 m_UTSource.SetDefferedActive(false, 10.0);
691 }
692 }
693
694 override void EOnPostSimulate(IEntity other, float timeSlice)
695 {
696 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
697 {
698 if (m_UTSource.IsActive())
699 {
701 }
702 }
703 }
704
705 override int GetAnimInstance()
706 {
707 return VehicleAnimInstances.SEDAN;
708 }
709
710 override float GetTransportCameraDistance()
711 {
712 return 4.5;
713 }
714
715 override int GetSeatAnimationType(int posIdx)
716 {
717 switch (posIdx)
718 {
719 case 0:
720 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
721 case 1:
722 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
723 case 2:
724 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
725 case 3:
726 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
727 }
728
729 return 0;
730 }
731
732 // Override for car-specific light type
734 {
735 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
736 }
737
738 // Override for car-specific light type
740 {
741 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
742 }
743
744 override bool CanReleaseAttachment( EntityAI attachment )
745 {
746 if( !super.CanReleaseAttachment( attachment ) )
747 return false;
748
749 string attType = attachment.GetType();
750
751 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
752 {
753 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
754 return false;
755 }
756
757 return true;
758 }
759
760 override protected bool CanManipulateSpareWheel(string slotSelectionName)
761 {
762 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
763 }
764
765 override bool CanDisplayAttachmentCategory(string category_name)
766 {
767 //super
768 if (!super.CanDisplayAttachmentCategory(category_name))
769 return false;
770 //
771
772 category_name.ToLower();
773 if (category_name.Contains("engine"))
774 {
775 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
776 return false;
777 }
778
779 return true;
780 }
781
782 override bool CanDisplayCargo()
783 {
784 if ( !super.CanDisplayCargo() )
785 return false;
786
787 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
788 return false;
789
790 return true;
791 }
792
793 override int GetCarDoorsState( string slotType )
794 {
795 CarDoor carDoor;
796
797 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
798 if (!carDoor)
799 {
800 return CarDoorState.DOORS_MISSING;
801 }
802
803 switch (slotType)
804 {
805 case "CivSedanDriverDoors":
806 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
807 break;
808
809 case "CivSedanCoDriverDoors":
810 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
811 break;
812
813 case "CivSedanCargo1Doors":
814 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
815 break;
816
817 case "CivSedanCargo2Doors":
818 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
819 break;
820
821 case "CivSedanTrunk":
822 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
823 break;
824
825 case "CivSedanHood":
826 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
827 break;
828 }
829
830 return CarDoorState.DOORS_MISSING;
831 }
832
833
834 override bool CrewCanGetThrough( int posIdx )
835 {
836 switch( posIdx )
837 {
838 case 0:
839 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
840 return false;
841
842 return true;
843 break;
844
845 case 1:
846 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
847 return false;
848
849 return true;
850 break;
851
852 case 2:
853 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
854 return false;
855
856 return true;
857 break;
858
859 case 3:
860 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
861 return false;
862
863 return true;
864 break;
865 }
866
867 return false;
868 }
869
870 override string GetDoorSelectionNameFromSeatPos(int posIdx)
871 {
872 switch( posIdx )
873 {
874 case 0:
875 return "doors_driver";
876 break;
877 case 1:
878 return "doors_codriver";
879 break;
880 case 2:
881 return "doors_cargo1";
882 break;
883 case 3:
884 return "doors_cargo2";
885 break;
886 }
887
888 return super.GetDoorSelectionNameFromSeatPos(posIdx);
889 }
890
891 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
892 {
893 switch( posIdx )
894 {
895 case 0:
896 return "CivSedanDriverDoors";
897 break;
898 case 1:
899 return "CivSedanCoDriverDoors";
900 break;
901 case 2:
902 return "CivSedanCargo1Doors";
903 break;
904 case 3:
905 return "CivSedanCargo2Doors";
906 break;
907 }
908
909 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
910 }
911
912 // 0 full ambient and engine sound
913 // 1 zero ambient and engine sound
914 override float OnSound(CarSoundCtrl ctrl, float oldValue)
915 {
916 switch (ctrl)
917 {
918 case CarSoundCtrl.DOORS:
919 float newValue = 0;
920 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
921 {
922 newValue += 0.25;
923 }
924
925 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
926 {
927 newValue += 0.25;
928 }
929
930 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
931 {
932 newValue += 0.25;
933 }
934
935 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
936 {
937 newValue += 0.25;
938 }
939
940 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
941 {
942 newValue -= 0.6;
943 }
944
945 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
946 {
947 newValue -= 0.6;
948 }
949
950 return Math.Clamp(newValue, 0, 1);
951 break;
952 }
953
954 return super.OnSound(ctrl, oldValue);
955 }
956
957 override string GetAnimSourceFromSelection(string selection)
958 {
959 switch (selection)
960 {
961 case "doors_driver":
962 return "DoorsDriver";
963 case "doors_codriver":
964 return "DoorsCoDriver";
965 case "doors_cargo1":
966 return "DoorsCargo1";
967 case "doors_cargo2":
968 return "DoorsCargo2";
969 case "doors_hood":
970 return "DoorsHood";
971 case "doors_trunk":
972 return "DoorsTrunk";
973 }
974
975 return "";
976 }
977
978 override bool IsVitalTruckBattery()
979 {
980 return false;
981 }
982
983 override bool IsVitalGlowPlug()
984 {
985 return false;
986 }
987
988 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
989 {
990 switch (currentSeat)
991 {
992 case 0:
993 return nextSeat == 1;
994
995 case 1:
996 return nextSeat == 0;
997
998 case 2:
999 return nextSeat == 3;
1000
1001 case 3:
1002 return nextSeat == 2;
1003 }
1004
1005 return false;
1006 }
1007
1008 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1009 {
1010 switch (pCurrentSeat)
1011 {
1012 case 0:
1013 return pDoorsSelection == "DoorsDriver";
1014
1015 case 1:
1016 return pDoorsSelection == "DoorsCoDriver";
1017
1018 case 2:
1019 return pDoorsSelection == "DoorsCargo1";
1020
1021 case 3:
1022 return pDoorsSelection == "DoorsCargo2";
1023 }
1024
1025 return false;
1026 }
1027
1028 override void OnDebugSpawn()
1029 {
1033
1034 GetInventory().CreateInInventory("CivSedanWheel");
1035 GetInventory().CreateInInventory("CivSedanWheel");
1036 GetInventory().CreateInInventory("CivSedanWheel");
1037 GetInventory().CreateInInventory("CivSedanWheel");
1038
1039 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1040 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1041 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1042 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1043 GetInventory().CreateInInventory("CivSedanHood");
1044 GetInventory().CreateInInventory("CivSedanTrunk");
1045
1046 //-----IN CAR CARGO
1047 GetInventory().CreateInInventory("CivSedanWheel");
1048 GetInventory().CreateInInventory("CivSedanWheel");
1049 }
1050
1051 override float GetPushForceCoefficientMultiplier()
1052 {
1053 return 1.5;
1054 }
1055}
1056
1057class CivilianSedan_Wine extends CivilianSedan
1058{
1059 override void OnDebugSpawn()
1060 {
1064
1065 GetInventory().CreateInInventory("CivSedanWheel");
1066 GetInventory().CreateInInventory("CivSedanWheel");
1067 GetInventory().CreateInInventory("CivSedanWheel");
1068 GetInventory().CreateInInventory("CivSedanWheel");
1069
1070 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1071 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1072 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1073 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1074 GetInventory().CreateInInventory("CivSedanHood_Wine");
1075 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1076
1077 //-----IN CAR CARGO
1078 GetInventory().CreateInInventory("CivSedanWheel");
1079 GetInventory().CreateInInventory("CivSedanWheel");
1080 }
1081}
1082
1083class CivilianSedan_Black extends CivilianSedan
1084{
1085 override void OnDebugSpawn()
1086 {
1090
1091 GetInventory().CreateInInventory("CivSedanWheel");
1092 GetInventory().CreateInInventory("CivSedanWheel");
1093 GetInventory().CreateInInventory("CivSedanWheel");
1094 GetInventory().CreateInInventory("CivSedanWheel");
1095
1096 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1097 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1098 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1099 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1100 GetInventory().CreateInInventory("CivSedanHood_Black");
1101 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1102
1103 //-----IN CAR CARGO
1104 GetInventory().CreateInInventory("CivSedanWheel");
1105 GetInventory().CreateInInventory("CivSedanWheel");
1106 }
1107}
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
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:848
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:429
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:785
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:754
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:711
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:688
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:491
override void OnEngineStop()
Определения CivilianSedan.c:481
void CivilianSedan()
Определения CivilianSedan.c:434
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
override float GetTransportCameraDistance()
Определения CivilianSedan.c:507
override void EEInit()
Определения CivilianSedan.c:453
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:541
override bool CanDisplayCargo()
Определения CivilianSedan.c:579
override void OnEngineStart()
Определения CivilianSedan.c:471
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:530
override int GetAnimInstance()
Определения CivilianSedan.c:502
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:631
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:805
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:557
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:780
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:536
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:775
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:667
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:590
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:562
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:455
Определения CivilianSedan.c:454
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения 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
const int STATE_RUINED
Определения constants.c:846
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.