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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

484{
488
489 void Hatchback_02()
490 {
491 //m_dmgContactCoef = 0.070;
492
493 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
494 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
495 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
496 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
497 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
498 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
499
500 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
501 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
502
503 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
504 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
505
506 SetEnginePos("0 0.7 1.4");
507 }
508
509 override void EEInit()
510 {
511 super.EEInit();
512
513 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
514 {
516 m_UTSSettings.m_ManualUpdate = true;
518 m_UTSSettings.m_TemperatureCap = 0;
519 m_UTSSettings.m_RangeFull = 0.5;
520 m_UTSSettings.m_RangeMax = 2;
521
524 }
525 }
526
527 override void OnEngineStart()
528 {
529 super.OnEngineStart();
530
531 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
532 {
533 m_UTSource.SetDefferedActive(true, 20.0);
534 }
535 }
536
537 override void OnEngineStop()
538 {
539 super.OnEngineStop();
540
541 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
542 {
543 m_UTSource.SetDefferedActive(false, 10.0);
544 }
545 }
546
547 override void EOnPostSimulate(IEntity other, float timeSlice)
548 {
549 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
550 {
551 if (m_UTSource.IsActive())
552 {
554 }
555 }
556 }
557
558 override int GetAnimInstance()
559 {
560 return VehicleAnimInstances.GOLF;
561 }
562
563 override int GetSeatAnimationType(int posIdx)
564 {
565 switch (posIdx)
566 {
567 case 0:
568 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
569 case 1:
570 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
571 case 2:
572 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
573 case 3:
574 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
575 }
576
577 return 0;
578 }
579
580 // Override for car-specific light type
582 {
583 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
584 }
585
586 // Override for car-specific light type
588 {
589 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
590 }
591
592 override bool CanReleaseAttachment(EntityAI attachment)
593 {
594 if (!super.CanReleaseAttachment(attachment))
595 {
596 return false;
597 }
598
599 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
600 {
601 string attType = attachment.GetType();
602 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
603 {
604 return false;
605 }
606 }
607
608 return true;
609 }
610
611 override protected bool CanManipulateSpareWheel(string slotSelectionName)
612 {
613 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
614 }
615
616 override bool CanDisplayAttachmentCategory( string category_name )
617 {
618 //super
619 if ( !super.CanDisplayAttachmentCategory( category_name ) )
620 return false;
621 //
622
623 category_name.ToLower();
624 if ( category_name.Contains("engine") )
625 {
626 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
627 return false;
628 }
629
630 return true;
631 }
632
633 override bool CanDisplayCargo()
634 {
635 if ( !super.CanDisplayCargo() )
636 return false;
637
638 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
639 return false;
640
641 return true;
642 }
643
644 override int GetCarDoorsState(string slotType)
645 {
646 CarDoor carDoor;
647
648 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
649 if (!carDoor)
650 {
651 return CarDoorState.DOORS_MISSING;
652 }
653
654 switch (slotType)
655 {
656 case "Hatchback_02_Door_1_1":
657 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
658
659 case "Hatchback_02_Door_2_1":
660 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
661
662 case "Hatchback_02_Door_1_2":
663 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
664
665 case "Hatchback_02_Door_2_2":
666 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
667
668 case "Hatchback_02_Hood":
669 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
670
671 case "Hatchback_02_Trunk":
672 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
673 }
674
675 return CarDoorState.DOORS_MISSING;
676 }
677
678
679 override bool CrewCanGetThrough(int posIdx)
680 {
681 switch (posIdx)
682 {
683 case 0:
684 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
685 {
686 return false;
687 }
688
689 return true;
690
691 case 1:
692 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
693 {
694 return false;
695 }
696
697 return true;
698
699 case 2:
700 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
701 {
702 return false;
703 }
704
705 return true;
706
707 case 3:
708 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
709 {
710 return false;
711 }
712
713 return true;
714 }
715
716 return false;
717 }
718
719 override string GetDoorSelectionNameFromSeatPos(int posIdx)
720 {
721 switch( posIdx )
722 {
723 case 0:
724 return "doors_driver";
725 break;
726 case 1:
727 return "doors_codriver";
728 break;
729 case 2:
730 return "doors_cargo1";
731 break;
732 case 3:
733 return "doors_cargo2";
734 break;
735 }
736
737 return super.GetDoorSelectionNameFromSeatPos(posIdx);
738 }
739
740 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
741 {
742 switch( posIdx )
743 {
744 case 0:
745 return "Hatchback_02_Door_1_1";
746 break;
747 case 1:
748 return "Hatchback_02_Door_2_1";
749 break;
750 case 2:
751 return "Hatchback_02_Door_1_2";
752 break;
753 case 3:
754 return "Hatchback_02_Door_2_2";
755 break;
756 }
757
758 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
759 }
760
761 override float OnSound(CarSoundCtrl ctrl, float oldValue)
762 {
763 switch (ctrl)
764 {
765 case CarSoundCtrl.DOORS:
766 float newValue = 0;
767 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
768 {
769 newValue += 0.25;
770 }
771
772 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
773 {
774 newValue += 0.25;
775 }
776
777 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
778 {
779 newValue += 0.25;
780 }
781
782 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
783 {
784 newValue += 0.25;
785 }
786
787 return Math.Clamp(newValue, 0, 1);
788 break;
789 }
790
791 return super.OnSound(ctrl, oldValue);
792 }
793
794 override string GetAnimSourceFromSelection( string selection )
795 {
796 switch( selection )
797 {
798 case "doors_driver":
799 return "DoorsDriver";
800 case "doors_codriver":
801 return "DoorsCoDriver";
802 case "doors_cargo1":
803 return "DoorsCargo1";
804 case "doors_cargo2":
805 return "DoorsCargo2";
806 case "doors_hood":
807 return "DoorsHood";
808 case "doors_trunk":
809 return "DoorsTrunk";
810 }
811
812 return "";
813 }
814
815
816 override bool IsVitalTruckBattery()
817 {
818 return false;
819 }
820
821 override bool IsVitalGlowPlug()
822 {
823 return false;
824 }
825
826 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
827 {
828 switch (currentSeat)
829 {
830 case 0:
831 return nextSeat == 1;
832 case 1:
833 return nextSeat == 0;
834 case 2:
835 return nextSeat == 3;
836 case 3:
837 return nextSeat == 2;
838 }
839
840 return false;
841 }
842
843 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
844 {
845 switch (pCurrentSeat)
846 {
847 case 0:
848 return pDoorsSelection == "DoorsDriver";
849 case 1:
850 return pDoorsSelection == "DoorsCoDriver";
851 case 2:
852 return pDoorsSelection == "DoorsCargo1";
853 case 3:
854 return pDoorsSelection == "DoorsCargo2";
855 }
856
857 return false;
858 }
859
860 override void OnDebugSpawn()
861 {
862 SpawnUniversalParts();
863 SpawnAdditionalItems();
864 FillUpCarFluids();
865
866 GetInventory().CreateInInventory("Hatchback_02_Wheel");
867 GetInventory().CreateInInventory("Hatchback_02_Wheel");
868 GetInventory().CreateInInventory("Hatchback_02_Wheel");
869 GetInventory().CreateInInventory("Hatchback_02_Wheel");
870
871 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
872 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
873 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
874 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
875 GetInventory().CreateInInventory("Hatchback_02_Hood");
876 GetInventory().CreateInInventory("Hatchback_02_Trunk");
877
878 //-----IN CAR CARGO
879 GetInventory().CreateInInventory("Hatchback_02_Wheel");
880 GetInventory().CreateInInventory("Hatchback_02_Wheel");
881 }
882}
883
884class Hatchback_02_Black extends Hatchback_02
885{
886 override void OnDebugSpawn()
887 {
888 SpawnUniversalParts();
889 SpawnAdditionalItems();
890 FillUpCarFluids();
891
892 GetInventory().CreateInInventory("Hatchback_02_Wheel");
893 GetInventory().CreateInInventory("Hatchback_02_Wheel");
894 GetInventory().CreateInInventory("Hatchback_02_Wheel");
895 GetInventory().CreateInInventory("Hatchback_02_Wheel");
896
897 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
898 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
899 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
900 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
901 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
902 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
903
904 //-----IN CAR CARGO
905 GetInventory().CreateInInventory("Hatchback_02_Wheel");
906 GetInventory().CreateInInventory("Hatchback_02_Wheel");
907 }
908};
909
910class Hatchback_02_Blue extends Hatchback_02
911{
912 override void OnDebugSpawn()
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
918 GetInventory().CreateInInventory("Hatchback_02_Wheel");
919 GetInventory().CreateInInventory("Hatchback_02_Wheel");
920 GetInventory().CreateInInventory("Hatchback_02_Wheel");
921 GetInventory().CreateInInventory("Hatchback_02_Wheel");
922
923 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
924 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
925 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
926 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
927 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
928 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
929
930 //-----IN CAR CARGO
931 GetInventory().CreateInInventory("Hatchback_02_Wheel");
932 GetInventory().CreateInInventory("Hatchback_02_Wheel");
933 }
934}
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:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения EnEntity.c:165
Определения EnMath.c:7
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
Определения 3_Game/constants.c:808
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.