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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

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