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

◆ GetPushForceCoefficientMultiplier()

override float OnDebugSpawn::GetPushForceCoefficientMultiplier ( )
protected

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

849{
853
854 void CivilianSedan()
855 {
856 //m_dmgContactCoef = 0.065;
857
858 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
859 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
860 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
861 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
862 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
863
864 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
865 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
866
867 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
868 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
869
870 SetEnginePos("0 0.7 1.6");
871 }
872
873 override void EEInit()
874 {
875 super.EEInit();
876
877 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
878 {
880 m_UTSSettings.m_ManualUpdate = true;
882 m_UTSSettings.m_TemperatureCap = 0;
883 m_UTSSettings.m_RangeFull = 0.5;
884 m_UTSSettings.m_RangeMax = 2;
885
888 }
889 }
890
891 override void OnEngineStart()
892 {
893 super.OnEngineStart();
894
895 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
896 {
897 m_UTSource.SetDefferedActive(true, 20.0);
898 }
899 }
900
901 override void OnEngineStop()
902 {
903 super.OnEngineStop();
904
905 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
906 {
907 m_UTSource.SetDefferedActive(false, 10.0);
908 }
909 }
910
911 override void EOnPostSimulate(IEntity other, float timeSlice)
912 {
913 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
914 {
915 if (m_UTSource.IsActive())
916 {
918 }
919 }
920 }
921
922 override int GetAnimInstance()
923 {
924 return VehicleAnimInstances.SEDAN;
925 }
926
927 override float GetTransportCameraDistance()
928 {
929 return 4.5;
930 }
931
932 override int GetSeatAnimationType(int posIdx)
933 {
934 switch (posIdx)
935 {
936 case 0:
937 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
938 case 1:
939 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
940 case 2:
941 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
942 case 3:
943 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
944 }
945
946 return 0;
947 }
948
949 // Override for car-specific light type
951 {
952 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
953 }
954
955 // Override for car-specific light type
957 {
958 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
959 }
960
961 override bool CanReleaseAttachment( EntityAI attachment )
962 {
963 if( !super.CanReleaseAttachment( attachment ) )
964 return false;
965
966 string attType = attachment.GetType();
967
968 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
969 {
970 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
971 return false;
972 }
973
974 return true;
975 }
976
977 override protected bool CanManipulateSpareWheel(string slotSelectionName)
978 {
979 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
980 }
981
982 override bool CanDisplayAttachmentCategory(string category_name)
983 {
984 //super
985 if (!super.CanDisplayAttachmentCategory(category_name))
986 return false;
987 //
988
989 category_name.ToLower();
990 if (category_name.Contains("engine"))
991 {
992 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
993 return false;
994 }
995
996 return true;
997 }
998
999 override bool CanDisplayCargo()
1000 {
1001 if ( !super.CanDisplayCargo() )
1002 return false;
1003
1004 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
1005 return false;
1006
1007 return true;
1008 }
1009
1010 override int GetCarDoorsState( string slotType )
1011 {
1012 CarDoor carDoor;
1013
1014 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1015 if (!carDoor)
1016 {
1017 return CarDoorState.DOORS_MISSING;
1018 }
1019
1020 switch (slotType)
1021 {
1022 case "CivSedanDriverDoors":
1023 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1024 break;
1025
1026 case "CivSedanCoDriverDoors":
1027 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1028 break;
1029
1030 case "CivSedanCargo1Doors":
1031 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1032 break;
1033
1034 case "CivSedanCargo2Doors":
1035 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1036 break;
1037
1038 case "CivSedanTrunk":
1039 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1040 break;
1041
1042 case "CivSedanHood":
1043 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1044 break;
1045 }
1046
1047 return CarDoorState.DOORS_MISSING;
1048 }
1049
1050
1051 override bool CrewCanGetThrough( int posIdx )
1052 {
1053 switch( posIdx )
1054 {
1055 case 0:
1056 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
1057 return false;
1058
1059 return true;
1060 break;
1061
1062 case 1:
1063 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
1064 return false;
1065
1066 return true;
1067 break;
1068
1069 case 2:
1070 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
1071 return false;
1072
1073 return true;
1074 break;
1075
1076 case 3:
1077 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
1078 return false;
1079
1080 return true;
1081 break;
1082 }
1083
1084 return false;
1085 }
1086
1087 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1088 {
1089 switch( posIdx )
1090 {
1091 case 0:
1092 return "doors_driver";
1093 break;
1094 case 1:
1095 return "doors_codriver";
1096 break;
1097 case 2:
1098 return "doors_cargo1";
1099 break;
1100 case 3:
1101 return "doors_cargo2";
1102 break;
1103 }
1104
1105 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1106 }
1107
1108 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1109 {
1110 switch( posIdx )
1111 {
1112 case 0:
1113 return "CivSedanDriverDoors";
1114 break;
1115 case 1:
1116 return "CivSedanCoDriverDoors";
1117 break;
1118 case 2:
1119 return "CivSedanCargo1Doors";
1120 break;
1121 case 3:
1122 return "CivSedanCargo2Doors";
1123 break;
1124 }
1125
1126 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1127 }
1128
1129 // 0 full ambient and engine sound
1130 // 1 zero ambient and engine sound
1131 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1132 {
1133 switch (ctrl)
1134 {
1135 case CarSoundCtrl.DOORS:
1136 float newValue = 0;
1137 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
1138 {
1139 newValue += 0.25;
1140 }
1141
1142 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1143 {
1144 newValue += 0.25;
1145 }
1146
1147 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
1148 {
1149 newValue += 0.25;
1150 }
1151
1152 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
1153 {
1154 newValue += 0.25;
1155 }
1156
1157 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1158 {
1159 newValue -= 0.6;
1160 }
1161
1162 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1163 {
1164 newValue -= 0.6;
1165 }
1166
1167 return Math.Clamp(newValue, 0, 1);
1168 break;
1169 }
1170
1171 return super.OnSound(ctrl, oldValue);
1172 }
1173
1174 override string GetAnimSourceFromSelection(string selection)
1175 {
1176 switch (selection)
1177 {
1178 case "doors_driver":
1179 return "DoorsDriver";
1180 case "doors_codriver":
1181 return "DoorsCoDriver";
1182 case "doors_cargo1":
1183 return "DoorsCargo1";
1184 case "doors_cargo2":
1185 return "DoorsCargo2";
1186 case "doors_hood":
1187 return "DoorsHood";
1188 case "doors_trunk":
1189 return "DoorsTrunk";
1190 }
1191
1192 return "";
1193 }
1194
1195 override bool IsVitalTruckBattery()
1196 {
1197 return false;
1198 }
1199
1200 override bool IsVitalGlowPlug()
1201 {
1202 return false;
1203 }
1204
1205 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1206 {
1207 switch (currentSeat)
1208 {
1209 case 0:
1210 return nextSeat == 1;
1211
1212 case 1:
1213 return nextSeat == 0;
1214
1215 case 2:
1216 return nextSeat == 3;
1217
1218 case 3:
1219 return nextSeat == 2;
1220 }
1221
1222 return false;
1223 }
1224
1225 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1226 {
1227 switch (pCurrentSeat)
1228 {
1229 case 0:
1230 return pDoorsSelection == "DoorsDriver";
1231
1232 case 1:
1233 return pDoorsSelection == "DoorsCoDriver";
1234
1235 case 2:
1236 return pDoorsSelection == "DoorsCargo1";
1237
1238 case 3:
1239 return pDoorsSelection == "DoorsCargo2";
1240 }
1241
1242 return false;
1243 }
1244
1245 override void OnDebugSpawn()
1246 {
1250
1251 GetInventory().CreateInInventory("CivSedanWheel");
1252 GetInventory().CreateInInventory("CivSedanWheel");
1253 GetInventory().CreateInInventory("CivSedanWheel");
1254 GetInventory().CreateInInventory("CivSedanWheel");
1255
1256 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1257 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1258 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1259 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1260 GetInventory().CreateInInventory("CivSedanHood");
1261 GetInventory().CreateInInventory("CivSedanTrunk");
1262
1263 //-----IN CAR CARGO
1264 GetInventory().CreateInInventory("CivSedanWheel");
1265 GetInventory().CreateInInventory("CivSedanWheel");
1266 }
1267
1268 override float GetPushForceCoefficientMultiplier()
1269 {
1270 return 1.5;
1271 }
1272}
1273
1274class CivilianSedan_Wine extends CivilianSedan
1275{
1276 override void OnDebugSpawn()
1277 {
1281
1282 GetInventory().CreateInInventory("CivSedanWheel");
1283 GetInventory().CreateInInventory("CivSedanWheel");
1284 GetInventory().CreateInInventory("CivSedanWheel");
1285 GetInventory().CreateInInventory("CivSedanWheel");
1286
1287 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1288 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1289 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1290 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1291 GetInventory().CreateInInventory("CivSedanHood_Wine");
1292 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1293
1294 //-----IN CAR CARGO
1295 GetInventory().CreateInInventory("CivSedanWheel");
1296 GetInventory().CreateInInventory("CivSedanWheel");
1297 }
1298}
1299
1300class CivilianSedan_Black extends CivilianSedan
1301{
1302 override void OnDebugSpawn()
1303 {
1307
1308 GetInventory().CreateInInventory("CivSedanWheel");
1309 GetInventory().CreateInInventory("CivSedanWheel");
1310 GetInventory().CreateInInventory("CivSedanWheel");
1311 GetInventory().CreateInInventory("CivSedanWheel");
1312
1313 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1314 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1315 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1316 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1317 GetInventory().CreateInInventory("CivSedanHood_Black");
1318 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1319
1320 //-----IN CAR CARGO
1321 GetInventory().CreateInInventory("CivSedanWheel");
1322 GetInventory().CreateInInventory("CivSedanWheel");
1323 }
1324}
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.