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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

693{
697
698 void OffroadHatchback()
699 {
700 //m_dmgContactCoef = 0.075;
701
702 m_EngineStartOK = "offroad_engine_start_SoundSet";
703 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
704 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
705 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
706 m_EngineStop = "offroad_engine_stop_SoundSet";
707 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
708
709 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
710 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
711 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
712 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
713
714 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
715 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
716
717 SetEnginePos("0 0.7 1.2");
718 }
719
720 void ~OffroadHatchback()
721 {
722 m_UTSource = null;
723 m_UTSSettings = null;
724 m_UTSLEngine = null;
725 }
726
727 override void EEInit()
728 {
729 super.EEInit();
730
731 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
732 {
734 m_UTSSettings.m_ManualUpdate = true;
736 m_UTSSettings.m_TemperatureCap = 0;
737 m_UTSSettings.m_RangeFull = 0.5;
738 m_UTSSettings.m_RangeMax = 2;
739
742 }
743 }
744
745 override void OnEngineStart()
746 {
747 super.OnEngineStart();
748
749 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
750 {
751 if (m_UTSource)
752 m_UTSource.SetDefferedActive(true, 20.0);
753 }
754 }
755
756 override void OnEngineStop()
757 {
758 super.OnEngineStop();
759
760 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
761 {
762 if (m_UTSource)
763 m_UTSource.SetDefferedActive(false, 10.0);
764 }
765 }
766
767 override void EOnPostSimulate(IEntity other, float timeSlice)
768 {
769 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
770 {
771 if (m_UTSource && m_UTSource.IsActive())
772 {
774 }
775 }
776 }
777
778 override int GetAnimInstance()
779 {
780 return VehicleAnimInstances.HATCHBACK;
781 }
782
783 override float GetTransportCameraDistance()
784 {
785 return 3.5;
786 }
787
788 override int GetSeatAnimationType( int posIdx )
789 {
790 switch (posIdx)
791 {
792 case 0:
793 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
794 case 1:
795 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
796 case 2:
797 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
798 case 3:
799 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
800 }
801
802 return 0;
803
804 }
805
806
808 {
809 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
810 }
811
813 {
814 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
815 }
816
817 override bool CanReleaseAttachment(EntityAI attachment)
818 {
819 if (!super.CanReleaseAttachment(attachment))
820 {
821 return false;
822 }
823
824 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
825 {
826 string attType = attachment.GetType();
827 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
828 {
829 return false;
830 }
831 }
832
833 return true;
834 }
835
836 override protected bool CanManipulateSpareWheel(string slotSelectionName)
837 {
838 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
839 }
840
841 override bool CanDisplayAttachmentCategory( string category_name )
842 {
843 if (!super.CanDisplayAttachmentCategory(category_name))
844 {
845 return false;
846 }
847
848 category_name.ToLower();
849 if (category_name.Contains("engine"))
850 {
851 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
852 {
853 return false;
854 }
855 }
856
857 return true;
858 }
859
860 override bool CanDisplayCargo()
861 {
862 if (!super.CanDisplayCargo())
863 {
864 return false;
865 }
866
867 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
868 {
869 return false;
870 }
871
872 return true;
873 }
874
875 override int GetCarDoorsState(string slotType)
876 {
877 CarDoor carDoor;
878
879 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
880 if (!carDoor)
881 {
882 return CarDoorState.DOORS_MISSING;
883 }
884
885 switch (slotType)
886 {
887 case "NivaDriverDoors":
888 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
889
890 case "NivaCoDriverDoors":
891 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
892
893 case "NivaHood":
894 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
895
896 case "NivaTrunk":
897 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
898 }
899
900 return CarDoorState.DOORS_MISSING;
901 }
902
903 override bool CrewCanGetThrough(int posIdx)
904 {
905 CarDoor carDoor;
906 switch (posIdx)
907 {
908 case 0:
909 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
910 return false;
911 else if (GetAnimationPhase("SeatDriver") > 0.5)
912 return false;
913
914 return true;
915
916 case 1:
917 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
918 return false;
919 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
920 return false;
921
922 return true;
923
924 case 2:
925 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
926 return false;
927 else if (GetAnimationPhase("SeatDriver") <= 0.5)
928 return false;
929
930 return true;
931
932 case 3:
933 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
934 return false;
935 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
936 return false;
937
938 return true;
939 }
940
941 return false;
942 }
943
944 override string GetDoorSelectionNameFromSeatPos(int posIdx)
945 {
946 switch (posIdx)
947 {
948 case 0:
949 case 2:
950 return "doors_driver";
951 case 1:
952 case 3:
953 return "doors_codriver";
954 }
955
956 return super.GetDoorSelectionNameFromSeatPos(posIdx);
957 }
958
959 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
960 {
961 switch (posIdx)
962 {
963 case 0:
964 case 2:
965 return "NivaDriverDoors";
966 case 1:
967 case 3:
968 return "NivaCoDriverDoors";
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 float tempCap = 0.0;
979
980 switch (ctrl)
981 {
982 case CarSoundCtrl.DOORS:
983 float newValue = 0;
984 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
985 {
986 newValue += 0.5;
987 }
988
989 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
990 {
991 newValue += 0.5;
992 }
993
994 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
995 {
996 newValue += 0.3;
997 }
998
999 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1000 {
1001 newValue -= 0.6;
1002 }
1003
1004 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1005 {
1006 newValue -= 0.2;
1007 }
1008
1009 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1010 {
1011 newValue -= 0.2;
1012 }
1013
1014 return Math.Clamp(newValue, 0, 1);
1015 break;
1016 }
1017
1018 return super.OnSound(ctrl, oldValue);
1019 }
1020
1021 override string GetAnimSourceFromSelection( string selection )
1022 {
1023 switch (selection)
1024 {
1025 case "doors_driver":
1026 return "DoorsDriver";
1027 case "doors_codriver":
1028 return "DoorsCoDriver";
1029 case "doors_hood":
1030 return "DoorsHood";
1031 case "doors_trunk":
1032 return "DoorsTrunk";
1033 case "seatback_driver":
1034 return "SeatDriver";
1035 case "seatback_codriver":
1036 return "SeatCoDriver";
1037 }
1038
1039 return "";
1040 }
1041
1042 override string GetDoorConditionPointFromSelection(string selection)
1043 {
1044 switch (selection)
1045 {
1046 case "seat_driver":
1047 case "seatback_driver":
1048 case "seat_cargo1":
1049 return "seat_con_1_1";
1050 case "seat_codriver":
1051 case "seatback_codriver":
1052 case "seat_cargo2":
1053 return "seat_con_2_1";
1054 }
1055
1056 return "";
1057 }
1058
1059 override int GetCrewIndex(string selection)
1060 {
1061 switch (selection)
1062 {
1063 case "seatback_driver":
1064 return 0;
1065 case "seatback_codriver":
1066 return 1;
1067 }
1068
1069 return -1;
1070 }
1071
1072 override bool IsVitalTruckBattery()
1073 {
1074 return false;
1075 }
1076
1077 override bool IsVitalGlowPlug()
1078 {
1079 return false;
1080 }
1081
1082 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1083 {
1084 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1085 return false;
1086
1087 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1088 return false;
1089
1090 switch (currentSeat)
1091 {
1092 case 0:
1093 return nextSeat == 1;
1094
1095 case 1:
1096 return nextSeat == 0;
1097
1098 case 2:
1099 return nextSeat == 3;
1100
1101 case 3:
1102 return nextSeat == 2;
1103 }
1104
1105 return false;
1106 }
1107
1108 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1109 {
1110 switch (pCurrentSeat)
1111 {
1112 case 0:
1113 return pDoorsSelection == "DoorsDriver";
1114
1115 case 1:
1116 return pDoorsSelection == "DoorsCoDriver";
1117
1118 case 2:
1119 return pDoorsSelection == "DoorsDriver";
1120
1121 case 3:
1122 return pDoorsSelection == "DoorsCoDriver";
1123 }
1124
1125 return false;
1126 }
1127
1128 override int GetSeatIndexFromDoor( string pDoorSelection )
1129 {
1130 switch (pDoorSelection)
1131 {
1132 case "DoorsDriver":
1133 return 0;
1134 case "DoorsCoDriver":
1135 return 1;
1136 }
1137
1138 return -1;
1139 }
1140
1141 override void SetActions()
1142 {
1143 super.SetActions();
1144
1146 }
1147
1148 override void OnDebugSpawn()
1149 {
1150 SpawnUniversalParts();
1151 SpawnAdditionalItems();
1152 FillUpCarFluids();
1153
1154 GameInventory inventory = GetInventory();
1155 inventory.CreateInInventory("HatchbackWheel");
1156 inventory.CreateInInventory("HatchbackWheel");
1157 inventory.CreateInInventory("HatchbackWheel" );
1158 inventory.CreateInInventory("HatchbackWheel");
1159
1160 inventory.CreateInInventory("HatchbackDoors_Driver");
1161 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1162 inventory.CreateInInventory("HatchbackHood");
1163 inventory.CreateInInventory("HatchbackTrunk");
1164
1165 //-----IN CAR CARGO
1166 inventory.CreateInInventory("HatchbackWheel");
1167 inventory.CreateInInventory("HatchbackWheel");
1168 }
1169}
1170
1171class OffroadHatchback_White extends OffroadHatchback
1172{
1173 override void OnDebugSpawn()
1174 {
1175 SpawnUniversalParts();
1176 SpawnAdditionalItems();
1177 FillUpCarFluids();
1178
1179 GameInventory inventory = GetInventory();
1180 inventory.CreateInInventory("HatchbackWheel");
1181 inventory.CreateInInventory("HatchbackWheel");
1182 inventory.CreateInInventory("HatchbackWheel");
1183 inventory.CreateInInventory("HatchbackWheel");
1184
1185 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1186 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1187 inventory.CreateInInventory("HatchbackHood_White");
1188 inventory.CreateInInventory("HatchbackTrunk_White");
1189
1190 //-----IN CAR CARGO
1191 inventory.CreateInInventory("HatchbackWheel");
1192 inventory.CreateInInventory("HatchbackWheel");
1193 }
1194}
1195
1196class OffroadHatchback_Blue extends OffroadHatchback
1197{
1198 override void OnDebugSpawn()
1199 {
1200 SpawnUniversalParts();
1201 SpawnAdditionalItems();
1202 FillUpCarFluids();
1203
1204 GameInventory inventory = GetInventory();
1205 inventory.CreateInInventory("HatchbackWheel");
1206 inventory.CreateInInventory("HatchbackWheel");
1207 inventory.CreateInInventory("HatchbackWheel");
1208 inventory.CreateInInventory("HatchbackWheel");
1209
1210 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1211 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1212 inventory.CreateInInventory("HatchbackHood_Blue");
1213 inventory.CreateInInventory("HatchbackTrunk_Blue");
1214
1215 //-----IN CAR CARGO
1216 inventory.CreateInInventory("HatchbackWheel");
1217 inventory.CreateInInventory("HatchbackWheel");
1218 }
1219}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
override void SetActions()
Определения OffroadHatchback.c:930
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:871
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:810
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:577
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:831
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:765
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:748
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:556
override void OnEngineStop()
Определения OffroadHatchback.c:545
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:572
override void EEInit()
Определения OffroadHatchback.c:516
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:606
override bool CanDisplayCargo()
Определения OffroadHatchback.c:649
void ~OffroadHatchback()
Определения OffroadHatchback.c:509
override void OnEngineStart()
Определения OffroadHatchback.c:534
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:601
override int GetAnimInstance()
Определения OffroadHatchback.c:567
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:692
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:897
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:625
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:866
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:596
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:482
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:917
void OffroadHatchback()
Определения OffroadHatchback.c:487
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:861
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:733
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:664
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:848
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:630
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
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
override void OnDebugSpawn()
Определения OffroadHatchback.c:507
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.