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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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