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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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