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

◆ CanReachDoorsFromSeat()

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

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

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