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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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