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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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