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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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