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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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