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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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