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

◆ CanReachDoorsFromSeat()

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

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

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