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

◆ CanDisplayAttachmentCategory()

override bool OnDebugSpawn::CanDisplayAttachmentCategory ( string category_name)
protected

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

580{
584
585 void Sedan_02()
586 {
587 m_dmgContactCoef = 0.0790;
588
589 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
590 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
591 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
592 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
593 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
594
595 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
596 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
597
598 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
599 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
600
601 SetEnginePos("0 0.7 -1.7");
602 }
603
604 override void EEInit()
605 {
606 super.EEInit();
607
608 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
609 {
611 m_UTSSettings.m_ManualUpdate = true;
613 m_UTSSettings.m_TemperatureCap = 0;
614 m_UTSSettings.m_RangeFull = 0.5;
615 m_UTSSettings.m_RangeMax = 2;
616
619 }
620 }
621
622 override void OnEngineStart()
623 {
624 super.OnEngineStart();
625
626 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
627 {
628 m_UTSource.SetDefferedActive(true, 20.0);
629 }
630 }
631
632 override void OnEngineStop()
633 {
634 super.OnEngineStop();
635
636 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
637 {
638 m_UTSource.SetDefferedActive(false, 10.0);
639 }
640 }
641
642 override void EOnPostSimulate(IEntity other, float timeSlice)
643 {
644 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
645 {
646 if (m_UTSource.IsActive())
647 {
649 }
650 }
651 }
652
653 override int GetAnimInstance()
654 {
655 return VehicleAnimInstances.S120;
656 }
657
658 override int GetSeatAnimationType(int posIdx)
659 {
660 switch (posIdx)
661 {
662 case 0:
663 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
664 case 1:
665 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
666 case 2:
667 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
668 case 3:
669 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
670 }
671
672 return 0;
673 }
674
675 // Override for car-specific light type
677 {
678 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
679 }
680
681 // Override for car-specific light type
683 {
684 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
685 }
686
687 override bool CanReleaseAttachment( EntityAI attachment )
688 {
689 if (!super.CanReleaseAttachment(attachment))
690 {
691 return false;
692 }
693
694 string attType = attachment.GetType();
695 switch (attType)
696 {
697 case "CarBattery":
698 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
699 {
700 return false;
701 }
702 break;
703
704 case "SparkPlug":
705 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
706 {
707 return false;
708 }
709 break;
710
711 case "CarRadiator":
712 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
713 {
714 return false;
715 }
716 break;
717 }
718
719 return true;
720 }
721
722 override protected bool CanManipulateSpareWheel(string slotSelectionName)
723 {
724 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
725 }
726
727 override bool CanDisplayAttachmentCategory(string category_name)
728 {
729 if ( !super.CanDisplayAttachmentCategory(category_name))
730 {
731 return false;
732 }
733
734 category_name.ToLower();
735 if (category_name.Contains("engine"))
736 {
737 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
738 {
739 return false;
740 }
741 }
742
743 if (category_name.Contains("trunk"))
744 {
745 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
746 {
747 return false;
748 }
749 }
750
751 return true;
752 }
753
754 override bool CanDisplayCargo()
755 {
756 if ( !super.CanDisplayCargo() )
757 return false;
758
759 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
760 return false;
761
762 return true;
763 }
764
765 override int GetCarDoorsState(string slotType)
766 {
767 CarDoor carDoor;
768
769 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
770 if (!carDoor)
771 {
772 return CarDoorState.DOORS_MISSING;
773 }
774
775 switch (slotType)
776 {
777 case "Sedan_02_Door_1_1":
778 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
779
780 case "Sedan_02_Door_2_1":
781 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
782
783 case "Sedan_02_Door_1_2":
784 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
785
786 case "Sedan_02_Door_2_2":
787 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
788
789 case "Sedan_02_Hood":
790 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
791
792 case "Sedan_02_Trunk":
793 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
794 }
795
796 return CarDoorState.DOORS_MISSING;
797 }
798
799
800 override bool CrewCanGetThrough( int posIdx )
801 {
802 switch( posIdx )
803 {
804 case 0:
805 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
806 return false;
807
808 return true;
809 break;
810
811 case 1:
812 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
813 return false;
814
815 return true;
816 break;
817
818 case 2:
819 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
820 return false;
821
822 return true;
823 break;
824
825 case 3:
826 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
827 return false;
828
829 return true;
830 break;
831 }
832
833 return false;
834 }
835
836 override string GetDoorSelectionNameFromSeatPos(int posIdx)
837 {
838 switch( posIdx )
839 {
840 case 0:
841 return "doors_driver";
842 break;
843 case 1:
844 return "doors_codriver";
845 break;
846 case 2:
847 return "doors_cargo1";
848 break;
849 case 3:
850 return "doors_cargo2";
851 break;
852 }
853
854 return super.GetDoorSelectionNameFromSeatPos(posIdx);
855 }
856
857 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
858 {
859 switch( posIdx )
860 {
861 case 0:
862 return "Sedan_02_Door_1_1";
863 break;
864 case 1:
865 return "Sedan_02_Door_2_1";
866 break;
867 case 2:
868 return "Sedan_02_Door_1_2";
869 break;
870 case 3:
871 return "Sedan_02_Door_2_2";
872 break;
873 }
874
875 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
876 }
877
878 override float OnSound(CarSoundCtrl ctrl, float oldValue)
879 {
880 switch ( ctrl )
881 {
882 case CarSoundCtrl.DOORS:
883 float newValue = 0;
884 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
885 {
886 newValue += 0.25;
887 }
888
889 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
890 {
891 newValue += 0.25;
892 }
893
894 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
895 {
896 newValue += 0.25;
897 }
898
899 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
900 {
901 newValue += 0.25;
902 }
903
904 return Math.Clamp(newValue, 0, 1);
905 break;
906 }
907
908 return super.OnSound(ctrl, oldValue);
909 }
910
911 override string GetAnimSourceFromSelection( string selection )
912 {
913 switch( selection )
914 {
915 case "doors_driver":
916 return "DoorsDriver";
917 case "doors_codriver":
918 return "DoorsCoDriver";
919 case "doors_cargo1":
920 return "DoorsCargo1";
921 case "doors_cargo2":
922 return "DoorsCargo2";
923 case "doors_hood":
924 return "DoorsHood";
925 case "doors_trunk":
926 return "DoorsTrunk";
927 }
928
929 return "";
930 }
931
932
933 override bool IsVitalTruckBattery()
934 {
935 return false;
936 }
937
938 override bool IsVitalGlowPlug()
939 {
940 return false;
941 }
942
943 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
944 {
945 switch (currentSeat)
946 {
947 case 0:
948 return nextSeat == 1;
949
950 case 1:
951 return nextSeat == 0;
952
953 case 2:
954 return nextSeat == 3;
955
956 case 3:
957 return nextSeat == 2;
958 }
959
960 return false;
961 }
962
963 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
964 {
965 switch (pCurrentSeat)
966 {
967 case 0:
968 return pDoorsSelection == "DoorsDriver";
969
970 case 1:
971 return pDoorsSelection == "DoorsCoDriver";
972
973 case 2:
974 return pDoorsSelection == "DoorsCargo1";
975
976 case 3:
977 return pDoorsSelection == "DoorsCargo2";
978 }
979
980 return false;
981 }
982
983 override void OnDebugSpawn()
984 {
988
989 GetInventory().CreateInInventory("Sedan_02_Wheel");
990 GetInventory().CreateInInventory("Sedan_02_Wheel");
991 GetInventory().CreateInInventory("Sedan_02_Wheel");
992 GetInventory().CreateInInventory("Sedan_02_Wheel");
993 GetInventory().CreateInInventory("Sedan_02_Wheel");
994
995 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
996 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
997 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
998 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
999 GetInventory().CreateInInventory("Sedan_02_Hood");
1000 GetInventory().CreateInInventory("Sedan_02_Trunk");
1001
1002 //-----IN CAR CARGO
1003 GetInventory().CreateInInventory("Sedan_02_Wheel");
1004 GetInventory().CreateInInventory("Sedan_02_Wheel");
1005 }
1006}
1007
1008class Sedan_02_Red extends Sedan_02
1009{
1010 override void OnDebugSpawn()
1011 {
1015
1016 GetInventory().CreateInInventory("Sedan_02_Wheel");
1017 GetInventory().CreateInInventory("Sedan_02_Wheel");
1018 GetInventory().CreateInInventory("Sedan_02_Wheel");
1019 GetInventory().CreateInInventory("Sedan_02_Wheel");
1020
1021 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1022 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1023 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1024 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1025 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1026 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1027
1028 //-----IN CAR CARGO
1029 GetInventory().CreateInInventory("Sedan_02_Wheel");
1030 GetInventory().CreateInInventory("Sedan_02_Wheel");
1031 }
1032}
1033
1034class Sedan_02_Grey extends Sedan_02
1035{
1036 override void OnDebugSpawn()
1037 {
1041
1042 GetInventory().CreateInInventory("Sedan_02_Wheel");
1043 GetInventory().CreateInInventory("Sedan_02_Wheel");
1044 GetInventory().CreateInInventory("Sedan_02_Wheel");
1045 GetInventory().CreateInInventory("Sedan_02_Wheel");
1046
1047 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1048 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1049 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1050 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1051 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1052 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1053
1054 //-----IN CAR CARGO
1055 GetInventory().CreateInInventory("Sedan_02_Wheel");
1056 GetInventory().CreateInInventory("Sedan_02_Wheel");
1057 }
1058}
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
float m_dmgContactCoef
Определения CarScript.c:161
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 bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:795
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:432
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:763
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:510
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:730
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:494
override void OnEngineStop()
Определения Sedan_02.c:484
override void EEInit()
Определения Sedan_02.c:456
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:539
override bool CanDisplayCargo()
Определения Sedan_02.c:606
override void OnEngineStart()
Определения Sedan_02.c:474
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:528
override int GetAnimInstance()
Определения Sedan_02.c:505
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:815
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:574
override bool IsVitalGlowPlug()
Определения Sedan_02.c:790
void Sedan_02()
Определения Sedan_02.c:437
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:534
override bool IsVitalTruckBattery()
Определения Sedan_02.c:785
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:688
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:617
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:579
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()
Определения Sedan_02.c:458
Определения Sedan_02.c:457
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.