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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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

Используется в map< int, float >::GetSelectionFromAnimSource().