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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

626{
630
631 void OffroadHatchback()
632 {
633 //m_dmgContactCoef = 0.075;
634
635 m_EngineStartOK = "offroad_engine_start_SoundSet";
636 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
637 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
638 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
639 m_EngineStop = "offroad_engine_stop_SoundSet";
640 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
641
642 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
643 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
644 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
645 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
646
647 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
648 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
649
650 SetEnginePos("0 0.7 1.2");
651 }
652
653 void ~OffroadHatchback()
654 {
655 m_UTSource = null;
656 m_UTSSettings = null;
657 m_UTSLEngine = null;
658 }
659
660 override void EEInit()
661 {
662 super.EEInit();
663
664 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
665 {
667 m_UTSSettings.m_ManualUpdate = true;
669 m_UTSSettings.m_TemperatureCap = 0;
670 m_UTSSettings.m_RangeFull = 0.5;
671 m_UTSSettings.m_RangeMax = 2;
672
675 }
676 }
677
678 override void OnEngineStart()
679 {
680 super.OnEngineStart();
681
682 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
683 {
684 if (m_UTSource)
685 m_UTSource.SetDefferedActive(true, 20.0);
686 }
687 }
688
689 override void OnEngineStop()
690 {
691 super.OnEngineStop();
692
693 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
694 {
695 if (m_UTSource)
696 m_UTSource.SetDefferedActive(false, 10.0);
697 }
698 }
699
700 override void EOnPostSimulate(IEntity other, float timeSlice)
701 {
702 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
703 {
704 if (m_UTSource && m_UTSource.IsActive())
705 {
707 }
708 }
709 }
710
711 override int GetAnimInstance()
712 {
713 return VehicleAnimInstances.HATCHBACK;
714 }
715
716 override float GetTransportCameraDistance()
717 {
718 return 3.5;
719 }
720
721 override int GetSeatAnimationType( int posIdx )
722 {
723 switch (posIdx)
724 {
725 case 0:
726 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
727 case 1:
728 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
729 case 2:
730 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
731 case 3:
732 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
733 }
734
735 return 0;
736
737 }
738
739
741 {
742 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
743 }
744
746 {
747 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
748 }
749
750 override bool CanReleaseAttachment(EntityAI attachment)
751 {
752 if (!super.CanReleaseAttachment(attachment))
753 {
754 return false;
755 }
756
757 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
758 {
759 string attType = attachment.GetType();
760 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
761 {
762 return false;
763 }
764 }
765
766 return true;
767 }
768
769 override protected bool CanManipulateSpareWheel(string slotSelectionName)
770 {
771 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
772 }
773
774 override bool CanDisplayAttachmentCategory( string category_name )
775 {
776 if (!super.CanDisplayAttachmentCategory(category_name))
777 {
778 return false;
779 }
780
781 category_name.ToLower();
782 if (category_name.Contains("engine"))
783 {
784 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
785 {
786 return false;
787 }
788 }
789
790 return true;
791 }
792
793 override bool CanDisplayCargo()
794 {
795 if (!super.CanDisplayCargo())
796 {
797 return false;
798 }
799
800 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
801 {
802 return false;
803 }
804
805 return true;
806 }
807
808 override int GetCarDoorsState(string slotType)
809 {
810 CarDoor carDoor;
811
812 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
813 if (!carDoor)
814 {
815 return CarDoorState.DOORS_MISSING;
816 }
817
818 switch (slotType)
819 {
820 case "NivaDriverDoors":
821 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
822
823 case "NivaCoDriverDoors":
824 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
825
826 case "NivaHood":
827 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
828
829 case "NivaTrunk":
830 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
831 }
832
833 return CarDoorState.DOORS_MISSING;
834 }
835
836 override bool CrewCanGetThrough(int posIdx)
837 {
838 CarDoor carDoor;
839 switch (posIdx)
840 {
841 case 0:
842 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
843 return false;
844 else if (GetAnimationPhase("SeatDriver") > 0.5)
845 return false;
846
847 return true;
848
849 case 1:
850 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
851 return false;
852 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
853 return false;
854
855 return true;
856
857 case 2:
858 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
859 return false;
860 else if (GetAnimationPhase("SeatDriver") <= 0.5)
861 return false;
862
863 return true;
864
865 case 3:
866 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
867 return false;
868 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
869 return false;
870
871 return true;
872 }
873
874 return false;
875 }
876
877 override string GetDoorSelectionNameFromSeatPos(int posIdx)
878 {
879 switch (posIdx)
880 {
881 case 0:
882 case 2:
883 return "doors_driver";
884 case 1:
885 case 3:
886 return "doors_codriver";
887 }
888
889 return super.GetDoorSelectionNameFromSeatPos(posIdx);
890 }
891
892 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
893 {
894 switch (posIdx)
895 {
896 case 0:
897 case 2:
898 return "NivaDriverDoors";
899 case 1:
900 case 3:
901 return "NivaCoDriverDoors";
902 }
903
904 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
905 }
906
907 // 0 full ambient and engine sound
908 // 1 zero ambient and engine sound
909 override float OnSound(CarSoundCtrl ctrl, float oldValue)
910 {
911 float tempCap = 0.0;
912
913 switch (ctrl)
914 {
915 case CarSoundCtrl.DOORS:
916 float newValue = 0;
917 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
918 {
919 newValue += 0.5;
920 }
921
922 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
923 {
924 newValue += 0.5;
925 }
926
927 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
928 {
929 newValue += 0.3;
930 }
931
932 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
933 {
934 newValue -= 0.6;
935 }
936
937 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
938 {
939 newValue -= 0.2;
940 }
941
942 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
943 {
944 newValue -= 0.2;
945 }
946
947 return Math.Clamp(newValue, 0, 1);
948 break;
949 }
950
951 return super.OnSound(ctrl, oldValue);
952 }
953
954 override string GetAnimSourceFromSelection( string selection )
955 {
956 switch (selection)
957 {
958 case "doors_driver":
959 return "DoorsDriver";
960 case "doors_codriver":
961 return "DoorsCoDriver";
962 case "doors_hood":
963 return "DoorsHood";
964 case "doors_trunk":
965 return "DoorsTrunk";
966 case "seatback_driver":
967 return "SeatDriver";
968 case "seatback_codriver":
969 return "SeatCoDriver";
970 }
971
972 return "";
973 }
974
975 override string GetDoorConditionPointFromSelection(string selection)
976 {
977 switch (selection)
978 {
979 case "seat_driver":
980 case "seatback_driver":
981 case "seat_cargo1":
982 return "seat_con_1_1";
983 case "seat_codriver":
984 case "seatback_codriver":
985 case "seat_cargo2":
986 return "seat_con_2_1";
987 }
988
989 return "";
990 }
991
992 override int GetCrewIndex(string selection)
993 {
994 switch (selection)
995 {
996 case "seatback_driver":
997 return 0;
998 case "seatback_codriver":
999 return 1;
1000 }
1001
1002 return -1;
1003 }
1004
1005 override bool IsVitalTruckBattery()
1006 {
1007 return false;
1008 }
1009
1010 override bool IsVitalGlowPlug()
1011 {
1012 return false;
1013 }
1014
1015 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1016 {
1017 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1018 return false;
1019
1020 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1021 return false;
1022
1023 switch (currentSeat)
1024 {
1025 case 0:
1026 return nextSeat == 1;
1027
1028 case 1:
1029 return nextSeat == 0;
1030
1031 case 2:
1032 return nextSeat == 3;
1033
1034 case 3:
1035 return nextSeat == 2;
1036 }
1037
1038 return false;
1039 }
1040
1041 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1042 {
1043 switch (pCurrentSeat)
1044 {
1045 case 0:
1046 return pDoorsSelection == "DoorsDriver";
1047
1048 case 1:
1049 return pDoorsSelection == "DoorsCoDriver";
1050
1051 case 2:
1052 return pDoorsSelection == "DoorsDriver";
1053
1054 case 3:
1055 return pDoorsSelection == "DoorsCoDriver";
1056 }
1057
1058 return false;
1059 }
1060
1061 override int GetSeatIndexFromDoor( string pDoorSelection )
1062 {
1063 switch (pDoorSelection)
1064 {
1065 case "DoorsDriver":
1066 return 0;
1067 case "DoorsCoDriver":
1068 return 1;
1069 }
1070
1071 return -1;
1072 }
1073
1074 override void SetActions()
1075 {
1076 super.SetActions();
1077
1079 }
1080
1081 override void OnDebugSpawn()
1082 {
1083 SpawnUniversalParts();
1084 SpawnAdditionalItems();
1085 FillUpCarFluids();
1086
1087 GameInventory inventory = GetInventory();
1088 inventory.CreateInInventory("HatchbackWheel");
1089 inventory.CreateInInventory("HatchbackWheel");
1090 inventory.CreateInInventory("HatchbackWheel" );
1091 inventory.CreateInInventory("HatchbackWheel");
1092
1093 inventory.CreateInInventory("HatchbackDoors_Driver");
1094 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1095 inventory.CreateInInventory("HatchbackHood");
1096 inventory.CreateInInventory("HatchbackTrunk");
1097
1098 //-----IN CAR CARGO
1099 inventory.CreateInInventory("HatchbackWheel");
1100 inventory.CreateInInventory("HatchbackWheel");
1101 }
1102}
1103
1104class OffroadHatchback_White extends OffroadHatchback
1105{
1106 override void OnDebugSpawn()
1107 {
1108 SpawnUniversalParts();
1109 SpawnAdditionalItems();
1110 FillUpCarFluids();
1111
1112 GameInventory inventory = GetInventory();
1113 inventory.CreateInInventory("HatchbackWheel");
1114 inventory.CreateInInventory("HatchbackWheel");
1115 inventory.CreateInInventory("HatchbackWheel");
1116 inventory.CreateInInventory("HatchbackWheel");
1117
1118 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1119 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1120 inventory.CreateInInventory("HatchbackHood_White");
1121 inventory.CreateInInventory("HatchbackTrunk_White");
1122
1123 //-----IN CAR CARGO
1124 inventory.CreateInInventory("HatchbackWheel");
1125 inventory.CreateInInventory("HatchbackWheel");
1126 }
1127}
1128
1129class OffroadHatchback_Blue extends OffroadHatchback
1130{
1131 override void OnDebugSpawn()
1132 {
1133 SpawnUniversalParts();
1134 SpawnAdditionalItems();
1135 FillUpCarFluids();
1136
1137 GameInventory inventory = GetInventory();
1138 inventory.CreateInInventory("HatchbackWheel");
1139 inventory.CreateInInventory("HatchbackWheel");
1140 inventory.CreateInInventory("HatchbackWheel");
1141 inventory.CreateInInventory("HatchbackWheel");
1142
1143 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1144 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1145 inventory.CreateInInventory("HatchbackHood_Blue");
1146 inventory.CreateInInventory("HatchbackTrunk_Blue");
1147
1148 //-----IN CAR CARGO
1149 inventory.CreateInInventory("HatchbackWheel");
1150 inventory.CreateInInventory("HatchbackWheel");
1151 }
1152}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
override void SetActions()
Определения OffroadHatchback.c:930
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:871
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:810
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:577
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:831
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:765
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:748
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:556
override void OnEngineStop()
Определения OffroadHatchback.c:545
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:572
override void EEInit()
Определения OffroadHatchback.c:516
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:606
override bool CanDisplayCargo()
Определения OffroadHatchback.c:649
void ~OffroadHatchback()
Определения OffroadHatchback.c:509
override void OnEngineStart()
Определения OffroadHatchback.c:534
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:601
override int GetAnimInstance()
Определения OffroadHatchback.c:567
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:692
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:897
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:625
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:866
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:596
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:482
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:917
void OffroadHatchback()
Определения OffroadHatchback.c:487
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:861
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:733
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:664
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:848
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:630
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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:507
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:851
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.