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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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