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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

785{
789
790 void Sedan_02()
791 {
792 m_dmgContactCoef = 0.0790;
793
794 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
795 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
796 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
797 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
798 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
799 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
800
801 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
802 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
803
804 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
805 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
806
807 SetEnginePos("0 0.7 -1.7");
808 }
809
810 void ~Sedan_02()
811 {
812 m_UTSource = null;
813 m_UTSSettings = null;
814 m_UTSLEngine = null;
815 }
816
817 override void EEInit()
818 {
819 super.EEInit();
820
821 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
822 {
824 m_UTSSettings.m_ManualUpdate = true;
826 m_UTSSettings.m_TemperatureCap = 0;
827 m_UTSSettings.m_RangeFull = 0.5;
828 m_UTSSettings.m_RangeMax = 2;
829
832 }
833 }
834
835 override void OnEngineStart()
836 {
837 super.OnEngineStart();
838
839 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
840 {
841 if (m_UTSource)
842 m_UTSource.SetDefferedActive(true, 20.0);
843 }
844 }
845
846 override void OnEngineStop()
847 {
848 super.OnEngineStop();
849
850 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
851 {
852 if (m_UTSource)
853 m_UTSource.SetDefferedActive(false, 10.0);
854 }
855 }
856
857 override void EOnPostSimulate(IEntity other, float timeSlice)
858 {
859 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
860 {
861 if (m_UTSource && m_UTSource.IsActive())
862 {
864 }
865 }
866 }
867
868 override int GetAnimInstance()
869 {
870 return VehicleAnimInstances.S120;
871 }
872
873 override int GetSeatAnimationType(int posIdx)
874 {
875 switch (posIdx)
876 {
877 case 0:
878 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
879 case 1:
880 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
881 case 2:
882 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
883 case 3:
884 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
885 }
886
887 return 0;
888 }
889
890 // Override for car-specific light type
892 {
893 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
894 }
895
896 // Override for car-specific light type
898 {
899 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
900 }
901
902 override bool CanReleaseAttachment( EntityAI attachment )
903 {
904 if (!super.CanReleaseAttachment(attachment))
905 {
906 return false;
907 }
908
909 string attType = attachment.GetType();
910 switch (attType)
911 {
912 case "CarBattery":
913 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
914 {
915 return false;
916 }
917 break;
918
919 case "SparkPlug":
920 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
921 {
922 return false;
923 }
924 break;
925
926 case "CarRadiator":
927 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
928 {
929 return false;
930 }
931 break;
932 }
933
934 return true;
935 }
936
937 override protected bool CanManipulateSpareWheel(string slotSelectionName)
938 {
939 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
940 }
941
942 override bool CanDisplayAttachmentCategory(string category_name)
943 {
944 if ( !super.CanDisplayAttachmentCategory(category_name))
945 {
946 return false;
947 }
948
949 category_name.ToLower();
950 if (category_name.Contains("engine"))
951 {
952 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
953 {
954 return false;
955 }
956 }
957
958 if (category_name.Contains("trunk"))
959 {
960 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
961 {
962 return false;
963 }
964 }
965
966 return true;
967 }
968
969 override bool CanDisplayCargo()
970 {
971 if ( !super.CanDisplayCargo() )
972 return false;
973
974 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
975 return false;
976
977 return true;
978 }
979
980 override int GetCarDoorsState(string slotType)
981 {
982 CarDoor carDoor;
983
984 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
985 if (!carDoor)
986 {
987 return CarDoorState.DOORS_MISSING;
988 }
989
990 switch (slotType)
991 {
992 case "Sedan_02_Door_1_1":
993 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
994
995 case "Sedan_02_Door_2_1":
996 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
997
998 case "Sedan_02_Door_1_2":
999 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1000
1001 case "Sedan_02_Door_2_2":
1002 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1003
1004 case "Sedan_02_Hood":
1005 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1006
1007 case "Sedan_02_Trunk":
1008 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1009 }
1010
1011 return CarDoorState.DOORS_MISSING;
1012 }
1013
1014
1015 override bool CrewCanGetThrough( int posIdx )
1016 {
1017 switch( posIdx )
1018 {
1019 case 0:
1020 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1021 return false;
1022
1023 return true;
1024 break;
1025
1026 case 1:
1027 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1028 return false;
1029
1030 return true;
1031 break;
1032
1033 case 2:
1034 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1035 return false;
1036
1037 return true;
1038 break;
1039
1040 case 3:
1041 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1042 return false;
1043
1044 return true;
1045 break;
1046 }
1047
1048 return false;
1049 }
1050
1051 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1052 {
1053 switch( posIdx )
1054 {
1055 case 0:
1056 return "doors_driver";
1057 break;
1058 case 1:
1059 return "doors_codriver";
1060 break;
1061 case 2:
1062 return "doors_cargo1";
1063 break;
1064 case 3:
1065 return "doors_cargo2";
1066 break;
1067 }
1068
1069 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1070 }
1071
1072 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1073 {
1074 switch( posIdx )
1075 {
1076 case 0:
1077 return "Sedan_02_Door_1_1";
1078 break;
1079 case 1:
1080 return "Sedan_02_Door_2_1";
1081 break;
1082 case 2:
1083 return "Sedan_02_Door_1_2";
1084 break;
1085 case 3:
1086 return "Sedan_02_Door_2_2";
1087 break;
1088 }
1089
1090 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1091 }
1092
1093 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1094 {
1095 switch ( ctrl )
1096 {
1097 case CarSoundCtrl.DOORS:
1098 float newValue = 0;
1099 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1100 {
1101 newValue += 0.25;
1102 }
1103
1104 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1105 {
1106 newValue += 0.25;
1107 }
1108
1109 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1110 {
1111 newValue += 0.25;
1112 }
1113
1114 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1115 {
1116 newValue += 0.25;
1117 }
1118
1119 return Math.Clamp(newValue, 0, 1);
1120 break;
1121 }
1122
1123 return super.OnSound(ctrl, oldValue);
1124 }
1125
1126 override string GetAnimSourceFromSelection( string selection )
1127 {
1128 switch( selection )
1129 {
1130 case "doors_driver":
1131 return "DoorsDriver";
1132 case "doors_codriver":
1133 return "DoorsCoDriver";
1134 case "doors_cargo1":
1135 return "DoorsCargo1";
1136 case "doors_cargo2":
1137 return "DoorsCargo2";
1138 case "doors_hood":
1139 return "DoorsHood";
1140 case "doors_trunk":
1141 return "DoorsTrunk";
1142 }
1143
1144 return "";
1145 }
1146
1147
1148 override bool IsVitalTruckBattery()
1149 {
1150 return false;
1151 }
1152
1153 override bool IsVitalGlowPlug()
1154 {
1155 return false;
1156 }
1157
1158 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1159 {
1160 switch (currentSeat)
1161 {
1162 case 0:
1163 return nextSeat == 1;
1164
1165 case 1:
1166 return nextSeat == 0;
1167
1168 case 2:
1169 return nextSeat == 3;
1170
1171 case 3:
1172 return nextSeat == 2;
1173 }
1174
1175 return false;
1176 }
1177
1178 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1179 {
1180 switch (pCurrentSeat)
1181 {
1182 case 0:
1183 return pDoorsSelection == "DoorsDriver";
1184
1185 case 1:
1186 return pDoorsSelection == "DoorsCoDriver";
1187
1188 case 2:
1189 return pDoorsSelection == "DoorsCargo1";
1190
1191 case 3:
1192 return pDoorsSelection == "DoorsCargo2";
1193 }
1194
1195 return false;
1196 }
1197
1198 override void OnDebugSpawn()
1199 {
1200 SpawnUniversalParts();
1201 SpawnAdditionalItems();
1202 FillUpCarFluids();
1203
1204 GameInventory inventory = GetInventory();
1205 inventory.CreateInInventory("Sedan_02_Wheel");
1206 inventory.CreateInInventory("Sedan_02_Wheel");
1207 inventory.CreateInInventory("Sedan_02_Wheel");
1208 inventory.CreateInInventory("Sedan_02_Wheel");
1209 inventory.CreateInInventory("Sedan_02_Wheel");
1210
1211 inventory.CreateInInventory("Sedan_02_Door_1_1");
1212 inventory.CreateInInventory("Sedan_02_Door_1_2");
1213 inventory.CreateInInventory("Sedan_02_Door_2_1");
1214 inventory.CreateInInventory("Sedan_02_Door_2_2");
1215 inventory.CreateInInventory("Sedan_02_Hood");
1216 inventory.CreateInInventory("Sedan_02_Trunk");
1217
1218 //-----IN CAR CARGO
1219 inventory.CreateInInventory("Sedan_02_Wheel");
1220 inventory.CreateInInventory("Sedan_02_Wheel");
1221 }
1222}
1223
1224class Sedan_02_Red extends Sedan_02
1225{
1226 override void OnDebugSpawn()
1227 {
1228 SpawnUniversalParts();
1229 SpawnAdditionalItems();
1230 FillUpCarFluids();
1231
1232 GameInventory inventory = GetInventory();
1233 inventory.CreateInInventory("Sedan_02_Wheel");
1234 inventory.CreateInInventory("Sedan_02_Wheel");
1235 inventory.CreateInInventory("Sedan_02_Wheel");
1236 inventory.CreateInInventory("Sedan_02_Wheel");
1237
1238 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1239 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1240 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1241 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1242 inventory.CreateInInventory("Sedan_02_Hood_Red");
1243 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1244
1245 //-----IN CAR CARGO
1246 inventory.CreateInInventory("Sedan_02_Wheel");
1247 inventory.CreateInInventory("Sedan_02_Wheel");
1248 }
1249}
1250
1251class Sedan_02_Grey extends Sedan_02
1252{
1253 override void OnDebugSpawn()
1254 {
1255 SpawnUniversalParts();
1256 SpawnAdditionalItems();
1257 FillUpCarFluids();
1258
1259 GameInventory inventory = GetInventory();
1260 inventory.CreateInInventory("Sedan_02_Wheel");
1261 inventory.CreateInInventory("Sedan_02_Wheel");
1262 inventory.CreateInInventory("Sedan_02_Wheel");
1263 inventory.CreateInInventory("Sedan_02_Wheel");
1264
1265 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1266 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1267 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1268 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1269 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1270 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1271
1272 //-----IN CAR CARGO
1273 inventory.CreateInInventory("Sedan_02_Wheel");
1274 inventory.CreateInInventory("Sedan_02_Wheel");
1275 }
1276}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:816
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:443
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:784
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:531
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:751
void ~Sedan_02()
Определения Sedan_02.c:468
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:730
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:515
override void OnEngineStop()
Определения Sedan_02.c:504
override void EEInit()
Определения Sedan_02.c:475
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:560
override bool CanDisplayCargo()
Определения Sedan_02.c:627
override void OnEngineStart()
Определения Sedan_02.c:493
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:549
override int GetAnimInstance()
Определения Sedan_02.c:526
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:836
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:595
override bool IsVitalGlowPlug()
Определения Sedan_02.c:811
void Sedan_02()
Определения Sedan_02.c:448
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:555
override bool IsVitalTruckBattery()
Определения Sedan_02.c:806
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:638
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:600
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.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()
Определения Sedan_02.c:470
Определения Sedan_02.c:469
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
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:811
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.