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

◆ GetTransportCameraDistance()

override float OnDebugSpawn::GetTransportCameraDistance ( )
protected

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

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