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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

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