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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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