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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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