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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

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