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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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