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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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