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

◆ GetWeightCoef()

override float OnDebugSpawn::GetWeightCoef ( )
protected

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

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

Используется в Car::EOnPostFrame() и EOnPostFrame().