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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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