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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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