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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

790{
794
795 void OffroadHatchback()
796 {
797 //m_dmgContactCoef = 0.075;
798
799 m_EngineStartOK = "offroad_engine_start_SoundSet";
800 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
801 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
802 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
803 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
804
805 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
806 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
807 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
808 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
809
810 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
811 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
812
813 SetEnginePos("0 0.7 1.2");
814 }
815
816 override void EEInit()
817 {
818 super.EEInit();
819
820 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
821 {
823 m_UTSSettings.m_ManualUpdate = true;
825 m_UTSSettings.m_TemperatureCap = 0;
826 m_UTSSettings.m_RangeFull = 0.5;
827 m_UTSSettings.m_RangeMax = 2;
828
831 }
832 }
833
834 override void OnEngineStart()
835 {
836 super.OnEngineStart();
837
838 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
839 {
840 m_UTSource.SetDefferedActive(true, 20.0);
841 }
842 }
843
844 override void OnEngineStop()
845 {
846 super.OnEngineStop();
847
848 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
849 {
850 m_UTSource.SetDefferedActive(false, 10.0);
851 }
852 }
853
854 override void EOnPostSimulate(IEntity other, float timeSlice)
855 {
856 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
857 {
858 if (m_UTSource.IsActive())
859 {
861 }
862 }
863 }
864
865 override int GetAnimInstance()
866 {
867 return VehicleAnimInstances.HATCHBACK;
868 }
869
870 override float GetTransportCameraDistance()
871 {
872 return 3.5;
873 }
874
875 override int GetSeatAnimationType( int posIdx )
876 {
877 switch (posIdx)
878 {
879 case 0:
880 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
881 case 1:
882 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
883 case 2:
884 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
885 case 3:
886 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
887 }
888
889 return 0;
890
891 }
892
893
895 {
896 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
897 }
898
900 {
901 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
902 }
903
904 override bool CanReleaseAttachment(EntityAI attachment)
905 {
906 if (!super.CanReleaseAttachment(attachment))
907 {
908 return false;
909 }
910
911 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
912 {
913 string attType = attachment.GetType();
914 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
915 {
916 return false;
917 }
918 }
919
920 return true;
921 }
922
923 override protected bool CanManipulateSpareWheel(string slotSelectionName)
924 {
925 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
926 }
927
928 override bool CanDisplayAttachmentCategory( string category_name )
929 {
930 if (!super.CanDisplayAttachmentCategory(category_name))
931 {
932 return false;
933 }
934
935 category_name.ToLower();
936 if (category_name.Contains("engine"))
937 {
938 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
939 {
940 return false;
941 }
942 }
943
944 return true;
945 }
946
947 override bool CanDisplayCargo()
948 {
949 if (!super.CanDisplayCargo())
950 {
951 return false;
952 }
953
954 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
955 {
956 return false;
957 }
958
959 return true;
960 }
961
962 override int GetCarDoorsState(string slotType)
963 {
964 CarDoor carDoor;
965
966 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
967 if (!carDoor)
968 {
969 return CarDoorState.DOORS_MISSING;
970 }
971
972 switch (slotType)
973 {
974 case "NivaDriverDoors":
975 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
976
977 case "NivaCoDriverDoors":
978 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
979
980 case "NivaHood":
981 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
982
983 case "NivaTrunk":
984 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
985 }
986
987 return CarDoorState.DOORS_MISSING;
988 }
989
990 override bool CrewCanGetThrough(int posIdx)
991 {
992 CarDoor carDoor;
993 switch (posIdx)
994 {
995 case 0:
996 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
997 return false;
998 else if (GetAnimationPhase("SeatDriver") > 0.5)
999 return false;
1000
1001 return true;
1002
1003 case 1:
1004 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1005 return false;
1006 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1007 return false;
1008
1009 return true;
1010
1011 case 2:
1012 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1013 return false;
1014 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1015 return false;
1016
1017 return true;
1018
1019 case 3:
1020 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1021 return false;
1022 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1023 return false;
1024
1025 return true;
1026 }
1027
1028 return false;
1029 }
1030
1031 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1032 {
1033 switch (posIdx)
1034 {
1035 case 0:
1036 case 2:
1037 return "doors_driver";
1038 case 1:
1039 case 3:
1040 return "doors_codriver";
1041 }
1042
1043 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1044 }
1045
1046 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1047 {
1048 switch (posIdx)
1049 {
1050 case 0:
1051 case 2:
1052 return "NivaDriverDoors";
1053 case 1:
1054 case 3:
1055 return "NivaCoDriverDoors";
1056 }
1057
1058 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1059 }
1060
1061 // 0 full ambient and engine sound
1062 // 1 zero ambient and engine sound
1063 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1064 {
1065 float tempCap = 0.0;
1066
1067 switch (ctrl)
1068 {
1069 case CarSoundCtrl.DOORS:
1070 float newValue = 0;
1071 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1072 {
1073 newValue += 0.5;
1074 }
1075
1076 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1077 {
1078 newValue += 0.5;
1079 }
1080
1081 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1082 {
1083 newValue += 0.3;
1084 }
1085
1086 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1087 {
1088 newValue -= 0.6;
1089 }
1090
1091 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1092 {
1093 newValue -= 0.2;
1094 }
1095
1096 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1097 {
1098 newValue -= 0.2;
1099 }
1100
1101 return Math.Clamp(newValue, 0, 1);
1102 break;
1103 }
1104
1105 return super.OnSound(ctrl, oldValue);
1106 }
1107
1108 override string GetAnimSourceFromSelection( string selection )
1109 {
1110 switch (selection)
1111 {
1112 case "doors_driver":
1113 return "DoorsDriver";
1114 case "doors_codriver":
1115 return "DoorsCoDriver";
1116 case "doors_hood":
1117 return "DoorsHood";
1118 case "doors_trunk":
1119 return "DoorsTrunk";
1120 case "seatback_driver":
1121 return "SeatDriver";
1122 case "seatback_codriver":
1123 return "SeatCoDriver";
1124 }
1125
1126 return "";
1127 }
1128
1129 override string GetDoorConditionPointFromSelection(string selection)
1130 {
1131 switch (selection)
1132 {
1133 case "seat_driver":
1134 case "seatback_driver":
1135 case "seat_cargo1":
1136 return "seat_con_1_1";
1137 case "seat_codriver":
1138 case "seatback_codriver":
1139 case "seat_cargo2":
1140 return "seat_con_2_1";
1141 }
1142
1143 return "";
1144 }
1145
1146 override int GetCrewIndex(string selection)
1147 {
1148 switch (selection)
1149 {
1150 case "seatback_driver":
1151 return 0;
1152 case "seatback_codriver":
1153 return 1;
1154 }
1155
1156 return -1;
1157 }
1158
1159 override bool IsVitalTruckBattery()
1160 {
1161 return false;
1162 }
1163
1164 override bool IsVitalGlowPlug()
1165 {
1166 return false;
1167 }
1168
1169 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1170 {
1171 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1172 return false;
1173
1174 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1175 return false;
1176
1177 switch (currentSeat)
1178 {
1179 case 0:
1180 return nextSeat == 1;
1181
1182 case 1:
1183 return nextSeat == 0;
1184
1185 case 2:
1186 return nextSeat == 3;
1187
1188 case 3:
1189 return nextSeat == 2;
1190 }
1191
1192 return false;
1193 }
1194
1195 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1196 {
1197 switch (pCurrentSeat)
1198 {
1199 case 0:
1200 return pDoorsSelection == "DoorsDriver";
1201
1202 case 1:
1203 return pDoorsSelection == "DoorsCoDriver";
1204
1205 case 2:
1206 return pDoorsSelection == "DoorsDriver";
1207
1208 case 3:
1209 return pDoorsSelection == "DoorsCoDriver";
1210 }
1211
1212 return false;
1213 }
1214
1215 override int GetSeatIndexFromDoor( string pDoorSelection )
1216 {
1217 switch (pDoorSelection)
1218 {
1219 case "DoorsDriver":
1220 return 0;
1221 case "DoorsCoDriver":
1222 return 1;
1223 }
1224
1225 return -1;
1226 }
1227
1228 override void SetActions()
1229 {
1230 super.SetActions();
1231
1233 }
1234
1235 override void OnDebugSpawn()
1236 {
1240
1241 GetInventory().CreateInInventory("HatchbackWheel");
1242 GetInventory().CreateInInventory("HatchbackWheel");
1243 GetInventory().CreateInInventory("HatchbackWheel" );
1244 GetInventory().CreateInInventory("HatchbackWheel");
1245
1246 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1247 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1248 GetInventory().CreateInInventory("HatchbackHood");
1249 GetInventory().CreateInInventory("HatchbackTrunk");
1250
1251 //-----IN CAR CARGO
1252 GetInventory().CreateInInventory("HatchbackWheel");
1253 GetInventory().CreateInInventory("HatchbackWheel");
1254 }
1255}
1256
1257class OffroadHatchback_White extends OffroadHatchback
1258{
1259 override void OnDebugSpawn()
1260 {
1264
1265 GetInventory().CreateInInventory("HatchbackWheel");
1266 GetInventory().CreateInInventory("HatchbackWheel");
1267 GetInventory().CreateInInventory("HatchbackWheel");
1268 GetInventory().CreateInInventory("HatchbackWheel");
1269
1270 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1271 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1272 GetInventory().CreateInInventory("HatchbackHood_White");
1273 GetInventory().CreateInInventory("HatchbackTrunk_White");
1274
1275 //-----IN CAR CARGO
1276 GetInventory().CreateInInventory("HatchbackWheel");
1277 GetInventory().CreateInInventory("HatchbackWheel");
1278 }
1279}
1280
1281class OffroadHatchback_Blue extends OffroadHatchback
1282{
1283 override void OnDebugSpawn()
1284 {
1288
1289 GetInventory().CreateInInventory("HatchbackWheel");
1290 GetInventory().CreateInInventory("HatchbackWheel");
1291 GetInventory().CreateInInventory("HatchbackWheel");
1292 GetInventory().CreateInInventory("HatchbackWheel");
1293
1294 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1295 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1296 GetInventory().CreateInInventory("HatchbackHood_Blue");
1297 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1298
1299 //-----IN CAR CARGO
1300 GetInventory().CreateInInventory("HatchbackWheel");
1301 GetInventory().CreateInInventory("HatchbackWheel");
1302 }
1303}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
string m_CarSeatShiftInSound
Определения CarScript.c:215
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_CarSeatShiftOutSound
Определения CarScript.c:216
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:909
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:850
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:789
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:556
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:810
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:744
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:727
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:535
override void OnEngineStop()
Определения OffroadHatchback.c:525
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:551
override void EEInit()
Определения OffroadHatchback.c:497
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:585
override bool CanDisplayCargo()
Определения OffroadHatchback.c:628
override void OnEngineStart()
Определения OffroadHatchback.c:515
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:580
override int GetAnimInstance()
Определения OffroadHatchback.c:546
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:671
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:876
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:604
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:845
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:575
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:471
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:896
void OffroadHatchback()
Определения OffroadHatchback.c:476
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:840
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:712
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:643
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:827
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:609
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:495
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.