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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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