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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

554 : CarScript
555{
559
560 void CivilianSedan()
561 {
562 //m_dmgContactCoef = 0.065;
563
564 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
565 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
566 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
567 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
568 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
569 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
570
571 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
572 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
573
574 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new CivilianSedanLightProfileFront()));
575 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new CivilianSedanLightProfileRear()));
576
577 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "CivilianSedan_Horn_Short_SoundSet");
578 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "CivilianSedan_Horn_SoundSet");
579
580 SetEnginePos("0 0.7 1.6");
581
583 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
584 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
585 }
586
587 void ~CivilianSedan()
588 {
589 m_UTSource = null;
590 m_UTSSettings = null;
591 m_UTSLEngine = null;
592 }
593
594 override void EEInit()
595 {
596 super.EEInit();
597
598 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
599 {
601 m_UTSSettings.m_ManualUpdate = true;
603 m_UTSSettings.m_TemperatureCap = 0;
604 m_UTSSettings.m_RangeFull = 0.5;
605 m_UTSSettings.m_RangeMax = 2;
606
609 }
610 }
611
612 override bool NeedElectricitySourceDevice()
613 {
614 return true;
615 }
616
618 {
619 super.GetElectricitySourceDevice();
620
621 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
622 }
623
624 override string GetElectricitySourceDeviceType()
625 {
626 return "CarBattery";
627 }
628
629 override void OnEngineStart()
630 {
631 super.OnEngineStart();
632
633 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
634 {
635 if (m_UTSource)
636 m_UTSource.SetDefferedActive(true, 20.0);
637 }
638 }
639
640 override void OnEngineStop()
641 {
642 super.OnEngineStop();
643
644 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
645 {
646 if (m_UTSource)
647 m_UTSource.SetDefferedActive(false, 10.0);
648 }
649 }
650
651 override void EOnPostSimulate(IEntity other, float timeSlice)
652 {
653 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
654 {
655 if (m_UTSource && m_UTSource.IsActive())
656 {
658 }
659 }
660 }
661
662 override int GetAnimInstance()
663 {
664 return VehicleAnimInstances.SEDAN;
665 }
666
667 override float GetTransportCameraDistance()
668 {
669 return 4.5;
670 }
671
672 override int GetSeatAnimationType(int posIdx)
673 {
674 switch (posIdx)
675 {
676 case 0:
677 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
678 case 1:
679 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
680 case 2:
681 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
682 case 3:
683 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
684 }
685
686 return 0;
687 }
688
689 override bool CanReleaseAttachment( EntityAI attachment )
690 {
691 if( !super.CanReleaseAttachment( attachment ) )
692 return false;
693
694 string attType = attachment.GetType();
695
696 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
697 {
698 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
699 return false;
700 }
701
702 return true;
703 }
704
705 override protected bool CanManipulateSpareWheel(string slotSelectionName)
706 {
707 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
708 }
709
710 override bool CanDisplayAttachmentCategory(string category_name)
711 {
712 //super
713 if (!super.CanDisplayAttachmentCategory(category_name))
714 return false;
715 //
716
717 category_name.ToLower();
718 if (category_name.Contains("engine"))
719 {
720 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
721 return false;
722 }
723
724 return true;
725 }
726
727 override bool CanDisplayCargo()
728 {
729 if ( !super.CanDisplayCargo() )
730 return false;
731
732 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
733 return false;
734
735 return true;
736 }
737
738 override int GetCarDoorsState( string slotType )
739 {
740 CarDoor carDoor;
741
742 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
743 if (!carDoor)
744 {
745 return CarDoorState.DOORS_MISSING;
746 }
747
748 switch (slotType)
749 {
750 case "CivSedanDriverDoors":
751 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
752 break;
753
754 case "CivSedanCoDriverDoors":
755 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
756 break;
757
758 case "CivSedanCargo1Doors":
759 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
760 break;
761
762 case "CivSedanCargo2Doors":
763 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
764 break;
765
766 case "CivSedanTrunk":
767 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
768 break;
769
770 case "CivSedanHood":
771 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
772 break;
773 }
774
775 return CarDoorState.DOORS_MISSING;
776 }
777
778
779 override bool CrewCanGetThrough( int posIdx )
780 {
781 switch( posIdx )
782 {
783 case 0:
784 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
785 return false;
786
787 return true;
788 break;
789
790 case 1:
791 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
792 return false;
793
794 return true;
795 break;
796
797 case 2:
798 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
799 return false;
800
801 return true;
802 break;
803
804 case 3:
805 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
806 return false;
807
808 return true;
809 break;
810 }
811
812 return false;
813 }
814
815 override string GetDoorSelectionNameFromSeatPos(int posIdx)
816 {
817 switch( posIdx )
818 {
819 case 0:
820 return "doors_driver";
821 break;
822 case 1:
823 return "doors_codriver";
824 break;
825 case 2:
826 return "doors_cargo1";
827 break;
828 case 3:
829 return "doors_cargo2";
830 break;
831 }
832
833 return super.GetDoorSelectionNameFromSeatPos(posIdx);
834 }
835
836 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
837 {
838 switch( posIdx )
839 {
840 case 0:
841 return "CivSedanDriverDoors";
842 break;
843 case 1:
844 return "CivSedanCoDriverDoors";
845 break;
846 case 2:
847 return "CivSedanCargo1Doors";
848 break;
849 case 3:
850 return "CivSedanCargo2Doors";
851 break;
852 }
853
854 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
855 }
856
857 // 0 full ambient and engine sound
858 // 1 zero ambient and engine sound
859 override float OnSound(CarSoundCtrl ctrl, float oldValue)
860 {
861 switch (ctrl)
862 {
863 case CarSoundCtrl.DOORS:
864 float newValue = 0;
865 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
866 {
867 newValue += 0.25;
868 }
869
870 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
871 {
872 newValue += 0.25;
873 }
874
875 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
876 {
877 newValue += 0.25;
878 }
879
880 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
881 {
882 newValue += 0.25;
883 }
884
885 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
886 {
887 newValue -= 0.6;
888 }
889
890 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
891 {
892 newValue -= 0.6;
893 }
894
895 return Math.Clamp(newValue, 0, 1);
896 break;
897 }
898
899 return super.OnSound(ctrl, oldValue);
900 }
901
902 override string GetAnimSourceFromSelection(string selection)
903 {
904 switch (selection)
905 {
906 case "doors_driver":
907 return "DoorsDriver";
908 case "doors_codriver":
909 return "DoorsCoDriver";
910 case "doors_cargo1":
911 return "DoorsCargo1";
912 case "doors_cargo2":
913 return "DoorsCargo2";
914 case "doors_hood":
915 return "DoorsHood";
916 case "doors_trunk":
917 return "DoorsTrunk";
918 }
919
920 return "";
921 }
922
923 override bool IsVitalGlowPlug()
924 {
925 return false;
926 }
927
928 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
929 {
930 switch (currentSeat)
931 {
932 case 0:
933 return nextSeat == 1;
934
935 case 1:
936 return nextSeat == 0;
937
938 case 2:
939 return nextSeat == 3;
940
941 case 3:
942 return nextSeat == 2;
943 }
944
945 return false;
946 }
947
948 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
949 {
950 switch (pCurrentSeat)
951 {
952 case 0:
953 return pDoorsSelection == "DoorsDriver";
954
955 case 1:
956 return pDoorsSelection == "DoorsCoDriver";
957
958 case 2:
959 return pDoorsSelection == "DoorsCargo1";
960
961 case 3:
962 return pDoorsSelection == "DoorsCargo2";
963 }
964
965 return false;
966 }
967
968 override void OnDebugSpawn()
969 {
971 SpawnAdditionalItems();
972 FillUpCarFluids();
973
974 GameInventory inventory = GetInventory();
975 inventory.CreateInInventory("CivSedanWheel");
976 inventory.CreateInInventory("CivSedanWheel");
977 inventory.CreateInInventory("CivSedanWheel");
978 inventory.CreateInInventory("CivSedanWheel");
979
980 inventory.CreateInInventory("CivSedanDoors_Driver");
981 inventory.CreateInInventory("CivSedanDoors_CoDriver");
982 inventory.CreateInInventory("CivSedanDoors_BackLeft");
983 inventory.CreateInInventory("CivSedanDoors_BackRight");
984 inventory.CreateInInventory("CivSedanHood");
985 inventory.CreateInInventory("CivSedanTrunk");
986
987 //-----IN CAR CARGO
988 inventory.CreateInInventory("CivSedanWheel");
989 inventory.CreateInInventory("CivSedanWheel");
990 }
991
992 override float GetPushForceCoefficientMultiplier()
993 {
994 return 1.5;
995 }
996}
997
998class CivilianSedan_Wine : CivilianSedan
999{
1000 override void OnDebugSpawn()
1001 {
1003 SpawnAdditionalItems();
1004 FillUpCarFluids();
1005
1006 GameInventory inventory = GetInventory();
1007 inventory.CreateInInventory("CivSedanWheel");
1008 inventory.CreateInInventory("CivSedanWheel");
1009 inventory.CreateInInventory("CivSedanWheel");
1010 inventory.CreateInInventory("CivSedanWheel");
1011
1012 inventory.CreateInInventory("CivSedanDoors_Driver_Wine");
1013 inventory.CreateInInventory("CivSedanDoors_CoDriver_Wine");
1014 inventory.CreateInInventory("CivSedanDoors_BackLeft_Wine");
1015 inventory.CreateInInventory("CivSedanDoors_BackRight_Wine");
1016 inventory.CreateInInventory("CivSedanHood_Wine");
1017 inventory.CreateInInventory("CivSedanTrunk_Wine");
1018
1019 //-----IN CAR CARGO
1020 inventory.CreateInInventory("CivSedanWheel");
1021 inventory.CreateInInventory("CivSedanWheel");
1022 }
1023}
1024
1026{
1027 override void OnDebugSpawn()
1028 {
1030 SpawnAdditionalItems();
1031 FillUpCarFluids();
1032
1033 GameInventory inventory = GetInventory();
1034 inventory.CreateInInventory("CivSedanWheel");
1035 inventory.CreateInInventory("CivSedanWheel");
1036 inventory.CreateInInventory("CivSedanWheel");
1037 inventory.CreateInInventory("CivSedanWheel");
1038
1039 inventory.CreateInInventory("CivSedanDoors_Driver_Black");
1040 inventory.CreateInInventory("CivSedanDoors_CoDriver_Black");
1041 inventory.CreateInInventory("CivSedanDoors_BackLeft_Black");
1042 inventory.CreateInInventory("CivSedanDoors_BackRight_Black");
1043 inventory.CreateInInventory("CivSedanHood_Black");
1044 inventory.CreateInInventory("CivSedanTrunk_Black");
1045
1046 //-----IN CAR CARGO
1047 inventory.CreateInInventory("CivSedanWheel");
1048 inventory.CreateInInventory("CivSedanWheel");
1049 }
1050}
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
CivilianSedanLightProfileFront VehicleLightProfileFront CivilianSedanLightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
override float GetPushForceCoefficientMultiplier()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
void ~CivilianSedan()
void CivilianSedan()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
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()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
CivilianSedan CarScript OnDebugSpawn()
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
override void OnDebugSpawn()
override void OnDebugSpawn()
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
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
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:909
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.