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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

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