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

◆ CanReachDoorsFromSeat()

override bool OnDebugSpawn::CanReachDoorsFromSeat ( string pDoorsSelection,
int pCurrentSeat )
protected

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

764{
768
769 void Hatchback_02()
770 {
771 //m_dmgContactCoef = 0.070;
772
773 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
774 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
775 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
776 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
777 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
778 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
779
780 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
781 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
782
783 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
784 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
785
786 SetEnginePos("0 0.7 1.4");
787 }
788
789 override void EEInit()
790 {
791 super.EEInit();
792
793 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
794 {
796 m_UTSSettings.m_ManualUpdate = true;
798 m_UTSSettings.m_TemperatureCap = 0;
799 m_UTSSettings.m_RangeFull = 0.5;
800 m_UTSSettings.m_RangeMax = 2;
801
804 }
805 }
806
807 override void OnEngineStart()
808 {
809 super.OnEngineStart();
810
811 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
812 {
813 m_UTSource.SetDefferedActive(true, 20.0);
814 }
815 }
816
817 override void OnEngineStop()
818 {
819 super.OnEngineStop();
820
821 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
822 {
823 m_UTSource.SetDefferedActive(false, 10.0);
824 }
825 }
826
827 override void EOnPostSimulate(IEntity other, float timeSlice)
828 {
829 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
830 {
831 if (m_UTSource.IsActive())
832 {
834 }
835 }
836 }
837
838 override int GetAnimInstance()
839 {
840 return VehicleAnimInstances.GOLF;
841 }
842
843 override int GetSeatAnimationType(int posIdx)
844 {
845 switch (posIdx)
846 {
847 case 0:
848 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
849 case 1:
850 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
851 case 2:
852 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
853 case 3:
854 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
855 }
856
857 return 0;
858 }
859
860 // Override for car-specific light type
862 {
863 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
864 }
865
866 // Override for car-specific light type
868 {
869 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
870 }
871
872 override bool CanReleaseAttachment(EntityAI attachment)
873 {
874 if (!super.CanReleaseAttachment(attachment))
875 {
876 return false;
877 }
878
879 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
880 {
881 string attType = attachment.GetType();
882 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
883 {
884 return false;
885 }
886 }
887
888 return true;
889 }
890
891 override protected bool CanManipulateSpareWheel(string slotSelectionName)
892 {
893 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
894 }
895
896 override bool CanDisplayAttachmentCategory( string category_name )
897 {
898 //super
899 if ( !super.CanDisplayAttachmentCategory( category_name ) )
900 return false;
901 //
902
903 category_name.ToLower();
904 if ( category_name.Contains("engine") )
905 {
906 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
907 return false;
908 }
909
910 return true;
911 }
912
913 override bool CanDisplayCargo()
914 {
915 if ( !super.CanDisplayCargo() )
916 return false;
917
918 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
919 return false;
920
921 return true;
922 }
923
924 override int GetCarDoorsState(string slotType)
925 {
926 CarDoor carDoor;
927
928 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
929 if (!carDoor)
930 {
931 return CarDoorState.DOORS_MISSING;
932 }
933
934 switch (slotType)
935 {
936 case "Hatchback_02_Door_1_1":
937 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
938
939 case "Hatchback_02_Door_2_1":
940 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
941
942 case "Hatchback_02_Door_1_2":
943 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
944
945 case "Hatchback_02_Door_2_2":
946 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
947
948 case "Hatchback_02_Hood":
949 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
950
951 case "Hatchback_02_Trunk":
952 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
953 }
954
955 return CarDoorState.DOORS_MISSING;
956 }
957
958
959 override bool CrewCanGetThrough(int posIdx)
960 {
961 switch (posIdx)
962 {
963 case 0:
964 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
965 {
966 return false;
967 }
968
969 return true;
970
971 case 1:
972 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
973 {
974 return false;
975 }
976
977 return true;
978
979 case 2:
980 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
981 {
982 return false;
983 }
984
985 return true;
986
987 case 3:
988 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
989 {
990 return false;
991 }
992
993 return true;
994 }
995
996 return false;
997 }
998
999 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1000 {
1001 switch( posIdx )
1002 {
1003 case 0:
1004 return "doors_driver";
1005 break;
1006 case 1:
1007 return "doors_codriver";
1008 break;
1009 case 2:
1010 return "doors_cargo1";
1011 break;
1012 case 3:
1013 return "doors_cargo2";
1014 break;
1015 }
1016
1017 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1018 }
1019
1020 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1021 {
1022 switch( posIdx )
1023 {
1024 case 0:
1025 return "Hatchback_02_Door_1_1";
1026 break;
1027 case 1:
1028 return "Hatchback_02_Door_2_1";
1029 break;
1030 case 2:
1031 return "Hatchback_02_Door_1_2";
1032 break;
1033 case 3:
1034 return "Hatchback_02_Door_2_2";
1035 break;
1036 }
1037
1038 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1039 }
1040
1041 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1042 {
1043 switch (ctrl)
1044 {
1045 case CarSoundCtrl.DOORS:
1046 float newValue = 0;
1047 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1048 {
1049 newValue += 0.25;
1050 }
1051
1052 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1053 {
1054 newValue += 0.25;
1055 }
1056
1057 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1058 {
1059 newValue += 0.25;
1060 }
1061
1062 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1063 {
1064 newValue += 0.25;
1065 }
1066
1067 return Math.Clamp(newValue, 0, 1);
1068 break;
1069 }
1070
1071 return super.OnSound(ctrl, oldValue);
1072 }
1073
1074 override string GetAnimSourceFromSelection( string selection )
1075 {
1076 switch( selection )
1077 {
1078 case "doors_driver":
1079 return "DoorsDriver";
1080 case "doors_codriver":
1081 return "DoorsCoDriver";
1082 case "doors_cargo1":
1083 return "DoorsCargo1";
1084 case "doors_cargo2":
1085 return "DoorsCargo2";
1086 case "doors_hood":
1087 return "DoorsHood";
1088 case "doors_trunk":
1089 return "DoorsTrunk";
1090 }
1091
1092 return "";
1093 }
1094
1095
1096 override bool IsVitalTruckBattery()
1097 {
1098 return false;
1099 }
1100
1101 override bool IsVitalGlowPlug()
1102 {
1103 return false;
1104 }
1105
1106 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1107 {
1108 switch (currentSeat)
1109 {
1110 case 0:
1111 return nextSeat == 1;
1112 case 1:
1113 return nextSeat == 0;
1114 case 2:
1115 return nextSeat == 3;
1116 case 3:
1117 return nextSeat == 2;
1118 }
1119
1120 return false;
1121 }
1122
1123 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1124 {
1125 switch (pCurrentSeat)
1126 {
1127 case 0:
1128 return pDoorsSelection == "DoorsDriver";
1129 case 1:
1130 return pDoorsSelection == "DoorsCoDriver";
1131 case 2:
1132 return pDoorsSelection == "DoorsCargo1";
1133 case 3:
1134 return pDoorsSelection == "DoorsCargo2";
1135 }
1136
1137 return false;
1138 }
1139
1140 override void OnDebugSpawn()
1141 {
1142 SpawnUniversalParts();
1143 SpawnAdditionalItems();
1144 FillUpCarFluids();
1145
1146 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1147 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1148 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1149 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1150
1151 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1152 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1153 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1154 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1155 GetInventory().CreateInInventory("Hatchback_02_Hood");
1156 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1157
1158 //-----IN CAR CARGO
1159 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1160 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1161 }
1162}
1163
1164class Hatchback_02_Black extends Hatchback_02
1165{
1166 override void OnDebugSpawn()
1167 {
1168 SpawnUniversalParts();
1169 SpawnAdditionalItems();
1170 FillUpCarFluids();
1171
1172 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1173 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1174 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1175 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1176
1177 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1178 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1179 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1180 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1181 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1182 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1183
1184 //-----IN CAR CARGO
1185 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1186 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1187 }
1188};
1189
1190class Hatchback_02_Blue extends Hatchback_02
1191{
1192 override void OnDebugSpawn()
1193 {
1194 SpawnUniversalParts();
1195 SpawnAdditionalItems();
1196 FillUpCarFluids();
1197
1198 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1199 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1200 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1201 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1202
1203 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1204 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1205 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1206 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1207 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1208 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1209
1210 //-----IN CAR CARGO
1211 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1212 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1213 }
1214}
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:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения 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
Определения 3_Game/constants.c:808
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.