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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

638{
642
643 void Hatchback_02()
644 {
645 //m_dmgContactCoef = 0.070;
646
647 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
648 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
649 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
650 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
651 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
652
653 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
654 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
655
656 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
657 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
658
659 SetEnginePos("0 0.7 1.4");
660 }
661
662 override void EEInit()
663 {
664 super.EEInit();
665
666 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
667 {
669 m_UTSSettings.m_ManualUpdate = true;
671 m_UTSSettings.m_TemperatureCap = 0;
672 m_UTSSettings.m_RangeFull = 0.5;
673 m_UTSSettings.m_RangeMax = 2;
674
677 }
678 }
679
680 override void OnEngineStart()
681 {
682 super.OnEngineStart();
683
684 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
685 {
686 m_UTSource.SetDefferedActive(true, 20.0);
687 }
688 }
689
690 override void OnEngineStop()
691 {
692 super.OnEngineStop();
693
694 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
695 {
696 m_UTSource.SetDefferedActive(false, 10.0);
697 }
698 }
699
700 override void EOnPostSimulate(IEntity other, float timeSlice)
701 {
702 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
703 {
704 if (m_UTSource.IsActive())
705 {
707 }
708 }
709 }
710
711 override int GetAnimInstance()
712 {
713 return VehicleAnimInstances.GOLF;
714 }
715
716 override int GetSeatAnimationType(int posIdx)
717 {
718 switch (posIdx)
719 {
720 case 0:
721 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
722 case 1:
723 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
724 case 2:
725 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
726 case 3:
727 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
728 }
729
730 return 0;
731 }
732
733 // Override for car-specific light type
735 {
736 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
737 }
738
739 // Override for car-specific light type
741 {
742 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
743 }
744
745 override bool CanReleaseAttachment(EntityAI attachment)
746 {
747 if (!super.CanReleaseAttachment(attachment))
748 {
749 return false;
750 }
751
752 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
753 {
754 string attType = attachment.GetType();
755 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
756 {
757 return false;
758 }
759 }
760
761 return true;
762 }
763
764 override protected bool CanManipulateSpareWheel(string slotSelectionName)
765 {
766 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
767 }
768
769 override bool CanDisplayAttachmentCategory( string category_name )
770 {
771 //super
772 if ( !super.CanDisplayAttachmentCategory( category_name ) )
773 return false;
774 //
775
776 category_name.ToLower();
777 if ( category_name.Contains("engine") )
778 {
779 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
780 return false;
781 }
782
783 return true;
784 }
785
786 override bool CanDisplayCargo()
787 {
788 if ( !super.CanDisplayCargo() )
789 return false;
790
791 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
792 return false;
793
794 return true;
795 }
796
797 override int GetCarDoorsState(string slotType)
798 {
799 CarDoor carDoor;
800
801 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
802 if (!carDoor)
803 {
804 return CarDoorState.DOORS_MISSING;
805 }
806
807 switch (slotType)
808 {
809 case "Hatchback_02_Door_1_1":
810 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
811
812 case "Hatchback_02_Door_2_1":
813 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
814
815 case "Hatchback_02_Door_1_2":
816 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
817
818 case "Hatchback_02_Door_2_2":
819 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
820
821 case "Hatchback_02_Hood":
822 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
823
824 case "Hatchback_02_Trunk":
825 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
826 }
827
828 return CarDoorState.DOORS_MISSING;
829 }
830
831
832 override bool CrewCanGetThrough(int posIdx)
833 {
834 switch (posIdx)
835 {
836 case 0:
837 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
838 {
839 return false;
840 }
841
842 return true;
843
844 case 1:
845 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
846 {
847 return false;
848 }
849
850 return true;
851
852 case 2:
853 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
854 {
855 return false;
856 }
857
858 return true;
859
860 case 3:
861 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
862 {
863 return false;
864 }
865
866 return true;
867 }
868
869 return false;
870 }
871
872 override string GetDoorSelectionNameFromSeatPos(int posIdx)
873 {
874 switch( posIdx )
875 {
876 case 0:
877 return "doors_driver";
878 break;
879 case 1:
880 return "doors_codriver";
881 break;
882 case 2:
883 return "doors_cargo1";
884 break;
885 case 3:
886 return "doors_cargo2";
887 break;
888 }
889
890 return super.GetDoorSelectionNameFromSeatPos(posIdx);
891 }
892
893 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
894 {
895 switch( posIdx )
896 {
897 case 0:
898 return "Hatchback_02_Door_1_1";
899 break;
900 case 1:
901 return "Hatchback_02_Door_2_1";
902 break;
903 case 2:
904 return "Hatchback_02_Door_1_2";
905 break;
906 case 3:
907 return "Hatchback_02_Door_2_2";
908 break;
909 }
910
911 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
912 }
913
914 override float OnSound(CarSoundCtrl ctrl, float oldValue)
915 {
916 switch (ctrl)
917 {
918 case CarSoundCtrl.DOORS:
919 float newValue = 0;
920 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
921 {
922 newValue += 0.25;
923 }
924
925 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
926 {
927 newValue += 0.25;
928 }
929
930 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
931 {
932 newValue += 0.25;
933 }
934
935 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
936 {
937 newValue += 0.25;
938 }
939
940 return Math.Clamp(newValue, 0, 1);
941 break;
942 }
943
944 return super.OnSound(ctrl, oldValue);
945 }
946
947 override string GetAnimSourceFromSelection( string selection )
948 {
949 switch( selection )
950 {
951 case "doors_driver":
952 return "DoorsDriver";
953 case "doors_codriver":
954 return "DoorsCoDriver";
955 case "doors_cargo1":
956 return "DoorsCargo1";
957 case "doors_cargo2":
958 return "DoorsCargo2";
959 case "doors_hood":
960 return "DoorsHood";
961 case "doors_trunk":
962 return "DoorsTrunk";
963 }
964
965 return "";
966 }
967
968
969 override bool IsVitalTruckBattery()
970 {
971 return false;
972 }
973
974 override bool IsVitalGlowPlug()
975 {
976 return false;
977 }
978
979 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
980 {
981 switch (currentSeat)
982 {
983 case 0:
984 return nextSeat == 1;
985 case 1:
986 return nextSeat == 0;
987 case 2:
988 return nextSeat == 3;
989 case 3:
990 return nextSeat == 2;
991 }
992
993 return false;
994 }
995
996 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
997 {
998 switch (pCurrentSeat)
999 {
1000 case 0:
1001 return pDoorsSelection == "DoorsDriver";
1002 case 1:
1003 return pDoorsSelection == "DoorsCoDriver";
1004 case 2:
1005 return pDoorsSelection == "DoorsCargo1";
1006 case 3:
1007 return pDoorsSelection == "DoorsCargo2";
1008 }
1009
1010 return false;
1011 }
1012
1013 override void OnDebugSpawn()
1014 {
1018
1019 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1020 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1021 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1022 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1023
1024 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1025 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1026 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1027 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1028 GetInventory().CreateInInventory("Hatchback_02_Hood");
1029 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1030
1031 //-----IN CAR CARGO
1032 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1033 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1034 }
1035}
1036
1037class Hatchback_02_Black extends Hatchback_02
1038{
1039 override void OnDebugSpawn()
1040 {
1044
1045 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1046 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1047 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1048 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1049
1050 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1051 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1052 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1053 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1054 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1055 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1056
1057 //-----IN CAR CARGO
1058 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1059 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1060 }
1061};
1062
1063class Hatchback_02_Blue extends Hatchback_02
1064{
1065 override void OnDebugSpawn()
1066 {
1070
1071 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1072 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1073 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1074 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1075
1076 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1077 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1078 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1079 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1080 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1081 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1082
1083 //-----IN CAR CARGO
1084 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1085 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1086 }
1087}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
Определения CarScript.c:2513
CarDoorState
Определения CarScript.c:2
void SpawnAdditionalItems()
Определения CarScript.c:2839
string m_EngineStartOK
Sounds.
Определения CarScript.c:207
string m_CarDoorCloseSound
Определения CarScript.c:214
string m_EngineStartBattery
Определения CarScript.c:208
string m_EngineStartPlug
Определения CarScript.c:209
string m_EngineStartFuel
Определения CarScript.c:210
string m_CarHornShortSoundName
Определения CarScript.c:218
void FillUpCarFluids()
Определения CarScript.c:2869
string m_CarHornLongSoundName
Определения CarScript.c:219
string m_EngineStopFuel
Определения CarScript.c:211
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
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:403
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:744
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:712
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:481
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:679
void Hatchback_02()
Определения Hatchback_02.c:408
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:465
override void OnEngineStop()
Определения Hatchback_02.c:455
override void EEInit()
Определения Hatchback_02.c:427
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:510
override bool CanDisplayCargo()
Определения Hatchback_02.c:551
override void OnEngineStart()
Определения Hatchback_02.c:445
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:505
override int GetAnimInstance()
Определения Hatchback_02.c:476
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:597
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:761
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:529
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:739
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:499
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:734
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:637
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:562
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:534
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
override void OnDebugSpawn()
Определения Hatchback_02.c:429
Определения Hatchback_02.c:428
Определения 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
Определения constants.c:806
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.