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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

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