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

◆ CanReachDoorsFromSeat()

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

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

808{
812
813 void CivilianSedan()
814 {
815 //m_dmgContactCoef = 0.065;
816
817 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
818 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
819 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
820 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
821 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
822 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
823
824 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
825 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
826
827 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
828 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
829
830 SetEnginePos("0 0.7 1.6");
831 }
832
833 override void EEInit()
834 {
835 super.EEInit();
836
837 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
838 {
840 m_UTSSettings.m_ManualUpdate = true;
842 m_UTSSettings.m_TemperatureCap = 0;
843 m_UTSSettings.m_RangeFull = 0.5;
844 m_UTSSettings.m_RangeMax = 2;
845
848 }
849 }
850
851 override void OnEngineStart()
852 {
853 super.OnEngineStart();
854
855 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
856 {
857 m_UTSource.SetDefferedActive(true, 20.0);
858 }
859 }
860
861 override void OnEngineStop()
862 {
863 super.OnEngineStop();
864
865 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
866 {
867 m_UTSource.SetDefferedActive(false, 10.0);
868 }
869 }
870
871 override void EOnPostSimulate(IEntity other, float timeSlice)
872 {
873 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
874 {
875 if (m_UTSource.IsActive())
876 {
878 }
879 }
880 }
881
882 override int GetAnimInstance()
883 {
884 return VehicleAnimInstances.SEDAN;
885 }
886
887 override float GetTransportCameraDistance()
888 {
889 return 4.5;
890 }
891
892 override int GetSeatAnimationType(int posIdx)
893 {
894 switch (posIdx)
895 {
896 case 0:
897 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
898 case 1:
899 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
900 case 2:
901 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
902 case 3:
903 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
904 }
905
906 return 0;
907 }
908
909 // Override for car-specific light type
911 {
912 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
913 }
914
915 // Override for car-specific light type
917 {
918 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
919 }
920
921 override bool CanReleaseAttachment( EntityAI attachment )
922 {
923 if( !super.CanReleaseAttachment( attachment ) )
924 return false;
925
926 string attType = attachment.GetType();
927
928 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
929 {
930 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
931 return false;
932 }
933
934 return true;
935 }
936
937 override protected bool CanManipulateSpareWheel(string slotSelectionName)
938 {
939 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
940 }
941
942 override bool CanDisplayAttachmentCategory(string category_name)
943 {
944 //super
945 if (!super.CanDisplayAttachmentCategory(category_name))
946 return false;
947 //
948
949 category_name.ToLower();
950 if (category_name.Contains("engine"))
951 {
952 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
953 return false;
954 }
955
956 return true;
957 }
958
959 override bool CanDisplayCargo()
960 {
961 if ( !super.CanDisplayCargo() )
962 return false;
963
964 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
965 return false;
966
967 return true;
968 }
969
970 override int GetCarDoorsState( string slotType )
971 {
972 CarDoor carDoor;
973
974 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
975 if (!carDoor)
976 {
977 return CarDoorState.DOORS_MISSING;
978 }
979
980 switch (slotType)
981 {
982 case "CivSedanDriverDoors":
983 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
984 break;
985
986 case "CivSedanCoDriverDoors":
987 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
988 break;
989
990 case "CivSedanCargo1Doors":
991 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
992 break;
993
994 case "CivSedanCargo2Doors":
995 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
996 break;
997
998 case "CivSedanTrunk":
999 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1000 break;
1001
1002 case "CivSedanHood":
1003 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1004 break;
1005 }
1006
1007 return CarDoorState.DOORS_MISSING;
1008 }
1009
1010
1011 override bool CrewCanGetThrough( int posIdx )
1012 {
1013 switch( posIdx )
1014 {
1015 case 0:
1016 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
1017 return false;
1018
1019 return true;
1020 break;
1021
1022 case 1:
1023 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
1024 return false;
1025
1026 return true;
1027 break;
1028
1029 case 2:
1030 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
1031 return false;
1032
1033 return true;
1034 break;
1035
1036 case 3:
1037 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
1038 return false;
1039
1040 return true;
1041 break;
1042 }
1043
1044 return false;
1045 }
1046
1047 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1048 {
1049 switch( posIdx )
1050 {
1051 case 0:
1052 return "doors_driver";
1053 break;
1054 case 1:
1055 return "doors_codriver";
1056 break;
1057 case 2:
1058 return "doors_cargo1";
1059 break;
1060 case 3:
1061 return "doors_cargo2";
1062 break;
1063 }
1064
1065 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1066 }
1067
1068 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1069 {
1070 switch( posIdx )
1071 {
1072 case 0:
1073 return "CivSedanDriverDoors";
1074 break;
1075 case 1:
1076 return "CivSedanCoDriverDoors";
1077 break;
1078 case 2:
1079 return "CivSedanCargo1Doors";
1080 break;
1081 case 3:
1082 return "CivSedanCargo2Doors";
1083 break;
1084 }
1085
1086 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1087 }
1088
1089 // 0 full ambient and engine sound
1090 // 1 zero ambient and engine sound
1091 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1092 {
1093 switch (ctrl)
1094 {
1095 case CarSoundCtrl.DOORS:
1096 float newValue = 0;
1097 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
1098 {
1099 newValue += 0.25;
1100 }
1101
1102 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1103 {
1104 newValue += 0.25;
1105 }
1106
1107 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
1108 {
1109 newValue += 0.25;
1110 }
1111
1112 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
1113 {
1114 newValue += 0.25;
1115 }
1116
1117 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1118 {
1119 newValue -= 0.6;
1120 }
1121
1122 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1123 {
1124 newValue -= 0.6;
1125 }
1126
1127 return Math.Clamp(newValue, 0, 1);
1128 break;
1129 }
1130
1131 return super.OnSound(ctrl, oldValue);
1132 }
1133
1134 override string GetAnimSourceFromSelection(string selection)
1135 {
1136 switch (selection)
1137 {
1138 case "doors_driver":
1139 return "DoorsDriver";
1140 case "doors_codriver":
1141 return "DoorsCoDriver";
1142 case "doors_cargo1":
1143 return "DoorsCargo1";
1144 case "doors_cargo2":
1145 return "DoorsCargo2";
1146 case "doors_hood":
1147 return "DoorsHood";
1148 case "doors_trunk":
1149 return "DoorsTrunk";
1150 }
1151
1152 return "";
1153 }
1154
1155 override bool IsVitalTruckBattery()
1156 {
1157 return false;
1158 }
1159
1160 override bool IsVitalGlowPlug()
1161 {
1162 return false;
1163 }
1164
1165 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1166 {
1167 switch (currentSeat)
1168 {
1169 case 0:
1170 return nextSeat == 1;
1171
1172 case 1:
1173 return nextSeat == 0;
1174
1175 case 2:
1176 return nextSeat == 3;
1177
1178 case 3:
1179 return nextSeat == 2;
1180 }
1181
1182 return false;
1183 }
1184
1185 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1186 {
1187 switch (pCurrentSeat)
1188 {
1189 case 0:
1190 return pDoorsSelection == "DoorsDriver";
1191
1192 case 1:
1193 return pDoorsSelection == "DoorsCoDriver";
1194
1195 case 2:
1196 return pDoorsSelection == "DoorsCargo1";
1197
1198 case 3:
1199 return pDoorsSelection == "DoorsCargo2";
1200 }
1201
1202 return false;
1203 }
1204
1205 override void OnDebugSpawn()
1206 {
1207 SpawnUniversalParts();
1208 SpawnAdditionalItems();
1209 FillUpCarFluids();
1210
1211 GetInventory().CreateInInventory("CivSedanWheel");
1212 GetInventory().CreateInInventory("CivSedanWheel");
1213 GetInventory().CreateInInventory("CivSedanWheel");
1214 GetInventory().CreateInInventory("CivSedanWheel");
1215
1216 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1217 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1218 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1219 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1220 GetInventory().CreateInInventory("CivSedanHood");
1221 GetInventory().CreateInInventory("CivSedanTrunk");
1222
1223 //-----IN CAR CARGO
1224 GetInventory().CreateInInventory("CivSedanWheel");
1225 GetInventory().CreateInInventory("CivSedanWheel");
1226 }
1227
1228 override float GetPushForceCoefficientMultiplier()
1229 {
1230 return 1.5;
1231 }
1232}
1233
1234class CivilianSedan_Wine extends CivilianSedan
1235{
1236 override void OnDebugSpawn()
1237 {
1238 SpawnUniversalParts();
1239 SpawnAdditionalItems();
1240 FillUpCarFluids();
1241
1242 GetInventory().CreateInInventory("CivSedanWheel");
1243 GetInventory().CreateInInventory("CivSedanWheel");
1244 GetInventory().CreateInInventory("CivSedanWheel");
1245 GetInventory().CreateInInventory("CivSedanWheel");
1246
1247 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1248 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1249 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1250 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1251 GetInventory().CreateInInventory("CivSedanHood_Wine");
1252 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1253
1254 //-----IN CAR CARGO
1255 GetInventory().CreateInInventory("CivSedanWheel");
1256 GetInventory().CreateInInventory("CivSedanWheel");
1257 }
1258}
1259
1260class CivilianSedan_Black extends CivilianSedan
1261{
1262 override void OnDebugSpawn()
1263 {
1264 SpawnUniversalParts();
1265 SpawnAdditionalItems();
1266 FillUpCarFluids();
1267
1268 GetInventory().CreateInInventory("CivSedanWheel");
1269 GetInventory().CreateInInventory("CivSedanWheel");
1270 GetInventory().CreateInInventory("CivSedanWheel");
1271 GetInventory().CreateInInventory("CivSedanWheel");
1272
1273 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1274 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1275 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1276 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1277 GetInventory().CreateInInventory("CivSedanHood_Black");
1278 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1279
1280 //-----IN CAR CARGO
1281 GetInventory().CreateInInventory("CivSedanWheel");
1282 GetInventory().CreateInInventory("CivSedanWheel");
1283 }
1284}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:850
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:430
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:787
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:756
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:514
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:713
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:690
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:493
override void OnEngineStop()
Определения CivilianSedan.c:483
void CivilianSedan()
Определения CivilianSedan.c:435
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
override float GetTransportCameraDistance()
Определения CivilianSedan.c:509
override void EEInit()
Определения CivilianSedan.c:455
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:543
override bool CanDisplayCargo()
Определения CivilianSedan.c:581
override void OnEngineStart()
Определения CivilianSedan.c:473
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:532
override int GetAnimInstance()
Определения CivilianSedan.c:504
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:633
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:807
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:559
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:782
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:538
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:777
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:669
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:592
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:564
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:456
Определения CivilianSedan.c:455
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения 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
const int STATE_RUINED
Определения 3_Game/constants.c:848
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.