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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

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