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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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