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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

697 : CarScript
698{
702
703 void Hatchback_02()
704 {
705 //m_dmgContactCoef = 0.070;
706
707 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
708 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
709 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
710 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
711 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
712 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
713
714 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
715 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
716
717 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
718 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
719
720 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
721 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
722
723 SetEnginePos("0 0.7 1.4");
724
726 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
727 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
728 }
729
730 void ~Hatchback_02()
731 {
732 m_UTSource = null;
733 m_UTSSettings = null;
734 m_UTSLEngine = null;
735 }
736
737 override void EEInit()
738 {
739 super.EEInit();
740
741 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
742 {
744 m_UTSSettings.m_ManualUpdate = true;
746 m_UTSSettings.m_TemperatureCap = 0;
747 m_UTSSettings.m_RangeFull = 0.5;
748 m_UTSSettings.m_RangeMax = 2;
749
752 }
753 }
754
755 override bool NeedElectricitySourceDevice()
756 {
757 return true;
758 }
759
761 {
762 super.GetElectricitySourceDevice();
763
764 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
765 }
766
767 override string GetElectricitySourceDeviceType()
768 {
769 return "CarBattery";
770 }
771
772 override void OnEngineStart()
773 {
774 super.OnEngineStart();
775
776 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
777 {
778 if (m_UTSource)
779 m_UTSource.SetDefferedActive(true, 20.0);
780 }
781 }
782
783 override void OnEngineStop()
784 {
785 super.OnEngineStop();
786
787 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
788 {
789 if (m_UTSource)
790 m_UTSource.SetDefferedActive(false, 10.0);
791 }
792 }
793
794 override void EOnPostSimulate(IEntity other, float timeSlice)
795 {
796 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
797 {
798 if (m_UTSource && m_UTSource.IsActive())
799 {
801 }
802 }
803 }
804
805 override int GetAnimInstance()
806 {
807 return VehicleAnimInstances.GOLF;
808 }
809
810 override int GetSeatAnimationType(int posIdx)
811 {
812 switch (posIdx)
813 {
814 case 0:
815 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
816 case 1:
817 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
818 case 2:
819 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
820 case 3:
821 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
822 }
823
824 return 0;
825 }
826
827 override bool CanReleaseAttachment(EntityAI attachment)
828 {
829 if (!super.CanReleaseAttachment(attachment))
830 {
831 return false;
832 }
833
834 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
835 {
836 string attType = attachment.GetType();
837 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
838 {
839 return false;
840 }
841 }
842
843 return true;
844 }
845
846 override protected bool CanManipulateSpareWheel(string slotSelectionName)
847 {
848 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
849 }
850
851 override bool CanDisplayAttachmentCategory( string category_name )
852 {
853 //super
854 if ( !super.CanDisplayAttachmentCategory( category_name ) )
855 return false;
856 //
857
858 category_name.ToLower();
859 if ( category_name.Contains("engine") )
860 {
861 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
862 return false;
863 }
864
865 return true;
866 }
867
868 override bool CanDisplayCargo()
869 {
870 if ( !super.CanDisplayCargo() )
871 return false;
872
873 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
874 return false;
875
876 return true;
877 }
878
879 override int GetCarDoorsState(string slotType)
880 {
881 CarDoor carDoor;
882
883 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
884 if (!carDoor)
885 {
886 return CarDoorState.DOORS_MISSING;
887 }
888
889 switch (slotType)
890 {
891 case "Hatchback_02_Door_1_1":
892 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
893
894 case "Hatchback_02_Door_2_1":
895 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
896
897 case "Hatchback_02_Door_1_2":
898 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
899
900 case "Hatchback_02_Door_2_2":
901 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
902
903 case "Hatchback_02_Hood":
904 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
905
906 case "Hatchback_02_Trunk":
907 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
908 }
909
910 return CarDoorState.DOORS_MISSING;
911 }
912
913
914 override bool CrewCanGetThrough(int posIdx)
915 {
916 switch (posIdx)
917 {
918 case 0:
919 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
920 {
921 return false;
922 }
923
924 return true;
925
926 case 1:
927 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
928 {
929 return false;
930 }
931
932 return true;
933
934 case 2:
935 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
936 {
937 return false;
938 }
939
940 return true;
941
942 case 3:
943 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
944 {
945 return false;
946 }
947
948 return true;
949 }
950
951 return false;
952 }
953
954 override string GetDoorSelectionNameFromSeatPos(int posIdx)
955 {
956 switch( posIdx )
957 {
958 case 0:
959 return "doors_driver";
960 break;
961 case 1:
962 return "doors_codriver";
963 break;
964 case 2:
965 return "doors_cargo1";
966 break;
967 case 3:
968 return "doors_cargo2";
969 break;
970 }
971
972 return super.GetDoorSelectionNameFromSeatPos(posIdx);
973 }
974
975 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
976 {
977 switch( posIdx )
978 {
979 case 0:
980 return "Hatchback_02_Door_1_1";
981 break;
982 case 1:
983 return "Hatchback_02_Door_2_1";
984 break;
985 case 2:
986 return "Hatchback_02_Door_1_2";
987 break;
988 case 3:
989 return "Hatchback_02_Door_2_2";
990 break;
991 }
992
993 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
994 }
995
996 override float OnSound(CarSoundCtrl ctrl, float oldValue)
997 {
998 switch (ctrl)
999 {
1000 case CarSoundCtrl.DOORS:
1001 float newValue = 0;
1002 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1003 {
1004 newValue += 0.25;
1005 }
1006
1007 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1008 {
1009 newValue += 0.25;
1010 }
1011
1012 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1013 {
1014 newValue += 0.25;
1015 }
1016
1017 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1018 {
1019 newValue += 0.25;
1020 }
1021
1022 return Math.Clamp(newValue, 0, 1);
1023 break;
1024 }
1025
1026 return super.OnSound(ctrl, oldValue);
1027 }
1028
1029 override string GetAnimSourceFromSelection( string selection )
1030 {
1031 switch( selection )
1032 {
1033 case "doors_driver":
1034 return "DoorsDriver";
1035 case "doors_codriver":
1036 return "DoorsCoDriver";
1037 case "doors_cargo1":
1038 return "DoorsCargo1";
1039 case "doors_cargo2":
1040 return "DoorsCargo2";
1041 case "doors_hood":
1042 return "DoorsHood";
1043 case "doors_trunk":
1044 return "DoorsTrunk";
1045 }
1046
1047 return "";
1048 }
1049
1050 override bool IsVitalGlowPlug()
1051 {
1052 return false;
1053 }
1054
1055 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1056 {
1057 switch (currentSeat)
1058 {
1059 case 0:
1060 return nextSeat == 1;
1061 case 1:
1062 return nextSeat == 0;
1063 case 2:
1064 return nextSeat == 3;
1065 case 3:
1066 return nextSeat == 2;
1067 }
1068
1069 return false;
1070 }
1071
1072 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1073 {
1074 switch (pCurrentSeat)
1075 {
1076 case 0:
1077 return pDoorsSelection == "DoorsDriver";
1078 case 1:
1079 return pDoorsSelection == "DoorsCoDriver";
1080 case 2:
1081 return pDoorsSelection == "DoorsCargo1";
1082 case 3:
1083 return pDoorsSelection == "DoorsCargo2";
1084 }
1085
1086 return false;
1087 }
1088
1089 override void OnDebugSpawn()
1090 {
1092 SpawnAdditionalItems();
1093 FillUpCarFluids();
1094
1095 GameInventory inventory = GetInventory();
1096 inventory.CreateInInventory("Hatchback_02_Wheel");
1097 inventory.CreateInInventory("Hatchback_02_Wheel");
1098 inventory.CreateInInventory("Hatchback_02_Wheel");
1099 inventory.CreateInInventory("Hatchback_02_Wheel");
1100
1101 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1102 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1103 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1104 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1105 inventory.CreateInInventory("Hatchback_02_Hood");
1106 inventory.CreateInInventory("Hatchback_02_Trunk");
1107
1108 //-----IN CAR CARGO
1109 inventory.CreateInInventory("Hatchback_02_Wheel");
1110 inventory.CreateInInventory("Hatchback_02_Wheel");
1111 }
1112}
1113
1114class Hatchback_02_Black : Hatchback_02
1115{
1116 override void OnDebugSpawn()
1117 {
1119 SpawnAdditionalItems();
1120 FillUpCarFluids();
1121
1122 GameInventory inventory = GetInventory();
1123 inventory.CreateInInventory("Hatchback_02_Wheel");
1124 inventory.CreateInInventory("Hatchback_02_Wheel");
1125 inventory.CreateInInventory("Hatchback_02_Wheel");
1126 inventory.CreateInInventory("Hatchback_02_Wheel");
1127
1128 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1129 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1130 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1131 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1132 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1133 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1134
1135 //-----IN CAR CARGO
1136 inventory.CreateInInventory("Hatchback_02_Wheel");
1137 inventory.CreateInInventory("Hatchback_02_Wheel");
1138 }
1139}
1140
1142{
1143 override void OnDebugSpawn()
1144 {
1146 SpawnAdditionalItems();
1147 FillUpCarFluids();
1148
1149 GameInventory inventory = GetInventory();
1150 inventory.CreateInInventory("Hatchback_02_Wheel");
1151 inventory.CreateInInventory("Hatchback_02_Wheel");
1152 inventory.CreateInInventory("Hatchback_02_Wheel");
1153 inventory.CreateInInventory("Hatchback_02_Wheel");
1154
1155 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1156 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1157 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1158 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1159 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1160 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1161
1162 //-----IN CAR CARGO
1163 inventory.CreateInInventory("Hatchback_02_Wheel");
1164 inventory.CreateInInventory("Hatchback_02_Wheel");
1165 }
1166}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
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 Hatchback_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()
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)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения 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
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.