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

◆ GetTransportCameraDistance()

override float OnDebugSpawn::GetTransportCameraDistance ( )
protected

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

559 : CarScript
560{
564
565 void CivilianSedan()
566 {
567 //m_dmgContactCoef = 0.065;
568
569 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
570 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
571 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
572 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
573 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
574 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
575
576 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
577 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
578
579 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new CivilianSedanLightProfileFront()));
580 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new CivilianSedanLightProfileRear()));
581
582 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "CivilianSedan_Horn_Short_SoundSet");
583 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "CivilianSedan_Horn_SoundSet");
584
585 SetEnginePos("0 0.7 1.6");
586
588 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
589 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
590 }
591
592 void ~CivilianSedan()
593 {
594 m_UTSource = null;
595 m_UTSSettings = null;
596 m_UTSLEngine = null;
597 }
598
599 override void EEInit()
600 {
601 super.EEInit();
602
603 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
604 {
606 m_UTSSettings.m_ManualUpdate = true;
608 m_UTSSettings.m_TemperatureCap = 0;
609 m_UTSSettings.m_RangeFull = 0.5;
610 m_UTSSettings.m_RangeMax = 2;
611
614 }
615 }
616
617 override bool NeedElectricitySourceDevice()
618 {
619 return true;
620 }
621
623 {
624 super.GetElectricitySourceDevice();
625
626 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
627 }
628
629 override string GetElectricitySourceDeviceType()
630 {
631 return "CarBattery";
632 }
633
634 override void OnEngineStart()
635 {
636 super.OnEngineStart();
637
638 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
639 {
640 if (m_UTSource)
641 m_UTSource.SetDefferedActive(true, 20.0);
642 }
643 }
644
645 override void OnEngineStop()
646 {
647 super.OnEngineStop();
648
649 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
650 {
651 if (m_UTSource)
652 m_UTSource.SetDefferedActive(false, 10.0);
653 }
654 }
655
656 override void EOnPostSimulate(IEntity other, float timeSlice)
657 {
658 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
659 {
660 if (m_UTSource && m_UTSource.IsActive())
661 {
663 }
664 }
665 }
666
667 override int GetAnimInstance()
668 {
669 return VehicleAnimInstances.SEDAN;
670 }
671
672 override float GetTransportCameraDistance()
673 {
674 return 4.5;
675 }
676
677 override int GetSeatAnimationType(int posIdx)
678 {
679 switch (posIdx)
680 {
681 case 0:
682 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
683 case 1:
684 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
685 case 2:
686 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
687 case 3:
688 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
689 }
690
691 return 0;
692 }
693
694 override bool CanReleaseAttachment( EntityAI attachment )
695 {
696 if( !super.CanReleaseAttachment( attachment ) )
697 return false;
698
699 string attType = attachment.GetType();
700
701 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
702 {
703 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
704 return false;
705 }
706
707 return true;
708 }
709
710 override protected bool CanManipulateSpareWheel(string slotSelectionName)
711 {
712 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
713 }
714
715 override bool CanDisplayAttachmentCategory(string category_name)
716 {
717 //super
718 if (!super.CanDisplayAttachmentCategory(category_name))
719 return false;
720 //
721
722 category_name.ToLower();
723 if (category_name.Contains("engine"))
724 {
725 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
726 return false;
727 }
728
729 return true;
730 }
731
732 override bool CanDisplayCargo()
733 {
734 if ( !super.CanDisplayCargo() )
735 return false;
736
737 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
738 return false;
739
740 return true;
741 }
742
743 override int GetCarDoorsState( string slotType )
744 {
745 CarDoor carDoor;
746
747 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
748 if (!carDoor)
749 {
750 return CarDoorState.DOORS_MISSING;
751 }
752
753 switch (slotType)
754 {
755 case "CivSedanDriverDoors":
756 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
757 break;
758
759 case "CivSedanCoDriverDoors":
760 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
761 break;
762
763 case "CivSedanCargo1Doors":
764 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
765 break;
766
767 case "CivSedanCargo2Doors":
768 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
769 break;
770
771 case "CivSedanTrunk":
772 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
773 break;
774
775 case "CivSedanHood":
776 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
777 break;
778 }
779
780 return CarDoorState.DOORS_MISSING;
781 }
782
783
784 override bool CrewCanGetThrough( int posIdx )
785 {
786 switch( posIdx )
787 {
788 case 0:
789 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
790 return false;
791
792 return true;
793 break;
794
795 case 1:
796 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
797 return false;
798
799 return true;
800 break;
801
802 case 2:
803 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
804 return false;
805
806 return true;
807 break;
808
809 case 3:
810 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
811 return false;
812
813 return true;
814 break;
815 }
816
817 return false;
818 }
819
820 override string GetDoorSelectionNameFromSeatPos(int posIdx)
821 {
822 switch( posIdx )
823 {
824 case 0:
825 return "doors_driver";
826 break;
827 case 1:
828 return "doors_codriver";
829 break;
830 case 2:
831 return "doors_cargo1";
832 break;
833 case 3:
834 return "doors_cargo2";
835 break;
836 }
837
838 return super.GetDoorSelectionNameFromSeatPos(posIdx);
839 }
840
841 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
842 {
843 switch( posIdx )
844 {
845 case 0:
846 return "CivSedanDriverDoors";
847 break;
848 case 1:
849 return "CivSedanCoDriverDoors";
850 break;
851 case 2:
852 return "CivSedanCargo1Doors";
853 break;
854 case 3:
855 return "CivSedanCargo2Doors";
856 break;
857 }
858
859 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
860 }
861
862 // 0 full ambient and engine sound
863 // 1 zero ambient and engine sound
864 override float OnSound(CarSoundCtrl ctrl, float oldValue)
865 {
866 switch (ctrl)
867 {
868 case CarSoundCtrl.DOORS:
869 float newValue = 0;
870 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
871 {
872 newValue += 0.25;
873 }
874
875 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
876 {
877 newValue += 0.25;
878 }
879
880 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
881 {
882 newValue += 0.25;
883 }
884
885 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
886 {
887 newValue += 0.25;
888 }
889
890 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
891 {
892 newValue -= 0.6;
893 }
894
895 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
896 {
897 newValue -= 0.6;
898 }
899
900 return Math.Clamp(newValue, 0, 1);
901 break;
902 }
903
904 return super.OnSound(ctrl, oldValue);
905 }
906
907 override string GetAnimSourceFromSelection(string selection)
908 {
909 switch (selection)
910 {
911 case "doors_driver":
912 return "DoorsDriver";
913 case "doors_codriver":
914 return "DoorsCoDriver";
915 case "doors_cargo1":
916 return "DoorsCargo1";
917 case "doors_cargo2":
918 return "DoorsCargo2";
919 case "doors_hood":
920 return "DoorsHood";
921 case "doors_trunk":
922 return "DoorsTrunk";
923 }
924
925 return "";
926 }
927
928 override bool IsVitalGlowPlug()
929 {
930 return false;
931 }
932
933 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
934 {
935 switch (currentSeat)
936 {
937 case 0:
938 return nextSeat == 1;
939
940 case 1:
941 return nextSeat == 0;
942
943 case 2:
944 return nextSeat == 3;
945
946 case 3:
947 return nextSeat == 2;
948 }
949
950 return false;
951 }
952
953 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
954 {
955 switch (pCurrentSeat)
956 {
957 case 0:
958 return pDoorsSelection == "DoorsDriver";
959
960 case 1:
961 return pDoorsSelection == "DoorsCoDriver";
962
963 case 2:
964 return pDoorsSelection == "DoorsCargo1";
965
966 case 3:
967 return pDoorsSelection == "DoorsCargo2";
968 }
969
970 return false;
971 }
972
973 override void OnDebugSpawn()
974 {
976 SpawnAdditionalItems();
977 FillUpCarFluids();
978
979 GameInventory inventory = GetInventory();
980 inventory.CreateInInventory("CivSedanWheel");
981 inventory.CreateInInventory("CivSedanWheel");
982 inventory.CreateInInventory("CivSedanWheel");
983 inventory.CreateInInventory("CivSedanWheel");
984
985 inventory.CreateInInventory("CivSedanDoors_Driver");
986 inventory.CreateInInventory("CivSedanDoors_CoDriver");
987 inventory.CreateInInventory("CivSedanDoors_BackLeft");
988 inventory.CreateInInventory("CivSedanDoors_BackRight");
989 inventory.CreateInInventory("CivSedanHood");
990 inventory.CreateInInventory("CivSedanTrunk");
991
992 //-----IN CAR CARGO
993 inventory.CreateInInventory("CivSedanWheel");
994 inventory.CreateInInventory("CivSedanWheel");
995 }
996
997 override float GetPushForceCoefficientMultiplier()
998 {
999 return 1.5;
1000 }
1001}
1002
1003class CivilianSedan_Wine : CivilianSedan
1004{
1005 override void OnDebugSpawn()
1006 {
1008 SpawnAdditionalItems();
1009 FillUpCarFluids();
1010
1011 GameInventory inventory = GetInventory();
1012 inventory.CreateInInventory("CivSedanWheel");
1013 inventory.CreateInInventory("CivSedanWheel");
1014 inventory.CreateInInventory("CivSedanWheel");
1015 inventory.CreateInInventory("CivSedanWheel");
1016
1017 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
1018 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
1019 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
1020 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
1021 inventory.CreateInInventory("CivSedanHood_Wine");
1022 inventory.CreateInInventory("CivSedanTrunk_Wine");
1023
1024 //-----IN CAR CARGO
1025 inventory.CreateInInventory("CivSedanWheel");
1026 inventory.CreateInInventory("CivSedanWheel");
1027 }
1028}
1029
1031{
1032 override void OnDebugSpawn()
1033 {
1035 SpawnAdditionalItems();
1036 FillUpCarFluids();
1037
1038 GameInventory inventory = GetInventory();
1039 inventory.CreateInInventory("CivSedanWheel");
1040 inventory.CreateInInventory("CivSedanWheel");
1041 inventory.CreateInInventory("CivSedanWheel");
1042 inventory.CreateInInventory("CivSedanWheel");
1043
1044 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1045 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1046 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1047 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1048 inventory.CreateInInventory("CivSedanHood_Black");
1049 inventory.CreateInInventory("CivSedanTrunk_Black");
1050
1051 //-----IN CAR CARGO
1052 inventory.CreateInInventory("CivSedanWheel");
1053 inventory.CreateInInventory("CivSedanWheel");
1054 }
1055}
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.