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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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