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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

551{
555
556 void Hatchback_02()
557 {
558 //m_dmgContactCoef = 0.070;
559
560 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
561 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
562 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
563 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
564 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
565 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
566
567 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
568 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
569
570 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
571 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
572
573 SetEnginePos("0 0.7 1.4");
574 }
575
576 void ~Hatchback_02()
577 {
578 m_UTSource = null;
579 m_UTSSettings = null;
580 m_UTSLEngine = null;
581 }
582
583 override void EEInit()
584 {
585 super.EEInit();
586
587 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
588 {
590 m_UTSSettings.m_ManualUpdate = true;
592 m_UTSSettings.m_TemperatureCap = 0;
593 m_UTSSettings.m_RangeFull = 0.5;
594 m_UTSSettings.m_RangeMax = 2;
595
598 }
599 }
600
601 override void OnEngineStart()
602 {
603 super.OnEngineStart();
604
605 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
606 {
607 if (m_UTSource)
608 m_UTSource.SetDefferedActive(true, 20.0);
609 }
610 }
611
612 override void OnEngineStop()
613 {
614 super.OnEngineStop();
615
616 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
617 {
618 if (m_UTSource)
619 m_UTSource.SetDefferedActive(false, 10.0);
620 }
621 }
622
623 override void EOnPostSimulate(IEntity other, float timeSlice)
624 {
625 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
626 {
627 if (m_UTSource && m_UTSource.IsActive())
628 {
630 }
631 }
632 }
633
634 override int GetAnimInstance()
635 {
636 return VehicleAnimInstances.GOLF;
637 }
638
639 override int GetSeatAnimationType(int posIdx)
640 {
641 switch (posIdx)
642 {
643 case 0:
644 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
645 case 1:
646 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
647 case 2:
648 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
649 case 3:
650 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
651 }
652
653 return 0;
654 }
655
656 // Override for car-specific light type
658 {
659 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
660 }
661
662 // Override for car-specific light type
664 {
665 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
666 }
667
668 override bool CanReleaseAttachment(EntityAI attachment)
669 {
670 if (!super.CanReleaseAttachment(attachment))
671 {
672 return false;
673 }
674
675 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
676 {
677 string attType = attachment.GetType();
678 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
679 {
680 return false;
681 }
682 }
683
684 return true;
685 }
686
687 override protected bool CanManipulateSpareWheel(string slotSelectionName)
688 {
689 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
690 }
691
692 override bool CanDisplayAttachmentCategory( string category_name )
693 {
694 //super
695 if ( !super.CanDisplayAttachmentCategory( category_name ) )
696 return false;
697 //
698
699 category_name.ToLower();
700 if ( category_name.Contains("engine") )
701 {
702 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
703 return false;
704 }
705
706 return true;
707 }
708
709 override bool CanDisplayCargo()
710 {
711 if ( !super.CanDisplayCargo() )
712 return false;
713
714 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
715 return false;
716
717 return true;
718 }
719
720 override int GetCarDoorsState(string slotType)
721 {
722 CarDoor carDoor;
723
724 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
725 if (!carDoor)
726 {
727 return CarDoorState.DOORS_MISSING;
728 }
729
730 switch (slotType)
731 {
732 case "Hatchback_02_Door_1_1":
733 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
734
735 case "Hatchback_02_Door_2_1":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
737
738 case "Hatchback_02_Door_1_2":
739 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
740
741 case "Hatchback_02_Door_2_2":
742 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
743
744 case "Hatchback_02_Hood":
745 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
746
747 case "Hatchback_02_Trunk":
748 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
749 }
750
751 return CarDoorState.DOORS_MISSING;
752 }
753
754
755 override bool CrewCanGetThrough(int posIdx)
756 {
757 switch (posIdx)
758 {
759 case 0:
760 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
761 {
762 return false;
763 }
764
765 return true;
766
767 case 1:
768 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
769 {
770 return false;
771 }
772
773 return true;
774
775 case 2:
776 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
777 {
778 return false;
779 }
780
781 return true;
782
783 case 3:
784 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
785 {
786 return false;
787 }
788
789 return true;
790 }
791
792 return false;
793 }
794
795 override string GetDoorSelectionNameFromSeatPos(int posIdx)
796 {
797 switch( posIdx )
798 {
799 case 0:
800 return "doors_driver";
801 break;
802 case 1:
803 return "doors_codriver";
804 break;
805 case 2:
806 return "doors_cargo1";
807 break;
808 case 3:
809 return "doors_cargo2";
810 break;
811 }
812
813 return super.GetDoorSelectionNameFromSeatPos(posIdx);
814 }
815
816 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
817 {
818 switch( posIdx )
819 {
820 case 0:
821 return "Hatchback_02_Door_1_1";
822 break;
823 case 1:
824 return "Hatchback_02_Door_2_1";
825 break;
826 case 2:
827 return "Hatchback_02_Door_1_2";
828 break;
829 case 3:
830 return "Hatchback_02_Door_2_2";
831 break;
832 }
833
834 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
835 }
836
837 override float OnSound(CarSoundCtrl ctrl, float oldValue)
838 {
839 switch (ctrl)
840 {
841 case CarSoundCtrl.DOORS:
842 float newValue = 0;
843 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
844 {
845 newValue += 0.25;
846 }
847
848 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
849 {
850 newValue += 0.25;
851 }
852
853 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
854 {
855 newValue += 0.25;
856 }
857
858 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
859 {
860 newValue += 0.25;
861 }
862
863 return Math.Clamp(newValue, 0, 1);
864 break;
865 }
866
867 return super.OnSound(ctrl, oldValue);
868 }
869
870 override string GetAnimSourceFromSelection( string selection )
871 {
872 switch( selection )
873 {
874 case "doors_driver":
875 return "DoorsDriver";
876 case "doors_codriver":
877 return "DoorsCoDriver";
878 case "doors_cargo1":
879 return "DoorsCargo1";
880 case "doors_cargo2":
881 return "DoorsCargo2";
882 case "doors_hood":
883 return "DoorsHood";
884 case "doors_trunk":
885 return "DoorsTrunk";
886 }
887
888 return "";
889 }
890
891
892 override bool IsVitalTruckBattery()
893 {
894 return false;
895 }
896
897 override bool IsVitalGlowPlug()
898 {
899 return false;
900 }
901
902 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
903 {
904 switch (currentSeat)
905 {
906 case 0:
907 return nextSeat == 1;
908 case 1:
909 return nextSeat == 0;
910 case 2:
911 return nextSeat == 3;
912 case 3:
913 return nextSeat == 2;
914 }
915
916 return false;
917 }
918
919 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
920 {
921 switch (pCurrentSeat)
922 {
923 case 0:
924 return pDoorsSelection == "DoorsDriver";
925 case 1:
926 return pDoorsSelection == "DoorsCoDriver";
927 case 2:
928 return pDoorsSelection == "DoorsCargo1";
929 case 3:
930 return pDoorsSelection == "DoorsCargo2";
931 }
932
933 return false;
934 }
935
936 override void OnDebugSpawn()
937 {
938 SpawnUniversalParts();
939 SpawnAdditionalItems();
940 FillUpCarFluids();
941
942 GameInventory inventory = GetInventory();
943 inventory.CreateInInventory("Hatchback_02_Wheel");
944 inventory.CreateInInventory("Hatchback_02_Wheel");
945 inventory.CreateInInventory("Hatchback_02_Wheel");
946 inventory.CreateInInventory("Hatchback_02_Wheel");
947
948 inventory.CreateInInventory("Hatchback_02_Door_1_1");
949 inventory.CreateInInventory("Hatchback_02_Door_1_2");
950 inventory.CreateInInventory("Hatchback_02_Door_2_1");
951 inventory.CreateInInventory("Hatchback_02_Door_2_2");
952 inventory.CreateInInventory("Hatchback_02_Hood");
953 inventory.CreateInInventory("Hatchback_02_Trunk");
954
955 //-----IN CAR CARGO
956 inventory.CreateInInventory("Hatchback_02_Wheel");
957 inventory.CreateInInventory("Hatchback_02_Wheel");
958 }
959}
960
961class Hatchback_02_Black extends Hatchback_02
962{
963 override void OnDebugSpawn()
964 {
965 SpawnUniversalParts();
966 SpawnAdditionalItems();
967 FillUpCarFluids();
968
969 GameInventory inventory = GetInventory();
970 inventory.CreateInInventory("Hatchback_02_Wheel");
971 inventory.CreateInInventory("Hatchback_02_Wheel");
972 inventory.CreateInInventory("Hatchback_02_Wheel");
973 inventory.CreateInInventory("Hatchback_02_Wheel");
974
975 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
976 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
977 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
978 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
979 inventory.CreateInInventory("Hatchback_02_Hood_Black");
980 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
981
982 //-----IN CAR CARGO
983 inventory.CreateInInventory("Hatchback_02_Wheel");
984 inventory.CreateInInventory("Hatchback_02_Wheel");
985 }
986};
987
988class Hatchback_02_Blue extends Hatchback_02
989{
990 override void OnDebugSpawn()
991 {
992 SpawnUniversalParts();
993 SpawnAdditionalItems();
994 FillUpCarFluids();
995
996 GameInventory inventory = GetInventory();
997 inventory.CreateInInventory("Hatchback_02_Wheel");
998 inventory.CreateInInventory("Hatchback_02_Wheel");
999 inventory.CreateInInventory("Hatchback_02_Wheel");
1000 inventory.CreateInInventory("Hatchback_02_Wheel");
1001
1002 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1003 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1004 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1005 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1006 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1007 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1008
1009 //-----IN CAR CARGO
1010 inventory.CreateInInventory("Hatchback_02_Wheel");
1011 inventory.CreateInInventory("Hatchback_02_Wheel");
1012 }
1013}
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.