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

◆ GetAnimInstance()

override int OnDebugSpawn::GetAnimInstance ( )
protected

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

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