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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

599 : CarScript
600{
604
605 void OffroadHatchback()
606 {
607 //m_dmgContactCoef = 0.075;
608
609 m_EngineStartOK = "offroad_engine_start_SoundSet";
610 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
611 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
612 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
613 m_EngineStop = "offroad_engine_stop_SoundSet";
614 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
615
616 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
617 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
618 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
619 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
620
623
624 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_Horn_Short_SoundSet");
625 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_Horn_SoundSet");
626
627 SetEnginePos("0 0.7 1.2");
628
630 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
631 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
632 }
633
634 void ~OffroadHatchback()
635 {
636 m_UTSource = null;
637 m_UTSSettings = null;
638 m_UTSLEngine = null;
639 }
640
641 override void EEInit()
642 {
643 super.EEInit();
644
645 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
646 {
648 m_UTSSettings.m_ManualUpdate = true;
650 m_UTSSettings.m_TemperatureCap = 0;
651 m_UTSSettings.m_RangeFull = 0.5;
652 m_UTSSettings.m_RangeMax = 2;
653
656 }
657 }
658
659 override bool NeedElectricitySourceDevice()
660 {
661 return true;
662 }
663
665 {
666 super.GetElectricitySourceDevice();
667
668 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
669 }
670
671 override string GetElectricitySourceDeviceType()
672 {
673 return "CarBattery";
674 }
675
676 override void OnEngineStart()
677 {
678 super.OnEngineStart();
679
680 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
681 {
682 if (m_UTSource)
683 m_UTSource.SetDefferedActive(true, 20.0);
684 }
685 }
686
687 override void OnEngineStop()
688 {
689 super.OnEngineStop();
690
691 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
692 {
693 if (m_UTSource)
694 m_UTSource.SetDefferedActive(false, 10.0);
695 }
696 }
697
698 override void EOnPostSimulate(IEntity other, float timeSlice)
699 {
700 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
701 {
702 if (m_UTSource && m_UTSource.IsActive())
703 {
705 }
706 }
707 }
708
709 override int GetAnimInstance()
710 {
711 return VehicleAnimInstances.HATCHBACK;
712 }
713
714 override float GetTransportCameraDistance()
715 {
716 return 3.5;
717 }
718
719 override int GetSeatAnimationType( int posIdx )
720 {
721 switch (posIdx)
722 {
723 case 0:
724 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
725 case 1:
726 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
727 case 2:
728 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
729 case 3:
730 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
731 }
732
733 return 0;
734
735 }
736
737 override bool CanReleaseAttachment(EntityAI attachment)
738 {
739 if (!super.CanReleaseAttachment(attachment))
740 {
741 return false;
742 }
743
744 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
745 {
746 string attType = attachment.GetType();
747 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
748 {
749 return false;
750 }
751 }
752
753 return true;
754 }
755
756 override protected bool CanManipulateSpareWheel(string slotSelectionName)
757 {
758 return GetCarDoorsState("NivaHood") != 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("NivaHood") == 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 {
784 return false;
785 }
786
787 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
788 {
789 return false;
790 }
791
792 return true;
793 }
794
795 override int GetCarDoorsState(string slotType)
796 {
797 CarDoor carDoor;
798
799 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
800 if (!carDoor)
801 {
802 return CarDoorState.DOORS_MISSING;
803 }
804
805 switch (slotType)
806 {
807 case "NivaDriverDoors":
808 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
809
810 case "NivaCoDriverDoors":
811 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
812
813 case "NivaHood":
814 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
815
816 case "NivaTrunk":
817 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
818 }
819
820 return CarDoorState.DOORS_MISSING;
821 }
822
823 override bool CrewCanGetThrough(int posIdx)
824 {
825 CarDoor carDoor;
826 switch (posIdx)
827 {
828 case 0:
829 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
830 return false;
831 else if (GetAnimationPhase("SeatDriver") > 0.5)
832 return false;
833
834 return true;
835
836 case 1:
837 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
838 return false;
839 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
840 return false;
841
842 return true;
843
844 case 2:
845 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
846 return false;
847 else if (GetAnimationPhase("SeatDriver") <= 0.5)
848 return false;
849
850 return true;
851
852 case 3:
853 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
854 return false;
855 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
856 return false;
857
858 return true;
859 }
860
861 return false;
862 }
863
864 override string GetDoorSelectionNameFromSeatPos(int posIdx)
865 {
866 switch (posIdx)
867 {
868 case 0:
869 case 2:
870 return "doors_driver";
871 case 1:
872 case 3:
873 return "doors_codriver";
874 }
875
876 return super.GetDoorSelectionNameFromSeatPos(posIdx);
877 }
878
879 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
880 {
881 switch (posIdx)
882 {
883 case 0:
884 case 2:
885 return "NivaDriverDoors";
886 case 1:
887 case 3:
888 return "NivaCoDriverDoors";
889 }
890
891 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
892 }
893
894 // 0 full ambient and engine sound
895 // 1 zero ambient and engine sound
896 override float OnSound(CarSoundCtrl ctrl, float oldValue)
897 {
898 float tempCap = 0.0;
899
900 switch (ctrl)
901 {
902 case CarSoundCtrl.DOORS:
903 float newValue = 0;
904 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
905 {
906 newValue += 0.5;
907 }
908
909 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
910 {
911 newValue += 0.5;
912 }
913
914 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
915 {
916 newValue += 0.3;
917 }
918
919 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
920 {
921 newValue -= 0.6;
922 }
923
924 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
925 {
926 newValue -= 0.2;
927 }
928
929 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
930 {
931 newValue -= 0.2;
932 }
933
934 return Math.Clamp(newValue, 0, 1);
935 break;
936 }
937
938 return super.OnSound(ctrl, oldValue);
939 }
940
941 override string GetAnimSourceFromSelection( string selection )
942 {
943 switch (selection)
944 {
945 case "doors_driver":
946 return "DoorsDriver";
947 case "doors_codriver":
948 return "DoorsCoDriver";
949 case "doors_hood":
950 return "DoorsHood";
951 case "doors_trunk":
952 return "DoorsTrunk";
953 case "seatback_driver":
954 return "SeatDriver";
955 case "seatback_codriver":
956 return "SeatCoDriver";
957 }
958
959 return "";
960 }
961
962 override string GetDoorConditionPointFromSelection(string selection)
963 {
964 switch (selection)
965 {
966 case "seat_driver":
967 case "seatback_driver":
968 case "seat_cargo1":
969 return "seat_con_1_1";
970 case "seat_codriver":
971 case "seatback_codriver":
972 case "seat_cargo2":
973 return "seat_con_2_1";
974 }
975
976 return "";
977 }
978
979 override int GetCrewIndex(string selection)
980 {
981 switch (selection)
982 {
983 case "seatback_driver":
984 return 0;
985 case "seatback_codriver":
986 return 1;
987 }
988
989 return -1;
990 }
991
992 override bool IsVitalGlowPlug()
993 {
994 return false;
995 }
996
997 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
998 {
999 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1000 return false;
1001
1002 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1003 return false;
1004
1005 switch (currentSeat)
1006 {
1007 case 0:
1008 return nextSeat == 1;
1009
1010 case 1:
1011 return nextSeat == 0;
1012
1013 case 2:
1014 return nextSeat == 3;
1015
1016 case 3:
1017 return nextSeat == 2;
1018 }
1019
1020 return false;
1021 }
1022
1023 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1024 {
1025 switch (pCurrentSeat)
1026 {
1027 case 0:
1028 return pDoorsSelection == "DoorsDriver";
1029
1030 case 1:
1031 return pDoorsSelection == "DoorsCoDriver";
1032
1033 case 2:
1034 return pDoorsSelection == "DoorsDriver";
1035
1036 case 3:
1037 return pDoorsSelection == "DoorsCoDriver";
1038 }
1039
1040 return false;
1041 }
1042
1043 override int GetSeatIndexFromDoor( string pDoorSelection )
1044 {
1045 switch (pDoorSelection)
1046 {
1047 case "DoorsDriver":
1048 return 0;
1049 case "DoorsCoDriver":
1050 return 1;
1051 }
1052
1053 return -1;
1054 }
1055
1056 override void SetActions()
1057 {
1058 super.SetActions();
1059
1061 }
1062
1063 override void OnDebugSpawn()
1064 {
1066 SpawnAdditionalItems();
1067 FillUpCarFluids();
1068
1069 GameInventory inventory = GetInventory();
1070 inventory.CreateInInventory("HatchbackWheel");
1071 inventory.CreateInInventory("HatchbackWheel");
1072 inventory.CreateInInventory("HatchbackWheel" );
1073 inventory.CreateInInventory("HatchbackWheel");
1074
1075 inventory.CreateInInventory("HatchbackDoors_Driver");
1076 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1077 inventory.CreateInInventory("HatchbackHood");
1078 inventory.CreateInInventory("HatchbackTrunk");
1079
1080 //-----IN CAR CARGO
1081 inventory.CreateInInventory("HatchbackWheel");
1082 inventory.CreateInInventory("HatchbackWheel");
1083 }
1084}
1085
1086class OffroadHatchback_White : OffroadHatchback
1087{
1088 override void OnDebugSpawn()
1089 {
1091 SpawnAdditionalItems();
1092 FillUpCarFluids();
1093
1094 GameInventory inventory = GetInventory();
1095 inventory.CreateInInventory("HatchbackWheel");
1096 inventory.CreateInInventory("HatchbackWheel");
1097 inventory.CreateInInventory("HatchbackWheel");
1098 inventory.CreateInInventory("HatchbackWheel");
1099
1100 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1101 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1102 inventory.CreateInInventory("HatchbackHood_White");
1103 inventory.CreateInInventory("HatchbackTrunk_White");
1104
1105
1106 //-----IN CAR CARGO
1107 inventory.CreateInInventory("HatchbackWheel");
1108 inventory.CreateInInventory("HatchbackWheel");
1109 }
1110}
1111
1113{
1114 override void OnDebugSpawn()
1115 {
1117 SpawnAdditionalItems();
1118 FillUpCarFluids();
1119
1120 GameInventory inventory = GetInventory();
1121 inventory.CreateInInventory("HatchbackWheel");
1122 inventory.CreateInInventory("HatchbackWheel");
1123 inventory.CreateInInventory("HatchbackWheel");
1124 inventory.CreateInInventory("HatchbackWheel");
1125
1126 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1127 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1128 inventory.CreateInInventory("HatchbackHood_Blue");
1129 inventory.CreateInInventory("HatchbackTrunk_Blue");
1130
1131 //-----IN CAR CARGO
1132 inventory.CreateInInventory("HatchbackWheel");
1133 inventory.CreateInInventory("HatchbackWheel");
1134 }
1135}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
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
OffroadHatchbackLightProfileFront VehicleLightProfileFront OffroadHatchbackLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override void SetActions()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override string GetDoorConditionPointFromSelection(string selection)
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()
override EntityAI GetElectricitySourceDevice()
void ~OffroadHatchback()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
OffroadHatchback CarScript OnDebugSpawn()
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override int GetSeatIndexFromDoor(string pDoorSelection)
override string GetElectricitySourceDeviceType()
void OffroadHatchback()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override int GetCrewIndex(string selection)
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
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.