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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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