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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

532 : CarScript
533{
537
538 void Hatchback_02()
539 {
540 //m_dmgContactCoef = 0.070;
541
542 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
543 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
544 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
545 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
546 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
547 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
548
549 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
550 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
551
552 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
553 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
554
555 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
556 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
557
558 SetEnginePos("0 0.7 1.4");
559
561 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
562 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
563 }
564
565 void ~Hatchback_02()
566 {
567 m_UTSource = null;
568 m_UTSSettings = null;
569 m_UTSLEngine = null;
570 }
571
572 override void EEInit()
573 {
574 super.EEInit();
575
576 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
577 {
579 m_UTSSettings.m_ManualUpdate = true;
581 m_UTSSettings.m_TemperatureCap = 0;
582 m_UTSSettings.m_RangeFull = 0.5;
583 m_UTSSettings.m_RangeMax = 2;
584
587 }
588 }
589
590 override bool NeedElectricitySourceDevice()
591 {
592 return true;
593 }
594
596 {
597 super.GetElectricitySourceDevice();
598
599 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
600 }
601
602 override string GetElectricitySourceDeviceType()
603 {
604 return "CarBattery";
605 }
606
607 override void OnEngineStart()
608 {
609 super.OnEngineStart();
610
611 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
612 {
613 if (m_UTSource)
614 m_UTSource.SetDefferedActive(true, 20.0);
615 }
616 }
617
618 override void OnEngineStop()
619 {
620 super.OnEngineStop();
621
622 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
623 {
624 if (m_UTSource)
625 m_UTSource.SetDefferedActive(false, 10.0);
626 }
627 }
628
629 override void EOnPostSimulate(IEntity other, float timeSlice)
630 {
631 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
632 {
633 if (m_UTSource && m_UTSource.IsActive())
634 {
636 }
637 }
638 }
639
640 override int GetAnimInstance()
641 {
642 return VehicleAnimInstances.GOLF;
643 }
644
645 override int GetSeatAnimationType(int posIdx)
646 {
647 switch (posIdx)
648 {
649 case 0:
650 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
651 case 1:
652 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
653 case 2:
654 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
655 case 3:
656 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
657 }
658
659 return 0;
660 }
661
662 override bool CanReleaseAttachment(EntityAI attachment)
663 {
664 if (!super.CanReleaseAttachment(attachment))
665 {
666 return false;
667 }
668
669 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
670 {
671 string attType = attachment.GetType();
672 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
673 {
674 return false;
675 }
676 }
677
678 return true;
679 }
680
681 override protected bool CanManipulateSpareWheel(string slotSelectionName)
682 {
683 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
684 }
685
686 override bool CanDisplayAttachmentCategory( string category_name )
687 {
688 //super
689 if ( !super.CanDisplayAttachmentCategory( category_name ) )
690 return false;
691 //
692
693 category_name.ToLower();
694 if ( category_name.Contains("engine") )
695 {
696 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
697 return false;
698 }
699
700 return true;
701 }
702
703 override bool CanDisplayCargo()
704 {
705 if ( !super.CanDisplayCargo() )
706 return false;
707
708 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
709 return false;
710
711 return true;
712 }
713
714 override int GetCarDoorsState(string slotType)
715 {
716 CarDoor carDoor;
717
718 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
719 if (!carDoor)
720 {
721 return CarDoorState.DOORS_MISSING;
722 }
723
724 switch (slotType)
725 {
726 case "Hatchback_02_Door_1_1":
727 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
728
729 case "Hatchback_02_Door_2_1":
730 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
731
732 case "Hatchback_02_Door_1_2":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
734
735 case "Hatchback_02_Door_2_2":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
737
738 case "Hatchback_02_Hood":
739 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
740
741 case "Hatchback_02_Trunk":
742 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
743 }
744
745 return CarDoorState.DOORS_MISSING;
746 }
747
748
749 override bool CrewCanGetThrough(int posIdx)
750 {
751 switch (posIdx)
752 {
753 case 0:
754 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
755 {
756 return false;
757 }
758
759 return true;
760
761 case 1:
762 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
763 {
764 return false;
765 }
766
767 return true;
768
769 case 2:
770 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
771 {
772 return false;
773 }
774
775 return true;
776
777 case 3:
778 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
779 {
780 return false;
781 }
782
783 return true;
784 }
785
786 return false;
787 }
788
789 override string GetDoorSelectionNameFromSeatPos(int posIdx)
790 {
791 switch( posIdx )
792 {
793 case 0:
794 return "doors_driver";
795 break;
796 case 1:
797 return "doors_codriver";
798 break;
799 case 2:
800 return "doors_cargo1";
801 break;
802 case 3:
803 return "doors_cargo2";
804 break;
805 }
806
807 return super.GetDoorSelectionNameFromSeatPos(posIdx);
808 }
809
810 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
811 {
812 switch( posIdx )
813 {
814 case 0:
815 return "Hatchback_02_Door_1_1";
816 break;
817 case 1:
818 return "Hatchback_02_Door_2_1";
819 break;
820 case 2:
821 return "Hatchback_02_Door_1_2";
822 break;
823 case 3:
824 return "Hatchback_02_Door_2_2";
825 break;
826 }
827
828 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
829 }
830
831 override float OnSound(CarSoundCtrl ctrl, float oldValue)
832 {
833 switch (ctrl)
834 {
835 case CarSoundCtrl.DOORS:
836 float newValue = 0;
837 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
838 {
839 newValue += 0.25;
840 }
841
842 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
843 {
844 newValue += 0.25;
845 }
846
847 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
848 {
849 newValue += 0.25;
850 }
851
852 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
853 {
854 newValue += 0.25;
855 }
856
857 return Math.Clamp(newValue, 0, 1);
858 break;
859 }
860
861 return super.OnSound(ctrl, oldValue);
862 }
863
864 override string GetAnimSourceFromSelection( string selection )
865 {
866 switch( selection )
867 {
868 case "doors_driver":
869 return "DoorsDriver";
870 case "doors_codriver":
871 return "DoorsCoDriver";
872 case "doors_cargo1":
873 return "DoorsCargo1";
874 case "doors_cargo2":
875 return "DoorsCargo2";
876 case "doors_hood":
877 return "DoorsHood";
878 case "doors_trunk":
879 return "DoorsTrunk";
880 }
881
882 return "";
883 }
884
885 override bool IsVitalGlowPlug()
886 {
887 return false;
888 }
889
890 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
891 {
892 switch (currentSeat)
893 {
894 case 0:
895 return nextSeat == 1;
896 case 1:
897 return nextSeat == 0;
898 case 2:
899 return nextSeat == 3;
900 case 3:
901 return nextSeat == 2;
902 }
903
904 return false;
905 }
906
907 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
908 {
909 switch (pCurrentSeat)
910 {
911 case 0:
912 return pDoorsSelection == "DoorsDriver";
913 case 1:
914 return pDoorsSelection == "DoorsCoDriver";
915 case 2:
916 return pDoorsSelection == "DoorsCargo1";
917 case 3:
918 return pDoorsSelection == "DoorsCargo2";
919 }
920
921 return false;
922 }
923
924 override void OnDebugSpawn()
925 {
927 SpawnAdditionalItems();
928 FillUpCarFluids();
929
930 GameInventory inventory = GetInventory();
931 inventory.CreateInInventory("Hatchback_02_Wheel");
932 inventory.CreateInInventory("Hatchback_02_Wheel");
933 inventory.CreateInInventory("Hatchback_02_Wheel");
934 inventory.CreateInInventory("Hatchback_02_Wheel");
935
936 inventory.CreateInInventory("Hatchback_02_Door_1_1");
937 inventory.CreateInInventory("Hatchback_02_Door_1_2");
938 inventory.CreateInInventory("Hatchback_02_Door_2_1");
939 inventory.CreateInInventory("Hatchback_02_Door_2_2");
940 inventory.CreateInInventory("Hatchback_02_Hood");
941 inventory.CreateInInventory("Hatchback_02_Trunk");
942
943 //-----IN CAR CARGO
944 inventory.CreateInInventory("Hatchback_02_Wheel");
945 inventory.CreateInInventory("Hatchback_02_Wheel");
946 }
947}
948
949class Hatchback_02_Black : Hatchback_02
950{
951 override void OnDebugSpawn()
952 {
954 SpawnAdditionalItems();
955 FillUpCarFluids();
956
957 GameInventory inventory = GetInventory();
958 inventory.CreateInInventory("Hatchback_02_Wheel");
959 inventory.CreateInInventory("Hatchback_02_Wheel");
960 inventory.CreateInInventory("Hatchback_02_Wheel");
961 inventory.CreateInInventory("Hatchback_02_Wheel");
962
963 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
964 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
965 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
966 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
967 inventory.CreateInInventory("Hatchback_02_Hood_Black");
968 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
969
970 //-----IN CAR CARGO
971 inventory.CreateInInventory("Hatchback_02_Wheel");
972 inventory.CreateInInventory("Hatchback_02_Wheel");
973 }
974}
975
977{
978 override void OnDebugSpawn()
979 {
981 SpawnAdditionalItems();
982 FillUpCarFluids();
983
984 GameInventory inventory = GetInventory();
985 inventory.CreateInInventory("Hatchback_02_Wheel");
986 inventory.CreateInInventory("Hatchback_02_Wheel");
987 inventory.CreateInInventory("Hatchback_02_Wheel");
988 inventory.CreateInInventory("Hatchback_02_Wheel");
989
990 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
991 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
992 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
993 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
994 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
995 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
996
997 //-----IN CAR CARGO
998 inventory.CreateInInventory("Hatchback_02_Wheel");
999 inventory.CreateInInventory("Hatchback_02_Wheel");
1000 }
1001}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
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 Hatchback_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()
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)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения 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
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.