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

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

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

558{
562
563 void CivilianSedan()
564 {
565 //m_dmgContactCoef = 0.065;
566
567 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
568 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
569 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
570 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
571 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
572
573 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
574 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
575
576 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
577 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
578
579 SetEnginePos("0 0.7 1.6");
580 }
581
582 override void EEInit()
583 {
584 super.EEInit();
585
586 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
587 {
589 m_UTSSettings.m_ManualUpdate = true;
591 m_UTSSettings.m_TemperatureCap = 0;
592 m_UTSSettings.m_RangeFull = 0.5;
593 m_UTSSettings.m_RangeMax = 2;
594
597 }
598 }
599
600 override void OnEngineStart()
601 {
602 super.OnEngineStart();
603
604 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
605 {
606 m_UTSource.SetDefferedActive(true, 20.0);
607 }
608 }
609
610 override void OnEngineStop()
611 {
612 super.OnEngineStop();
613
614 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
615 {
616 m_UTSource.SetDefferedActive(false, 10.0);
617 }
618 }
619
620 override void EOnPostSimulate(IEntity other, float timeSlice)
621 {
622 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
623 {
624 if (m_UTSource.IsActive())
625 {
627 }
628 }
629 }
630
631 override int GetAnimInstance()
632 {
633 return VehicleAnimInstances.SEDAN;
634 }
635
636 override float GetTransportCameraDistance()
637 {
638 return 4.5;
639 }
640
641 override int GetSeatAnimationType(int posIdx)
642 {
643 switch (posIdx)
644 {
645 case 0:
646 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
647 case 1:
648 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
649 case 2:
650 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
651 case 3:
652 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
653 }
654
655 return 0;
656 }
657
658 // Override for car-specific light type
660 {
661 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
662 }
663
664 // Override for car-specific light type
666 {
667 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
668 }
669
670 override bool CanReleaseAttachment( EntityAI attachment )
671 {
672 if( !super.CanReleaseAttachment( attachment ) )
673 return false;
674
675 string attType = attachment.GetType();
676
677 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
678 {
679 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
680 return false;
681 }
682
683 return true;
684 }
685
686 override protected bool CanManipulateSpareWheel(string slotSelectionName)
687 {
688 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
689 }
690
691 override bool CanDisplayAttachmentCategory(string category_name)
692 {
693 //super
694 if (!super.CanDisplayAttachmentCategory(category_name))
695 return false;
696 //
697
698 category_name.ToLower();
699 if (category_name.Contains("engine"))
700 {
701 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
702 return false;
703 }
704
705 return true;
706 }
707
708 override bool CanDisplayCargo()
709 {
710 if ( !super.CanDisplayCargo() )
711 return false;
712
713 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
714 return false;
715
716 return true;
717 }
718
719 override int GetCarDoorsState( string slotType )
720 {
721 CarDoor carDoor;
722
723 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
724 if (!carDoor)
725 {
726 return CarDoorState.DOORS_MISSING;
727 }
728
729 switch (slotType)
730 {
731 case "CivSedanDriverDoors":
732 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
733 break;
734
735 case "CivSedanCoDriverDoors":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
737 break;
738
739 case "CivSedanCargo1Doors":
740 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
741 break;
742
743 case "CivSedanCargo2Doors":
744 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
745 break;
746
747 case "CivSedanTrunk":
748 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
749 break;
750
751 case "CivSedanHood":
752 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
753 break;
754 }
755
756 return CarDoorState.DOORS_MISSING;
757 }
758
759
760 override bool CrewCanGetThrough( int posIdx )
761 {
762 switch( posIdx )
763 {
764 case 0:
765 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
766 return false;
767
768 return true;
769 break;
770
771 case 1:
772 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
773 return false;
774
775 return true;
776 break;
777
778 case 2:
779 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
780 return false;
781
782 return true;
783 break;
784
785 case 3:
786 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
787 return false;
788
789 return true;
790 break;
791 }
792
793 return false;
794 }
795
796 override string GetDoorSelectionNameFromSeatPos(int posIdx)
797 {
798 switch( posIdx )
799 {
800 case 0:
801 return "doors_driver";
802 break;
803 case 1:
804 return "doors_codriver";
805 break;
806 case 2:
807 return "doors_cargo1";
808 break;
809 case 3:
810 return "doors_cargo2";
811 break;
812 }
813
814 return super.GetDoorSelectionNameFromSeatPos(posIdx);
815 }
816
817 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
818 {
819 switch( posIdx )
820 {
821 case 0:
822 return "CivSedanDriverDoors";
823 break;
824 case 1:
825 return "CivSedanCoDriverDoors";
826 break;
827 case 2:
828 return "CivSedanCargo1Doors";
829 break;
830 case 3:
831 return "CivSedanCargo2Doors";
832 break;
833 }
834
835 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
836 }
837
838 // 0 full ambient and engine sound
839 // 1 zero ambient and engine sound
840 override float OnSound(CarSoundCtrl ctrl, float oldValue)
841 {
842 switch (ctrl)
843 {
844 case CarSoundCtrl.DOORS:
845 float newValue = 0;
846 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
847 {
848 newValue += 0.25;
849 }
850
851 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
852 {
853 newValue += 0.25;
854 }
855
856 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
857 {
858 newValue += 0.25;
859 }
860
861 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
862 {
863 newValue += 0.25;
864 }
865
866 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
867 {
868 newValue -= 0.6;
869 }
870
871 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
872 {
873 newValue -= 0.6;
874 }
875
876 return Math.Clamp(newValue, 0, 1);
877 break;
878 }
879
880 return super.OnSound(ctrl, oldValue);
881 }
882
883 override string GetAnimSourceFromSelection(string selection)
884 {
885 switch (selection)
886 {
887 case "doors_driver":
888 return "DoorsDriver";
889 case "doors_codriver":
890 return "DoorsCoDriver";
891 case "doors_cargo1":
892 return "DoorsCargo1";
893 case "doors_cargo2":
894 return "DoorsCargo2";
895 case "doors_hood":
896 return "DoorsHood";
897 case "doors_trunk":
898 return "DoorsTrunk";
899 }
900
901 return "";
902 }
903
904 override bool IsVitalTruckBattery()
905 {
906 return false;
907 }
908
909 override bool IsVitalGlowPlug()
910 {
911 return false;
912 }
913
914 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
915 {
916 switch (currentSeat)
917 {
918 case 0:
919 return nextSeat == 1;
920
921 case 1:
922 return nextSeat == 0;
923
924 case 2:
925 return nextSeat == 3;
926
927 case 3:
928 return nextSeat == 2;
929 }
930
931 return false;
932 }
933
934 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
935 {
936 switch (pCurrentSeat)
937 {
938 case 0:
939 return pDoorsSelection == "DoorsDriver";
940
941 case 1:
942 return pDoorsSelection == "DoorsCoDriver";
943
944 case 2:
945 return pDoorsSelection == "DoorsCargo1";
946
947 case 3:
948 return pDoorsSelection == "DoorsCargo2";
949 }
950
951 return false;
952 }
953
954 override void OnDebugSpawn()
955 {
959
960 GetInventory().CreateInInventory("CivSedanWheel");
961 GetInventory().CreateInInventory("CivSedanWheel");
962 GetInventory().CreateInInventory("CivSedanWheel");
963 GetInventory().CreateInInventory("CivSedanWheel");
964
965 GetInventory().CreateInInventory("CivSedanDoors_Driver");
966 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
967 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
968 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
969 GetInventory().CreateInInventory("CivSedanHood");
970 GetInventory().CreateInInventory("CivSedanTrunk");
971
972 //-----IN CAR CARGO
973 GetInventory().CreateInInventory("CivSedanWheel");
974 GetInventory().CreateInInventory("CivSedanWheel");
975 }
976
977 override float GetPushForceCoefficientMultiplier()
978 {
979 return 1.5;
980 }
981}
982
983class CivilianSedan_Wine extends CivilianSedan
984{
985 override void OnDebugSpawn()
986 {
990
991 GetInventory().CreateInInventory("CivSedanWheel");
992 GetInventory().CreateInInventory("CivSedanWheel");
993 GetInventory().CreateInInventory("CivSedanWheel");
994 GetInventory().CreateInInventory("CivSedanWheel");
995
996 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
997 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
998 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
999 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1000 GetInventory().CreateInInventory("CivSedanHood_Wine");
1001 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1002
1003 //-----IN CAR CARGO
1004 GetInventory().CreateInInventory("CivSedanWheel");
1005 GetInventory().CreateInInventory("CivSedanWheel");
1006 }
1007}
1008
1009class CivilianSedan_Black extends CivilianSedan
1010{
1011 override void OnDebugSpawn()
1012 {
1016
1017 GetInventory().CreateInInventory("CivSedanWheel");
1018 GetInventory().CreateInInventory("CivSedanWheel");
1019 GetInventory().CreateInInventory("CivSedanWheel");
1020 GetInventory().CreateInInventory("CivSedanWheel");
1021
1022 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1023 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1024 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1025 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1026 GetInventory().CreateInInventory("CivSedanHood_Black");
1027 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1028
1029 //-----IN CAR CARGO
1030 GetInventory().CreateInInventory("CivSedanWheel");
1031 GetInventory().CreateInInventory("CivSedanWheel");
1032 }
1033}
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
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:848
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:429
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:785
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:754
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:711
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:688
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:491
override void OnEngineStop()
Определения CivilianSedan.c:481
void CivilianSedan()
Определения CivilianSedan.c:434
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
override float GetTransportCameraDistance()
Определения CivilianSedan.c:507
override void EEInit()
Определения CivilianSedan.c:453
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:541
override bool CanDisplayCargo()
Определения CivilianSedan.c:579
override void OnEngineStart()
Определения CivilianSedan.c:471
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:530
override int GetAnimInstance()
Определения CivilianSedan.c:502
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:631
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:805
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:557
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:780
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:536
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:775
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:667
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:590
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:562
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:455
Определения CivilianSedan.c:454
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения 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
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.