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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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