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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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