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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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