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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

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