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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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