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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

601{
605
606 void CivilianSedan()
607 {
608 //m_dmgContactCoef = 0.065;
609
610 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
611 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
612 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
613 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
614 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
615 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
616
617 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
618 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
619
620 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
621 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
622
623 SetEnginePos("0 0.7 1.6");
624 }
625
626 void ~CivilianSedan()
627 {
628 m_UTSource = null;
629 m_UTSSettings = null;
630 m_UTSLEngine = null;
631 }
632
633 override void EEInit()
634 {
635 super.EEInit();
636
637 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
638 {
640 m_UTSSettings.m_ManualUpdate = true;
642 m_UTSSettings.m_TemperatureCap = 0;
643 m_UTSSettings.m_RangeFull = 0.5;
644 m_UTSSettings.m_RangeMax = 2;
645
648 }
649 }
650
651 override void OnEngineStart()
652 {
653 super.OnEngineStart();
654
655 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
656 {
657 if (m_UTSource)
658 m_UTSource.SetDefferedActive(true, 20.0);
659 }
660 }
661
662 override void OnEngineStop()
663 {
664 super.OnEngineStop();
665
666 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
667 {
668 if (m_UTSource)
669 m_UTSource.SetDefferedActive(false, 10.0);
670 }
671 }
672
673 override void EOnPostSimulate(IEntity other, float timeSlice)
674 {
675 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
676 {
677 if (m_UTSource && m_UTSource.IsActive())
678 {
680 }
681 }
682 }
683
684 override int GetAnimInstance()
685 {
686 return VehicleAnimInstances.SEDAN;
687 }
688
689 override float GetTransportCameraDistance()
690 {
691 return 4.5;
692 }
693
694 override int GetSeatAnimationType(int posIdx)
695 {
696 switch (posIdx)
697 {
698 case 0:
699 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
700 case 1:
701 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
702 case 2:
703 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
704 case 3:
705 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
706 }
707
708 return 0;
709 }
710
711 // Override for car-specific light type
713 {
714 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
715 }
716
717 // Override for car-specific light type
719 {
720 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
721 }
722
723 override bool CanReleaseAttachment( EntityAI attachment )
724 {
725 if( !super.CanReleaseAttachment( attachment ) )
726 return false;
727
728 string attType = attachment.GetType();
729
730 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
731 {
732 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
733 return false;
734 }
735
736 return true;
737 }
738
739 override protected bool CanManipulateSpareWheel(string slotSelectionName)
740 {
741 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
742 }
743
744 override bool CanDisplayAttachmentCategory(string category_name)
745 {
746 //super
747 if (!super.CanDisplayAttachmentCategory(category_name))
748 return false;
749 //
750
751 category_name.ToLower();
752 if (category_name.Contains("engine"))
753 {
754 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
755 return false;
756 }
757
758 return true;
759 }
760
761 override bool CanDisplayCargo()
762 {
763 if ( !super.CanDisplayCargo() )
764 return false;
765
766 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
767 return false;
768
769 return true;
770 }
771
772 override int GetCarDoorsState( string slotType )
773 {
774 CarDoor carDoor;
775
776 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
777 if (!carDoor)
778 {
779 return CarDoorState.DOORS_MISSING;
780 }
781
782 switch (slotType)
783 {
784 case "CivSedanDriverDoors":
785 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
786 break;
787
788 case "CivSedanCoDriverDoors":
789 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
790 break;
791
792 case "CivSedanCargo1Doors":
793 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
794 break;
795
796 case "CivSedanCargo2Doors":
797 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
798 break;
799
800 case "CivSedanTrunk":
801 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
802 break;
803
804 case "CivSedanHood":
805 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
806 break;
807 }
808
809 return CarDoorState.DOORS_MISSING;
810 }
811
812
813 override bool CrewCanGetThrough( int posIdx )
814 {
815 switch( posIdx )
816 {
817 case 0:
818 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
819 return false;
820
821 return true;
822 break;
823
824 case 1:
825 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
826 return false;
827
828 return true;
829 break;
830
831 case 2:
832 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
833 return false;
834
835 return true;
836 break;
837
838 case 3:
839 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
840 return false;
841
842 return true;
843 break;
844 }
845
846 return false;
847 }
848
849 override string GetDoorSelectionNameFromSeatPos(int posIdx)
850 {
851 switch( posIdx )
852 {
853 case 0:
854 return "doors_driver";
855 break;
856 case 1:
857 return "doors_codriver";
858 break;
859 case 2:
860 return "doors_cargo1";
861 break;
862 case 3:
863 return "doors_cargo2";
864 break;
865 }
866
867 return super.GetDoorSelectionNameFromSeatPos(posIdx);
868 }
869
870 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
871 {
872 switch( posIdx )
873 {
874 case 0:
875 return "CivSedanDriverDoors";
876 break;
877 case 1:
878 return "CivSedanCoDriverDoors";
879 break;
880 case 2:
881 return "CivSedanCargo1Doors";
882 break;
883 case 3:
884 return "CivSedanCargo2Doors";
885 break;
886 }
887
888 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
889 }
890
891 // 0 full ambient and engine sound
892 // 1 zero ambient and engine sound
893 override float OnSound(CarSoundCtrl ctrl, float oldValue)
894 {
895 switch (ctrl)
896 {
897 case CarSoundCtrl.DOORS:
898 float newValue = 0;
899 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
900 {
901 newValue += 0.25;
902 }
903
904 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
905 {
906 newValue += 0.25;
907 }
908
909 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
910 {
911 newValue += 0.25;
912 }
913
914 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
915 {
916 newValue += 0.25;
917 }
918
919 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
920 {
921 newValue -= 0.6;
922 }
923
924 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
925 {
926 newValue -= 0.6;
927 }
928
929 return Math.Clamp(newValue, 0, 1);
930 break;
931 }
932
933 return super.OnSound(ctrl, oldValue);
934 }
935
936 override string GetAnimSourceFromSelection(string selection)
937 {
938 switch (selection)
939 {
940 case "doors_driver":
941 return "DoorsDriver";
942 case "doors_codriver":
943 return "DoorsCoDriver";
944 case "doors_cargo1":
945 return "DoorsCargo1";
946 case "doors_cargo2":
947 return "DoorsCargo2";
948 case "doors_hood":
949 return "DoorsHood";
950 case "doors_trunk":
951 return "DoorsTrunk";
952 }
953
954 return "";
955 }
956
957 override bool IsVitalTruckBattery()
958 {
959 return false;
960 }
961
962 override bool IsVitalGlowPlug()
963 {
964 return false;
965 }
966
967 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
968 {
969 switch (currentSeat)
970 {
971 case 0:
972 return nextSeat == 1;
973
974 case 1:
975 return nextSeat == 0;
976
977 case 2:
978 return nextSeat == 3;
979
980 case 3:
981 return nextSeat == 2;
982 }
983
984 return false;
985 }
986
987 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
988 {
989 switch (pCurrentSeat)
990 {
991 case 0:
992 return pDoorsSelection == "DoorsDriver";
993
994 case 1:
995 return pDoorsSelection == "DoorsCoDriver";
996
997 case 2:
998 return pDoorsSelection == "DoorsCargo1";
999
1000 case 3:
1001 return pDoorsSelection == "DoorsCargo2";
1002 }
1003
1004 return false;
1005 }
1006
1007 override void OnDebugSpawn()
1008 {
1009 SpawnUniversalParts();
1010 SpawnAdditionalItems();
1011 FillUpCarFluids();
1012
1013 GameInventory inventory = GetInventory();
1014 inventory.CreateInInventory("CivSedanWheel");
1015 inventory.CreateInInventory("CivSedanWheel");
1016 inventory.CreateInInventory("CivSedanWheel");
1017 inventory.CreateInInventory("CivSedanWheel");
1018
1019 inventory.CreateInInventory("CivSedanDoors_Driver");
1020 inventory.CreateInInventory("CivSedanDoors_CoDriver");
1021 inventory.CreateInInventory("CivSedanDoors_BackLeft");
1022 inventory.CreateInInventory("CivSedanDoors_BackRight");
1023 inventory.CreateInInventory("CivSedanHood");
1024 inventory.CreateInInventory("CivSedanTrunk");
1025
1026 //-----IN CAR CARGO
1027 inventory.CreateInInventory("CivSedanWheel");
1028 inventory.CreateInInventory("CivSedanWheel");
1029 }
1030
1031 override float GetPushForceCoefficientMultiplier()
1032 {
1033 return 1.5;
1034 }
1035}
1036
1037class CivilianSedan_Wine extends CivilianSedan
1038{
1039 override void OnDebugSpawn()
1040 {
1041 SpawnUniversalParts();
1042 SpawnAdditionalItems();
1043 FillUpCarFluids();
1044
1045 GameInventory inventory = GetInventory();
1046 inventory.CreateInInventory("CivSedanWheel");
1047 inventory.CreateInInventory("CivSedanWheel");
1048 inventory.CreateInInventory("CivSedanWheel");
1049 inventory.CreateInInventory("CivSedanWheel");
1050
1051 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
1052 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
1053 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
1054 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
1055 inventory.CreateInInventory("CivSedanHood_Wine");
1056 inventory.CreateInInventory("CivSedanTrunk_Wine");
1057
1058 //-----IN CAR CARGO
1059 inventory.CreateInInventory("CivSedanWheel");
1060 inventory.CreateInInventory("CivSedanWheel");
1061 }
1062}
1063
1064class CivilianSedan_Black extends CivilianSedan
1065{
1066 override void OnDebugSpawn()
1067 {
1068 SpawnUniversalParts();
1069 SpawnAdditionalItems();
1070 FillUpCarFluids();
1071
1072 GameInventory inventory = GetInventory();
1073 inventory.CreateInInventory("CivSedanWheel");
1074 inventory.CreateInInventory("CivSedanWheel");
1075 inventory.CreateInInventory("CivSedanWheel");
1076 inventory.CreateInInventory("CivSedanWheel");
1077
1078 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1079 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1080 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1081 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1082 inventory.CreateInInventory("CivSedanHood_Black");
1083 inventory.CreateInInventory("CivSedanTrunk_Black");
1084
1085 //-----IN CAR CARGO
1086 inventory.CreateInInventory("CivSedanWheel");
1087 inventory.CreateInInventory("CivSedanWheel");
1088 }
1089}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:870
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:440
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:806
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:775
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:533
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:732
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:512
override void OnEngineStop()
Определения CivilianSedan.c:501
void ~CivilianSedan()
Определения CivilianSedan.c:465
void CivilianSedan()
Определения CivilianSedan.c:445
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
override float GetTransportCameraDistance()
Определения CivilianSedan.c:528
override void EEInit()
Определения CivilianSedan.c:472
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:562
override bool CanDisplayCargo()
Определения CivilianSedan.c:600
override void OnEngineStart()
Определения CivilianSedan.c:490
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:551
override int GetAnimInstance()
Определения CivilianSedan.c:523
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:826
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:578
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:801
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:557
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:796
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:688
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:611
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:583
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:467
Определения CivilianSedan.c:466
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
Определения 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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:851
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.