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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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