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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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