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

◆ GetTransportCameraDistance()

override float OnDebugSpawn::GetTransportCameraDistance ( )
protected

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

579 : CarScript
580{
584
585 void Offroad_02()
586 {
587 //m_dmgContactCoef = 0.0365;
588
589 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
590 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
591 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
592 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
593 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
594 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
595
596 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
597 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
598
599 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
600 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
601
602 m_LightsComponent.RegisterSelection("BrakesOn", {
603 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
604 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
605 });
606 m_LightsComponent.RegisterSelection("BrakesOff", {
607 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
608 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
609 });
610
611 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
612 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
613
614 SetEnginePos("0 0.7 1.7");
615
617 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
618 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
619 }
620
621 void ~Offroad_02()
622 {
623 m_UTSource = null;
624 m_UTSSettings = null;
625 m_UTSLEngine = null;
626 }
627
628 override void EEInit()
629 {
630 super.EEInit();
631
632 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
633 {
635 m_UTSSettings.m_ManualUpdate = true;
637 m_UTSSettings.m_TemperatureCap = 0;
638 m_UTSSettings.m_RangeFull = 0.5;
639 m_UTSSettings.m_RangeMax = 2;
640
643 }
644 }
645
646 override bool HasGangedTailAndBrakeLights()
647 {
648 return true;
649 }
650
651 override bool NeedElectricitySourceDevice()
652 {
653 return true;
654 }
655
657 {
658 super.GetElectricitySourceDevice();
659
660 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
661 }
662
663 override string GetElectricitySourceDeviceType()
664 {
665 return "CarBattery";
666 }
667
668 override void OnEngineStart()
669 {
670 super.OnEngineStart();
671
672 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
673 {
674 if (m_UTSource)
675 m_UTSource.SetDefferedActive(true, 20.0);
676 }
677 }
678
679 override void OnEngineStop()
680 {
681 super.OnEngineStop();
682
683 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
684 {
685 if (m_UTSource)
686 m_UTSource.SetDefferedActive(false, 10.0);
687 }
688 }
689
690 override void EOnPostSimulate(IEntity other, float timeSlice)
691 {
692 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
693 {
694 if (m_UTSource && m_UTSource.IsActive())
695 {
697 }
698 }
699 }
700
701 override int GetAnimInstance()
702 {
703 return VehicleAnimInstances.HMMWV;
704 }
705
706 override float GetTransportCameraDistance()
707 {
708 return 5.1;
709 }
710
711 override float GetWeightCoef()
712 {
713 return 1.5;
714 }
715
716 override int GetSeatAnimationType(int posIdx)
717 {
718 switch (posIdx)
719 {
720 case 0:
721 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
722 case 1:
723 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
724 case 2:
725 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
726 case 3:
727 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
728 }
729
730 return 0;
731 }
732
733 override bool CanReleaseAttachment( EntityAI attachment )
734 {
735 if (!super.CanReleaseAttachment(attachment))
736 {
737 return false;
738 }
739
740 string attType = attachment.GetType();
741 switch (attType)
742 {
743 case "CarBattery":
744 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
745 {
746 return false;
747 }
748 break;
749
750 case "GlowPlug":
751 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
752 {
753 return false;
754 }
755 break;
756 }
757
758 return true;
759 }
760
761 override protected bool CanManipulateSpareWheel(string slotSelectionName)
762 {
763 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
764 }
765
766 override bool CanDisplayAttachmentCategory(string category_name)
767 {
768 if ( !super.CanDisplayAttachmentCategory(category_name))
769 {
770 return false;
771 }
772
773 category_name.ToLower();
774 if (category_name.Contains("engine"))
775 {
776 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
777 {
778 return false;
779 }
780 }
781
782 return true;
783 }
784
785 override bool CanDisplayCargo()
786 {
787 if ( !super.CanDisplayCargo() )
788 return false;
789
790 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
791 return false;
792
793 return true;
794 }
795
796 override int GetCarDoorsState(string slotType)
797 {
798 CarDoor carDoor;
799
800 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
801 if (!carDoor)
802 {
803 return CarDoorState.DOORS_MISSING;
804 }
805
806 switch (slotType)
807 {
808 case "Offroad_02_Door_1_1":
809 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
810
811 case "Offroad_02_Door_2_1":
812 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
813
814 case "Offroad_02_Door_1_2":
815 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
816
817 case "Offroad_02_Door_2_2":
818 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
819
820 case "Offroad_02_Hood":
821 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
822
823 case "Offroad_02_Trunk":
824 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
825 }
826
827 return CarDoorState.DOORS_MISSING;
828 }
829
830
831 override bool CrewCanGetThrough( int posIdx )
832 {
833 switch( posIdx )
834 {
835 case 0:
836 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
837 return false;
838
839 return true;
840 break;
841
842 case 1:
843 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
844 return false;
845
846 return true;
847 break;
848
849 case 2:
850 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
851 return false;
852
853 return true;
854 break;
855
856 case 3:
857 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
858 return false;
859
860 return true;
861 break;
862 }
863
864 return false;
865 }
866
867 override string GetDoorSelectionNameFromSeatPos(int posIdx)
868 {
869 switch( posIdx )
870 {
871 case 0:
872 return "doors_driver";
873 break;
874 case 1:
875 return "doors_codriver";
876 break;
877 case 2:
878 return "doors_cargo1";
879 break;
880 case 3:
881 return "doors_cargo2";
882 break;
883 }
884
885 return super.GetDoorSelectionNameFromSeatPos(posIdx);
886 }
887
888 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
889 {
890 switch (posIdx)
891 {
892 case 0:
893 return "Offroad_02_Door_1_1";
894 case 1:
895 return "Offroad_02_Door_2_1";
896 case 2:
897 return "Offroad_02_Door_1_2";
898 case 3:
899 return "Offroad_02_Door_2_2";
900 }
901
902 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
903 }
904
905 override float OnSound(CarSoundCtrl ctrl, float oldValue)
906 {
907 switch ( ctrl )
908 {
909 case CarSoundCtrl.DOORS:
910 float newValue = 0;
911 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
912 {
913 newValue += 0.25;
914 }
915
916 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
917 {
918 newValue += 0.25;
919 }
920
921 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
922 {
923 newValue += 0.25;
924 }
925
926 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
927 {
928 newValue += 0.25;
929 }
930
931 return Math.Clamp(newValue, 0, 1);
932 break;
933 }
934
935 return super.OnSound(ctrl, oldValue);
936 }
937
938 override string GetAnimSourceFromSelection(string selection)
939 {
940 switch (selection)
941 {
942 case "doors_driver":
943 return "DoorsDriver";
944 case "doors_codriver":
945 return "DoorsCoDriver";
946 case "doors_cargo1":
947 return "DoorsCargo1";
948 case "doors_cargo2":
949 return "DoorsCargo2";
950 case "doors_hood":
951 return "DoorsHood";
952 case "doors_trunk":
953 return "DoorsTrunk";
954 }
955
956 return "";
957 }
958
959 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
960 {
961 switch (currentSeat)
962 {
963 case 0:
964 return nextSeat == 1;
965 case 1:
966 return nextSeat == 0;
967 case 2:
968 return nextSeat == 3;
969 case 3:
970 return nextSeat == 2;
971 }
972
973 return false;
974 }
975
976 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
977 {
978 switch (pCurrentSeat)
979 {
980 case 0:
981 return pDoorsSelection == "DoorsDriver";
982 case 1:
983 return pDoorsSelection == "DoorsCoDriver";
984 case 2:
985 return pDoorsSelection == "DoorsCargo1";
986 case 3:
987 return pDoorsSelection == "DoorsCargo2";
988 }
989
990 return false;
991 }
992
993 override bool IsVitalSparkPlug()
994 {
995 return false;
996 }
997
998 override bool IsVitalRadiator()
999 {
1000 return false;
1001 }
1002
1003 override void OnDebugSpawn()
1004 {
1006 SpawnAdditionalItems();
1007 FillUpCarFluids();
1008
1009 GameInventory inventory = GetInventory();
1010 inventory.CreateInInventory("Offroad_02_Wheel");
1011 inventory.CreateInInventory("Offroad_02_Wheel");
1012 inventory.CreateInInventory("Offroad_02_Wheel");
1013 inventory.CreateInInventory("Offroad_02_Wheel");
1014
1015 inventory.CreateInInventory("Offroad_02_Door_1_1");
1016 inventory.CreateInInventory("Offroad_02_Door_1_2");
1017 inventory.CreateInInventory("Offroad_02_Door_2_1");
1018 inventory.CreateInInventory("Offroad_02_Door_2_2");
1019 inventory.CreateInInventory("Offroad_02_Hood");
1020 inventory.CreateInInventory("Offroad_02_Trunk");
1021
1022 //-----IN CAR CARGO
1023 inventory.CreateInInventory("Offroad_02_Wheel");
1024 inventory.CreateInInventory("Offroad_02_Wheel");
1025 }
1026}
1027
1028
1029class Offroad_02_Beige : Offroad_02
1030{
1031 override void OnDebugSpawn()
1032 {
1034 SpawnAdditionalItems();
1035 FillUpCarFluids();
1036
1037 GetInventory().CreateInInventory("Offroad_02_Wheel");
1038 GetInventory().CreateInInventory("Offroad_02_Wheel");
1039 GetInventory().CreateInInventory("Offroad_02_Wheel");
1040 GetInventory().CreateInInventory("Offroad_02_Wheel");
1041
1042 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
1043 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
1044 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
1045 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
1046 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
1047 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
1048
1049 //-----IN CAR CARGO
1050 GetInventory().CreateInInventory("Offroad_02_Wheel");
1051 GetInventory().CreateInInventory("Offroad_02_Wheel");
1052 }
1053}
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
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
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()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
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
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.