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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

556 : CarScript
557{
561
562 void Sedan_02()
563 {
564 m_dmgContactCoef = 0.0790;
565
566 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
567 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
568 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
569 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
570 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
571 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
572
573 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
574 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
575
576 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Sedan_02LightProfileFront()));
577 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Sedan_02LightProfileRear()));
578
579 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Sedan_02_Horn_Short_SoundSet");
580 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Sedan_02_Horn_SoundSet");
581
582 SetEnginePos("0 0.7 -1.7");
583
585 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
586 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
587 }
588
589 void ~Sedan_02()
590 {
591 m_UTSource = null;
592 m_UTSSettings = null;
593 m_UTSLEngine = null;
594 }
595
596 override void EEInit()
597 {
598 super.EEInit();
599
600 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
601 {
603 m_UTSSettings.m_ManualUpdate = true;
605 m_UTSSettings.m_TemperatureCap = 0;
606 m_UTSSettings.m_RangeFull = 0.5;
607 m_UTSSettings.m_RangeMax = 2;
608
611 }
612 }
613
614 override bool NeedElectricitySourceDevice()
615 {
616 return true;
617 }
618
620 {
621 super.GetElectricitySourceDevice();
622
623 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
624 }
625
626 override string GetElectricitySourceDeviceType()
627 {
628 return "CarBattery";
629 }
630
631 override void OnEngineStart()
632 {
633 super.OnEngineStart();
634
635 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
636 {
637 if (m_UTSource)
638 m_UTSource.SetDefferedActive(true, 20.0);
639 }
640 }
641
642 override void OnEngineStop()
643 {
644 super.OnEngineStop();
645
646 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
647 {
648 if (m_UTSource)
649 m_UTSource.SetDefferedActive(false, 10.0);
650 }
651 }
652
653 override void EOnPostSimulate(IEntity other, float timeSlice)
654 {
655 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
656 {
657 if (m_UTSource && m_UTSource.IsActive())
658 {
660 }
661 }
662 }
663
664 override int GetAnimInstance()
665 {
666 return VehicleAnimInstances.S120;
667 }
668
669 override int GetSeatAnimationType(int posIdx)
670 {
671 switch (posIdx)
672 {
673 case 0:
674 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
675 case 1:
676 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
677 case 2:
678 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
679 case 3:
680 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
681 }
682
683 return 0;
684 }
685
686 override bool CanReleaseAttachment( EntityAI attachment )
687 {
688 if (!super.CanReleaseAttachment(attachment))
689 {
690 return false;
691 }
692
693 string attType = attachment.GetType();
694 switch (attType)
695 {
696 case "CarBattery":
697 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
698 {
699 return false;
700 }
701 break;
702
703 case "SparkPlug":
704 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
705 {
706 return false;
707 }
708 break;
709
710 case "CarRadiator":
711 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
712 {
713 return false;
714 }
715 break;
716 }
717
718 return true;
719 }
720
721 override protected bool CanManipulateSpareWheel(string slotSelectionName)
722 {
723 return GetCarDoorsState("Sedan_02_Hood") != 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("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
737 {
738 return false;
739 }
740 }
741
742 if (category_name.Contains("trunk"))
743 {
744 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
745 {
746 return false;
747 }
748 }
749
750 return true;
751 }
752
753 override bool CanDisplayCargo()
754 {
755 if ( !super.CanDisplayCargo() )
756 return false;
757
758 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
759 return false;
760
761 return true;
762 }
763
764 override int GetCarDoorsState(string slotType)
765 {
766 CarDoor carDoor;
767
768 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
769 if (!carDoor)
770 {
771 return CarDoorState.DOORS_MISSING;
772 }
773
774 switch (slotType)
775 {
776 case "Sedan_02_Door_1_1":
777 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
778
779 case "Sedan_02_Door_2_1":
780 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
781
782 case "Sedan_02_Door_1_2":
783 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
784
785 case "Sedan_02_Door_2_2":
786 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
787
788 case "Sedan_02_Hood":
789 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
790
791 case "Sedan_02_Trunk":
792 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
793 }
794
795 return CarDoorState.DOORS_MISSING;
796 }
797
798
799 override bool CrewCanGetThrough( int posIdx )
800 {
801 switch( posIdx )
802 {
803 case 0:
804 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
805 return false;
806
807 return true;
808 break;
809
810 case 1:
811 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
812 return false;
813
814 return true;
815 break;
816
817 case 2:
818 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
819 return false;
820
821 return true;
822 break;
823
824 case 3:
825 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
826 return false;
827
828 return true;
829 break;
830 }
831
832 return false;
833 }
834
835 override string GetDoorSelectionNameFromSeatPos(int posIdx)
836 {
837 switch( posIdx )
838 {
839 case 0:
840 return "doors_driver";
841 break;
842 case 1:
843 return "doors_codriver";
844 break;
845 case 2:
846 return "doors_cargo1";
847 break;
848 case 3:
849 return "doors_cargo2";
850 break;
851 }
852
853 return super.GetDoorSelectionNameFromSeatPos(posIdx);
854 }
855
856 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
857 {
858 switch( posIdx )
859 {
860 case 0:
861 return "Sedan_02_Door_1_1";
862 break;
863 case 1:
864 return "Sedan_02_Door_2_1";
865 break;
866 case 2:
867 return "Sedan_02_Door_1_2";
868 break;
869 case 3:
870 return "Sedan_02_Door_2_2";
871 break;
872 }
873
874 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
875 }
876
877 override float OnSound(CarSoundCtrl ctrl, float oldValue)
878 {
879 switch ( ctrl )
880 {
881 case CarSoundCtrl.DOORS:
882 float newValue = 0;
883 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
884 {
885 newValue += 0.25;
886 }
887
888 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
889 {
890 newValue += 0.25;
891 }
892
893 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
894 {
895 newValue += 0.25;
896 }
897
898 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
899 {
900 newValue += 0.25;
901 }
902
903 return Math.Clamp(newValue, 0, 1);
904 break;
905 }
906
907 return super.OnSound(ctrl, oldValue);
908 }
909
910 override string GetAnimSourceFromSelection( string selection )
911 {
912 switch( selection )
913 {
914 case "doors_driver":
915 return "DoorsDriver";
916 case "doors_codriver":
917 return "DoorsCoDriver";
918 case "doors_cargo1":
919 return "DoorsCargo1";
920 case "doors_cargo2":
921 return "DoorsCargo2";
922 case "doors_hood":
923 return "DoorsHood";
924 case "doors_trunk":
925 return "DoorsTrunk";
926 }
927
928 return "";
929 }
930
931 override bool IsVitalGlowPlug()
932 {
933 return false;
934 }
935
936 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
937 {
938 switch (currentSeat)
939 {
940 case 0:
941 return nextSeat == 1;
942
943 case 1:
944 return nextSeat == 0;
945
946 case 2:
947 return nextSeat == 3;
948
949 case 3:
950 return nextSeat == 2;
951 }
952
953 return false;
954 }
955
956 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
957 {
958 switch (pCurrentSeat)
959 {
960 case 0:
961 return pDoorsSelection == "DoorsDriver";
962
963 case 1:
964 return pDoorsSelection == "DoorsCoDriver";
965
966 case 2:
967 return pDoorsSelection == "DoorsCargo1";
968
969 case 3:
970 return pDoorsSelection == "DoorsCargo2";
971 }
972
973 return false;
974 }
975
976 override void OnDebugSpawn()
977 {
979 SpawnAdditionalItems();
980 FillUpCarFluids();
981
982 GameInventory inventory = GetInventory();
983 inventory.CreateInInventory("Sedan_02_Wheel");
984 inventory.CreateInInventory("Sedan_02_Wheel");
985 inventory.CreateInInventory("Sedan_02_Wheel");
986 inventory.CreateInInventory("Sedan_02_Wheel");
987 inventory.CreateInInventory("Sedan_02_Wheel");
988
989 inventory.CreateInInventory("Sedan_02_Door_1_1");
990 inventory.CreateInInventory("Sedan_02_Door_1_2");
991 inventory.CreateInInventory("Sedan_02_Door_2_1");
992 inventory.CreateInInventory("Sedan_02_Door_2_2");
993 inventory.CreateInInventory("Sedan_02_Hood");
994 inventory.CreateInInventory("Sedan_02_Trunk");
995
996 //-----IN CAR CARGO
997 inventory.CreateInInventory("Sedan_02_Wheel");
998 inventory.CreateInInventory("Sedan_02_Wheel");
999 }
1000}
1001
1002class Sedan_02_Red : Sedan_02
1003{
1004 override void OnDebugSpawn()
1005 {
1007 SpawnAdditionalItems();
1008 FillUpCarFluids();
1009
1010 GameInventory inventory = GetInventory();
1011 inventory.CreateInInventory("Sedan_02_Wheel");
1012 inventory.CreateInInventory("Sedan_02_Wheel");
1013 inventory.CreateInInventory("Sedan_02_Wheel");
1014 inventory.CreateInInventory("Sedan_02_Wheel");
1015
1016 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1017 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1018 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1019 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1020 inventory.CreateInInventory("Sedan_02_Hood_Red");
1021 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1022
1023 //-----IN CAR CARGO
1024 inventory.CreateInInventory("Sedan_02_Wheel");
1025 inventory.CreateInInventory("Sedan_02_Wheel");
1026 }
1027}
1028
1029class Sedan_02_Grey : Sedan_02
1030{
1031 override void OnDebugSpawn()
1032 {
1034 SpawnAdditionalItems();
1035 FillUpCarFluids();
1036
1037 GameInventory inventory = GetInventory();
1038 inventory.CreateInInventory("Sedan_02_Wheel");
1039 inventory.CreateInInventory("Sedan_02_Wheel");
1040 inventory.CreateInInventory("Sedan_02_Wheel");
1041 inventory.CreateInInventory("Sedan_02_Wheel");
1042
1043 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1044 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1045 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1046 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1047 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1048 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1049
1050 //-----IN CAR CARGO
1051 inventory.CreateInInventory("Sedan_02_Wheel");
1052 inventory.CreateInInventory("Sedan_02_Wheel");
1053 }
1054}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
Sedan_02LightProfileFront VehicleLightProfileFront Sedan_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void ~Sedan_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
Sedan_02 CarScript OnDebugSpawn()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
void Sedan_02()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.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()
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
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.