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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

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