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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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