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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

508{
512
513 void Sedan_02()
514 {
515 m_dmgContactCoef = 0.0790;
516
517 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
518 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
519 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
520 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
521 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
522 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
523
524 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
525 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
526
527 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
528 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
529
530 SetEnginePos("0 0.7 -1.7");
531 }
532
533 override void EEInit()
534 {
535 super.EEInit();
536
537 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
538 {
540 m_UTSSettings.m_ManualUpdate = true;
542 m_UTSSettings.m_TemperatureCap = 0;
543 m_UTSSettings.m_RangeFull = 0.5;
544 m_UTSSettings.m_RangeMax = 2;
545
548 }
549 }
550
551 override void OnEngineStart()
552 {
553 super.OnEngineStart();
554
555 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
556 {
557 m_UTSource.SetDefferedActive(true, 20.0);
558 }
559 }
560
561 override void OnEngineStop()
562 {
563 super.OnEngineStop();
564
565 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
566 {
567 m_UTSource.SetDefferedActive(false, 10.0);
568 }
569 }
570
571 override void EOnPostSimulate(IEntity other, float timeSlice)
572 {
573 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
574 {
575 if (m_UTSource.IsActive())
576 {
578 }
579 }
580 }
581
582 override int GetAnimInstance()
583 {
584 return VehicleAnimInstances.S120;
585 }
586
587 override int GetSeatAnimationType(int posIdx)
588 {
589 switch (posIdx)
590 {
591 case 0:
592 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
593 case 1:
594 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
595 case 2:
596 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
597 case 3:
598 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
599 }
600
601 return 0;
602 }
603
604 // Override for car-specific light type
606 {
607 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
608 }
609
610 // Override for car-specific light type
612 {
613 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
614 }
615
616 override bool CanReleaseAttachment( EntityAI attachment )
617 {
618 if (!super.CanReleaseAttachment(attachment))
619 {
620 return false;
621 }
622
623 string attType = attachment.GetType();
624 switch (attType)
625 {
626 case "CarBattery":
627 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
628 {
629 return false;
630 }
631 break;
632
633 case "SparkPlug":
634 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
635 {
636 return false;
637 }
638 break;
639
640 case "CarRadiator":
641 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
642 {
643 return false;
644 }
645 break;
646 }
647
648 return true;
649 }
650
651 override protected bool CanManipulateSpareWheel(string slotSelectionName)
652 {
653 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
654 }
655
656 override bool CanDisplayAttachmentCategory(string category_name)
657 {
658 if ( !super.CanDisplayAttachmentCategory(category_name))
659 {
660 return false;
661 }
662
663 category_name.ToLower();
664 if (category_name.Contains("engine"))
665 {
666 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
667 {
668 return false;
669 }
670 }
671
672 if (category_name.Contains("trunk"))
673 {
674 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
675 {
676 return false;
677 }
678 }
679
680 return true;
681 }
682
683 override bool CanDisplayCargo()
684 {
685 if ( !super.CanDisplayCargo() )
686 return false;
687
688 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
689 return false;
690
691 return true;
692 }
693
694 override int GetCarDoorsState(string slotType)
695 {
696 CarDoor carDoor;
697
698 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
699 if (!carDoor)
700 {
701 return CarDoorState.DOORS_MISSING;
702 }
703
704 switch (slotType)
705 {
706 case "Sedan_02_Door_1_1":
707 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
708
709 case "Sedan_02_Door_2_1":
710 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
711
712 case "Sedan_02_Door_1_2":
713 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
714
715 case "Sedan_02_Door_2_2":
716 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
717
718 case "Sedan_02_Hood":
719 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
720
721 case "Sedan_02_Trunk":
722 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
723 }
724
725 return CarDoorState.DOORS_MISSING;
726 }
727
728
729 override bool CrewCanGetThrough( int posIdx )
730 {
731 switch( posIdx )
732 {
733 case 0:
734 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
735 return false;
736
737 return true;
738 break;
739
740 case 1:
741 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
742 return false;
743
744 return true;
745 break;
746
747 case 2:
748 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
749 return false;
750
751 return true;
752 break;
753
754 case 3:
755 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
756 return false;
757
758 return true;
759 break;
760 }
761
762 return false;
763 }
764
765 override string GetDoorSelectionNameFromSeatPos(int posIdx)
766 {
767 switch( posIdx )
768 {
769 case 0:
770 return "doors_driver";
771 break;
772 case 1:
773 return "doors_codriver";
774 break;
775 case 2:
776 return "doors_cargo1";
777 break;
778 case 3:
779 return "doors_cargo2";
780 break;
781 }
782
783 return super.GetDoorSelectionNameFromSeatPos(posIdx);
784 }
785
786 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
787 {
788 switch( posIdx )
789 {
790 case 0:
791 return "Sedan_02_Door_1_1";
792 break;
793 case 1:
794 return "Sedan_02_Door_2_1";
795 break;
796 case 2:
797 return "Sedan_02_Door_1_2";
798 break;
799 case 3:
800 return "Sedan_02_Door_2_2";
801 break;
802 }
803
804 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
805 }
806
807 override float OnSound(CarSoundCtrl ctrl, float oldValue)
808 {
809 switch ( ctrl )
810 {
811 case CarSoundCtrl.DOORS:
812 float newValue = 0;
813 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
814 {
815 newValue += 0.25;
816 }
817
818 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
819 {
820 newValue += 0.25;
821 }
822
823 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
824 {
825 newValue += 0.25;
826 }
827
828 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
829 {
830 newValue += 0.25;
831 }
832
833 return Math.Clamp(newValue, 0, 1);
834 break;
835 }
836
837 return super.OnSound(ctrl, oldValue);
838 }
839
840 override string GetAnimSourceFromSelection( string selection )
841 {
842 switch( selection )
843 {
844 case "doors_driver":
845 return "DoorsDriver";
846 case "doors_codriver":
847 return "DoorsCoDriver";
848 case "doors_cargo1":
849 return "DoorsCargo1";
850 case "doors_cargo2":
851 return "DoorsCargo2";
852 case "doors_hood":
853 return "DoorsHood";
854 case "doors_trunk":
855 return "DoorsTrunk";
856 }
857
858 return "";
859 }
860
861
862 override bool IsVitalTruckBattery()
863 {
864 return false;
865 }
866
867 override bool IsVitalGlowPlug()
868 {
869 return false;
870 }
871
872 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
873 {
874 switch (currentSeat)
875 {
876 case 0:
877 return nextSeat == 1;
878
879 case 1:
880 return nextSeat == 0;
881
882 case 2:
883 return nextSeat == 3;
884
885 case 3:
886 return nextSeat == 2;
887 }
888
889 return false;
890 }
891
892 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
893 {
894 switch (pCurrentSeat)
895 {
896 case 0:
897 return pDoorsSelection == "DoorsDriver";
898
899 case 1:
900 return pDoorsSelection == "DoorsCoDriver";
901
902 case 2:
903 return pDoorsSelection == "DoorsCargo1";
904
905 case 3:
906 return pDoorsSelection == "DoorsCargo2";
907 }
908
909 return false;
910 }
911
912 override void OnDebugSpawn()
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
918 GetInventory().CreateInInventory("Sedan_02_Wheel");
919 GetInventory().CreateInInventory("Sedan_02_Wheel");
920 GetInventory().CreateInInventory("Sedan_02_Wheel");
921 GetInventory().CreateInInventory("Sedan_02_Wheel");
922 GetInventory().CreateInInventory("Sedan_02_Wheel");
923
924 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
925 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
926 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
927 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
928 GetInventory().CreateInInventory("Sedan_02_Hood");
929 GetInventory().CreateInInventory("Sedan_02_Trunk");
930
931 //-----IN CAR CARGO
932 GetInventory().CreateInInventory("Sedan_02_Wheel");
933 GetInventory().CreateInInventory("Sedan_02_Wheel");
934 }
935}
936
937class Sedan_02_Red extends Sedan_02
938{
939 override void OnDebugSpawn()
940 {
941 SpawnUniversalParts();
942 SpawnAdditionalItems();
943 FillUpCarFluids();
944
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946 GetInventory().CreateInInventory("Sedan_02_Wheel");
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949
950 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
951 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
952 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
953 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
954 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
955 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
956
957 //-----IN CAR CARGO
958 GetInventory().CreateInInventory("Sedan_02_Wheel");
959 GetInventory().CreateInInventory("Sedan_02_Wheel");
960 }
961}
962
963class Sedan_02_Grey extends Sedan_02
964{
965 override void OnDebugSpawn()
966 {
967 SpawnUniversalParts();
968 SpawnAdditionalItems();
969 FillUpCarFluids();
970
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972 GetInventory().CreateInInventory("Sedan_02_Wheel");
973 GetInventory().CreateInInventory("Sedan_02_Wheel");
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975
976 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
977 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
978 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
979 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
980 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
981 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
982
983 //-----IN CAR CARGO
984 GetInventory().CreateInInventory("Sedan_02_Wheel");
985 GetInventory().CreateInInventory("Sedan_02_Wheel");
986 }
987}
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 bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:797
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:433
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:765
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:732
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:711
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:496
override void OnEngineStop()
Определения Sedan_02.c:486
override void EEInit()
Определения Sedan_02.c:458
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:541
override bool CanDisplayCargo()
Определения Sedan_02.c:608
override void OnEngineStart()
Определения Sedan_02.c:476
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:530
override int GetAnimInstance()
Определения Sedan_02.c:507
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:654
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:817
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:576
override bool IsVitalGlowPlug()
Определения Sedan_02.c:792
void Sedan_02()
Определения Sedan_02.c:438
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:536
override bool IsVitalTruckBattery()
Определения Sedan_02.c:787
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:690
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:619
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:581
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()
Определения Sedan_02.c:459
Определения Sedan_02.c:458
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
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.