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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

См. определение в файле Vehicles/InheritedCars/Offroad_02.c строка 811

811 : CarScript
812{
816
817 void Offroad_02()
818 {
819 //m_dmgContactCoef = 0.0365;
820
821 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
822 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
823 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
824 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
825 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
826 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
827
828 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
829 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
830
831 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
832 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
833
834 m_LightsComponent.RegisterSelection("BrakesOn", {
835 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
836 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
837 });
838 m_LightsComponent.RegisterSelection("BrakesOff", {
839 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
840 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
841 });
842
843 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
844 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
845
846 SetEnginePos("0 0.7 1.7");
847
849 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
850 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
851 }
852
853 void ~Offroad_02()
854 {
855 m_UTSource = null;
856 m_UTSSettings = null;
857 m_UTSLEngine = null;
858 }
859
860 override void EEInit()
861 {
862 super.EEInit();
863
864 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
865 {
867 m_UTSSettings.m_ManualUpdate = true;
869 m_UTSSettings.m_TemperatureCap = 0;
870 m_UTSSettings.m_RangeFull = 0.5;
871 m_UTSSettings.m_RangeMax = 2;
872
875 }
876 }
877
878 override bool HasGangedTailAndBrakeLights()
879 {
880 return true;
881 }
882
883 override bool NeedElectricitySourceDevice()
884 {
885 return true;
886 }
887
889 {
890 super.GetElectricitySourceDevice();
891
892 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
893 }
894
895 override string GetElectricitySourceDeviceType()
896 {
897 return "CarBattery";
898 }
899
900 override void OnEngineStart()
901 {
902 super.OnEngineStart();
903
904 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
905 {
906 if (m_UTSource)
907 m_UTSource.SetDefferedActive(true, 20.0);
908 }
909 }
910
911 override void OnEngineStop()
912 {
913 super.OnEngineStop();
914
915 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
916 {
917 if (m_UTSource)
918 m_UTSource.SetDefferedActive(false, 10.0);
919 }
920 }
921
922 override void EOnPostSimulate(IEntity other, float timeSlice)
923 {
924 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
925 {
926 if (m_UTSource && m_UTSource.IsActive())
927 {
929 }
930 }
931 }
932
933 override int GetAnimInstance()
934 {
935 return VehicleAnimInstances.HMMWV;
936 }
937
938 override float GetTransportCameraDistance()
939 {
940 return 5.1;
941 }
942
943 override float GetWeightCoef()
944 {
945 return 1.5;
946 }
947
948 override int GetSeatAnimationType(int posIdx)
949 {
950 switch (posIdx)
951 {
952 case 0:
953 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
954 case 1:
955 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
956 case 2:
957 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
958 case 3:
959 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
960 }
961
962 return 0;
963 }
964
965 override bool CanReleaseAttachment( EntityAI attachment )
966 {
967 if (!super.CanReleaseAttachment(attachment))
968 {
969 return false;
970 }
971
972 string attType = attachment.GetType();
973 switch (attType)
974 {
975 case "CarBattery":
976 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
977 {
978 return false;
979 }
980 break;
981
982 case "GlowPlug":
983 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
984 {
985 return false;
986 }
987 break;
988 }
989
990 return true;
991 }
992
993 override protected bool CanManipulateSpareWheel(string slotSelectionName)
994 {
995 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
996 }
997
998 override bool CanDisplayAttachmentCategory(string category_name)
999 {
1000 if ( !super.CanDisplayAttachmentCategory(category_name))
1001 {
1002 return false;
1003 }
1004
1005 category_name.ToLower();
1006 if (category_name.Contains("engine"))
1007 {
1008 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
1009 {
1010 return false;
1011 }
1012 }
1013
1014 return true;
1015 }
1016
1017 override bool CanDisplayCargo()
1018 {
1019 if ( !super.CanDisplayCargo() )
1020 return false;
1021
1022 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
1023 return false;
1024
1025 return true;
1026 }
1027
1028 override int GetCarDoorsState(string slotType)
1029 {
1030 CarDoor carDoor;
1031
1032 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1033 if (!carDoor)
1034 {
1035 return CarDoorState.DOORS_MISSING;
1036 }
1037
1038 switch (slotType)
1039 {
1040 case "Offroad_02_Door_1_1":
1041 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1042
1043 case "Offroad_02_Door_2_1":
1044 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1045
1046 case "Offroad_02_Door_1_2":
1047 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1048
1049 case "Offroad_02_Door_2_2":
1050 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1051
1052 case "Offroad_02_Hood":
1053 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1054
1055 case "Offroad_02_Trunk":
1056 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1057 }
1058
1059 return CarDoorState.DOORS_MISSING;
1060 }
1061
1062
1063 override bool CrewCanGetThrough( int posIdx )
1064 {
1065 switch( posIdx )
1066 {
1067 case 0:
1068 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1069 return false;
1070
1071 return true;
1072 break;
1073
1074 case 1:
1075 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1076 return false;
1077
1078 return true;
1079 break;
1080
1081 case 2:
1082 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1083 return false;
1084
1085 return true;
1086 break;
1087
1088 case 3:
1089 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1090 return false;
1091
1092 return true;
1093 break;
1094 }
1095
1096 return false;
1097 }
1098
1099 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1100 {
1101 switch( posIdx )
1102 {
1103 case 0:
1104 return "doors_driver";
1105 break;
1106 case 1:
1107 return "doors_codriver";
1108 break;
1109 case 2:
1110 return "doors_cargo1";
1111 break;
1112 case 3:
1113 return "doors_cargo2";
1114 break;
1115 }
1116
1117 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1118 }
1119
1120 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1121 {
1122 switch (posIdx)
1123 {
1124 case 0:
1125 return "Offroad_02_Door_1_1";
1126 case 1:
1127 return "Offroad_02_Door_2_1";
1128 case 2:
1129 return "Offroad_02_Door_1_2";
1130 case 3:
1131 return "Offroad_02_Door_2_2";
1132 }
1133
1134 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1135 }
1136
1137 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1138 {
1139 switch ( ctrl )
1140 {
1141 case CarSoundCtrl.DOORS:
1142 float newValue = 0;
1143 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1144 {
1145 newValue += 0.25;
1146 }
1147
1148 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1149 {
1150 newValue += 0.25;
1151 }
1152
1153 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1154 {
1155 newValue += 0.25;
1156 }
1157
1158 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1159 {
1160 newValue += 0.25;
1161 }
1162
1163 return Math.Clamp(newValue, 0, 1);
1164 break;
1165 }
1166
1167 return super.OnSound(ctrl, oldValue);
1168 }
1169
1170 override string GetAnimSourceFromSelection(string selection)
1171 {
1172 switch (selection)
1173 {
1174 case "doors_driver":
1175 return "DoorsDriver";
1176 case "doors_codriver":
1177 return "DoorsCoDriver";
1178 case "doors_cargo1":
1179 return "DoorsCargo1";
1180 case "doors_cargo2":
1181 return "DoorsCargo2";
1182 case "doors_hood":
1183 return "DoorsHood";
1184 case "doors_trunk":
1185 return "DoorsTrunk";
1186 }
1187
1188 return "";
1189 }
1190
1191 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1192 {
1193 switch (currentSeat)
1194 {
1195 case 0:
1196 return nextSeat == 1;
1197 case 1:
1198 return nextSeat == 0;
1199 case 2:
1200 return nextSeat == 3;
1201 case 3:
1202 return nextSeat == 2;
1203 }
1204
1205 return false;
1206 }
1207
1208 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1209 {
1210 switch (pCurrentSeat)
1211 {
1212 case 0:
1213 return pDoorsSelection == "DoorsDriver";
1214 case 1:
1215 return pDoorsSelection == "DoorsCoDriver";
1216 case 2:
1217 return pDoorsSelection == "DoorsCargo1";
1218 case 3:
1219 return pDoorsSelection == "DoorsCargo2";
1220 }
1221
1222 return false;
1223 }
1224
1225 override bool IsVitalSparkPlug()
1226 {
1227 return false;
1228 }
1229
1230 override bool IsVitalRadiator()
1231 {
1232 return false;
1233 }
1234
1235 override void OnDebugSpawn()
1236 {
1238 SpawnAdditionalItems();
1239 FillUpCarFluids();
1240
1241 GameInventory inventory = GetInventory();
1242 inventory.CreateInInventory("Offroad_02_Wheel");
1243 inventory.CreateInInventory("Offroad_02_Wheel");
1244 inventory.CreateInInventory("Offroad_02_Wheel");
1245 inventory.CreateInInventory("Offroad_02_Wheel");
1246
1247 inventory.CreateInInventory("Offroad_02_Door_1_1");
1248 inventory.CreateInInventory("Offroad_02_Door_1_2");
1249 inventory.CreateInInventory("Offroad_02_Door_2_1");
1250 inventory.CreateInInventory("Offroad_02_Door_2_2");
1251 inventory.CreateInInventory("Offroad_02_Hood");
1252 inventory.CreateInInventory("Offroad_02_Trunk");
1253
1254 //-----IN CAR CARGO
1255 inventory.CreateInInventory("Offroad_02_Wheel");
1256 inventory.CreateInInventory("Offroad_02_Wheel");
1257 }
1258}
1259
1260
1261class Offroad_02_Beige : Offroad_02
1262{
1263 override void OnDebugSpawn()
1264 {
1266 SpawnAdditionalItems();
1267 FillUpCarFluids();
1268
1269 GetInventory().CreateInInventory("Offroad_02_Wheel");
1270 GetInventory().CreateInInventory("Offroad_02_Wheel");
1271 GetInventory().CreateInInventory("Offroad_02_Wheel");
1272 GetInventory().CreateInInventory("Offroad_02_Wheel");
1273
1274 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1275 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1276 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1277 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1278 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1279 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1280
1281 //-----IN CAR CARGO
1282 GetInventory().CreateInInventory("Offroad_02_Wheel");
1283 GetInventory().CreateInInventory("Offroad_02_Wheel");
1284 }
1285}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
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.