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

◆ GetSeatAnimationType()

override int OnDebugSpawn::GetSeatAnimationType ( int posIdx)
protected

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

513{
517
518 void CivilianSedan()
519 {
520 //m_dmgContactCoef = 0.065;
521
522 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
523 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
524 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
525 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
526 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
527
528 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
529 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
530
531 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
532 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
533
534 SetEnginePos("0 0.7 1.6");
535 }
536
537 override void EEInit()
538 {
539 super.EEInit();
540
541 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
542 {
544 m_UTSSettings.m_ManualUpdate = true;
546 m_UTSSettings.m_TemperatureCap = 0;
547 m_UTSSettings.m_RangeFull = 0.5;
548 m_UTSSettings.m_RangeMax = 2;
549
552 }
553 }
554
555 override void OnEngineStart()
556 {
557 super.OnEngineStart();
558
559 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
560 {
561 m_UTSource.SetDefferedActive(true, 20.0);
562 }
563 }
564
565 override void OnEngineStop()
566 {
567 super.OnEngineStop();
568
569 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
570 {
571 m_UTSource.SetDefferedActive(false, 10.0);
572 }
573 }
574
575 override void EOnPostSimulate(IEntity other, float timeSlice)
576 {
577 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
578 {
579 if (m_UTSource.IsActive())
580 {
582 }
583 }
584 }
585
586 override int GetAnimInstance()
587 {
588 return VehicleAnimInstances.SEDAN;
589 }
590
591 override float GetTransportCameraDistance()
592 {
593 return 4.5;
594 }
595
596 override int GetSeatAnimationType(int posIdx)
597 {
598 switch (posIdx)
599 {
600 case 0:
601 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
602 case 1:
603 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
604 case 2:
605 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
606 case 3:
607 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
608 }
609
610 return 0;
611 }
612
613 // Override for car-specific light type
615 {
616 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
617 }
618
619 // Override for car-specific light type
621 {
622 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
623 }
624
625 override bool CanReleaseAttachment( EntityAI attachment )
626 {
627 if( !super.CanReleaseAttachment( attachment ) )
628 return false;
629
630 string attType = attachment.GetType();
631
632 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
633 {
634 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
635 return false;
636 }
637
638 return true;
639 }
640
641 override protected bool CanManipulateSpareWheel(string slotSelectionName)
642 {
643 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
644 }
645
646 override bool CanDisplayAttachmentCategory(string category_name)
647 {
648 //super
649 if (!super.CanDisplayAttachmentCategory(category_name))
650 return false;
651 //
652
653 category_name.ToLower();
654 if (category_name.Contains("engine"))
655 {
656 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
657 return false;
658 }
659
660 return true;
661 }
662
663 override bool CanDisplayCargo()
664 {
665 if ( !super.CanDisplayCargo() )
666 return false;
667
668 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
669 return false;
670
671 return true;
672 }
673
674 override int GetCarDoorsState( string slotType )
675 {
676 CarDoor carDoor;
677
678 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
679 if (!carDoor)
680 {
681 return CarDoorState.DOORS_MISSING;
682 }
683
684 switch (slotType)
685 {
686 case "CivSedanDriverDoors":
687 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
688 break;
689
690 case "CivSedanCoDriverDoors":
691 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
692 break;
693
694 case "CivSedanCargo1Doors":
695 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
696 break;
697
698 case "CivSedanCargo2Doors":
699 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
700 break;
701
702 case "CivSedanTrunk":
703 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
704 break;
705
706 case "CivSedanHood":
707 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
708 break;
709 }
710
711 return CarDoorState.DOORS_MISSING;
712 }
713
714
715 override bool CrewCanGetThrough( int posIdx )
716 {
717 switch( posIdx )
718 {
719 case 0:
720 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
721 return false;
722
723 return true;
724 break;
725
726 case 1:
727 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
728 return false;
729
730 return true;
731 break;
732
733 case 2:
734 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
735 return false;
736
737 return true;
738 break;
739
740 case 3:
741 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
742 return false;
743
744 return true;
745 break;
746 }
747
748 return false;
749 }
750
751 override string GetDoorSelectionNameFromSeatPos(int posIdx)
752 {
753 switch( posIdx )
754 {
755 case 0:
756 return "doors_driver";
757 break;
758 case 1:
759 return "doors_codriver";
760 break;
761 case 2:
762 return "doors_cargo1";
763 break;
764 case 3:
765 return "doors_cargo2";
766 break;
767 }
768
769 return super.GetDoorSelectionNameFromSeatPos(posIdx);
770 }
771
772 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
773 {
774 switch( posIdx )
775 {
776 case 0:
777 return "CivSedanDriverDoors";
778 break;
779 case 1:
780 return "CivSedanCoDriverDoors";
781 break;
782 case 2:
783 return "CivSedanCargo1Doors";
784 break;
785 case 3:
786 return "CivSedanCargo2Doors";
787 break;
788 }
789
790 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
791 }
792
793 // 0 full ambient and engine sound
794 // 1 zero ambient and engine sound
795 override float OnSound(CarSoundCtrl ctrl, float oldValue)
796 {
797 switch (ctrl)
798 {
799 case CarSoundCtrl.DOORS:
800 float newValue = 0;
801 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
802 {
803 newValue += 0.25;
804 }
805
806 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
807 {
808 newValue += 0.25;
809 }
810
811 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
812 {
813 newValue += 0.25;
814 }
815
816 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
817 {
818 newValue += 0.25;
819 }
820
821 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
822 {
823 newValue -= 0.6;
824 }
825
826 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
827 {
828 newValue -= 0.6;
829 }
830
831 return Math.Clamp(newValue, 0, 1);
832 break;
833 }
834
835 return super.OnSound(ctrl, oldValue);
836 }
837
838 override string GetAnimSourceFromSelection(string selection)
839 {
840 switch (selection)
841 {
842 case "doors_driver":
843 return "DoorsDriver";
844 case "doors_codriver":
845 return "DoorsCoDriver";
846 case "doors_cargo1":
847 return "DoorsCargo1";
848 case "doors_cargo2":
849 return "DoorsCargo2";
850 case "doors_hood":
851 return "DoorsHood";
852 case "doors_trunk":
853 return "DoorsTrunk";
854 }
855
856 return "";
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("CivSedanWheel");
916 GetInventory().CreateInInventory("CivSedanWheel");
917 GetInventory().CreateInInventory("CivSedanWheel");
918 GetInventory().CreateInInventory("CivSedanWheel");
919
920 GetInventory().CreateInInventory("CivSedanDoors_Driver");
921 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
922 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
923 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
924 GetInventory().CreateInInventory("CivSedanHood");
925 GetInventory().CreateInInventory("CivSedanTrunk");
926
927 //-----IN CAR CARGO
928 GetInventory().CreateInInventory("CivSedanWheel");
929 GetInventory().CreateInInventory("CivSedanWheel");
930 }
931
932 override float GetPushForceCoefficientMultiplier()
933 {
934 return 1.5;
935 }
936}
937
938class CivilianSedan_Wine extends CivilianSedan
939{
940 override void OnDebugSpawn()
941 {
945
946 GetInventory().CreateInInventory("CivSedanWheel");
947 GetInventory().CreateInInventory("CivSedanWheel");
948 GetInventory().CreateInInventory("CivSedanWheel");
949 GetInventory().CreateInInventory("CivSedanWheel");
950
951 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
952 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
953 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
954 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
955 GetInventory().CreateInInventory("CivSedanHood_Wine");
956 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
957
958 //-----IN CAR CARGO
959 GetInventory().CreateInInventory("CivSedanWheel");
960 GetInventory().CreateInInventory("CivSedanWheel");
961 }
962}
963
964class CivilianSedan_Black extends CivilianSedan
965{
966 override void OnDebugSpawn()
967 {
971
972 GetInventory().CreateInInventory("CivSedanWheel");
973 GetInventory().CreateInInventory("CivSedanWheel");
974 GetInventory().CreateInInventory("CivSedanWheel");
975 GetInventory().CreateInInventory("CivSedanWheel");
976
977 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
978 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
979 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
980 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
981 GetInventory().CreateInInventory("CivSedanHood_Black");
982 GetInventory().CreateInInventory("CivSedanTrunk_Black");
983
984 //-----IN CAR CARGO
985 GetInventory().CreateInInventory("CivSedanWheel");
986 GetInventory().CreateInInventory("CivSedanWheel");
987 }
988}
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
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:848
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:429
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:785
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:754
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:711
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:688
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:491
override void OnEngineStop()
Определения CivilianSedan.c:481
void CivilianSedan()
Определения CivilianSedan.c:434
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
override float GetTransportCameraDistance()
Определения CivilianSedan.c:507
override void EEInit()
Определения CivilianSedan.c:453
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:541
override bool CanDisplayCargo()
Определения CivilianSedan.c:579
override void OnEngineStart()
Определения CivilianSedan.c:471
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:530
override int GetAnimInstance()
Определения CivilianSedan.c:502
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:631
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:805
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:557
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:780
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:536
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:775
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:667
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:590
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:562
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:455
Определения CivilianSedan.c:454
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения 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
const int STATE_RUINED
Определения constants.c:846
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.