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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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