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

◆ ~Offroad_02()

void OnDebugSpawn::~Offroad_02 ( )
protected

См. определение в файле Vehicles/InheritedCars/Offroad_02.c строка 494

494 : CarScript
495{
499
500 void Offroad_02()
501 {
502 //m_dmgContactCoef = 0.0365;
503
504 m_EngineStartOK = "Offroad_02_engine_start_SoundSet";
505 m_EngineStartBattery = "Offroad_02_engine_failed_start_battery_SoundSet";
506 m_EngineStartPlug = "Offroad_02_engine_failed_start_sparkplugs_SoundSet";
507 m_EngineStartFuel = "Offroad_02_engine_failed_start_fuel_SoundSet";
508 m_EngineStop = "Offroad_02_engine_stop_SoundSet";
509 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
510
511 m_CarDoorOpenSound = "offroad_02_door_open_SoundSet";
512 m_CarDoorCloseSound = "offroad_02_door_close_SoundSet";
513
514 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Offroad_02LightProfileFront()));
515 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Offroad_02LightProfileRear()));
516
517 m_LightsComponent.RegisterSelection("BrakesOn", {
518 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOn"),
519 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOn"),
520 });
521 m_LightsComponent.RegisterSelection("BrakesOff", {
522 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_L, "brakeReflectorMatOff"),
523 new VehicleLightSelectionData(SELECTION_ID_TAIL_LIGHT_R, "brakeReflectorMatOff"),
524 });
525
526 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Offroad_02_Horn_Short_SoundSet");
527 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Offroad_02_Horn_SoundSet");
528
529 SetEnginePos("0 0.7 1.7");
530
532 m_CarHornShortSoundName = "Offroad_02_Horn_Short_SoundSet";
533 m_CarHornLongSoundName = "Offroad_02_Horn_SoundSet";
534 }
535
536 void ~Offroad_02()
537 {
538 m_UTSource = null;
539 m_UTSSettings = null;
540 m_UTSLEngine = null;
541 }
542
543 override void EEInit()
544 {
545 super.EEInit();
546
547 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
548 {
550 m_UTSSettings.m_ManualUpdate = true;
552 m_UTSSettings.m_TemperatureCap = 0;
553 m_UTSSettings.m_RangeFull = 0.5;
554 m_UTSSettings.m_RangeMax = 2;
555
558 }
559 }
560
561 override bool HasGangedTailAndBrakeLights()
562 {
563 return true;
564 }
565
566 override bool NeedElectricitySourceDevice()
567 {
568 return true;
569 }
570
572 {
573 super.GetElectricitySourceDevice();
574
575 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
576 }
577
578 override string GetElectricitySourceDeviceType()
579 {
580 return "CarBattery";
581 }
582
583 override void OnEngineStart()
584 {
585 super.OnEngineStart();
586
587 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
588 {
589 if (m_UTSource)
590 m_UTSource.SetDefferedActive(true, 20.0);
591 }
592 }
593
594 override void OnEngineStop()
595 {
596 super.OnEngineStop();
597
598 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
599 {
600 if (m_UTSource)
601 m_UTSource.SetDefferedActive(false, 10.0);
602 }
603 }
604
605 override void EOnPostSimulate(IEntity other, float timeSlice)
606 {
607 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
608 {
609 if (m_UTSource && m_UTSource.IsActive())
610 {
612 }
613 }
614 }
615
616 override int GetAnimInstance()
617 {
618 return VehicleAnimInstances.HMMWV;
619 }
620
621 override float GetTransportCameraDistance()
622 {
623 return 5.1;
624 }
625
626 override float GetWeightCoef()
627 {
628 return 1.5;
629 }
630
631 override int GetSeatAnimationType(int posIdx)
632 {
633 switch (posIdx)
634 {
635 case 0:
636 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
637 case 1:
638 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
639 case 2:
640 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
641 case 3:
642 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
643 }
644
645 return 0;
646 }
647
648 override bool CanReleaseAttachment( EntityAI attachment )
649 {
650 if (!super.CanReleaseAttachment(attachment))
651 {
652 return false;
653 }
654
655 string attType = attachment.GetType();
656 switch (attType)
657 {
658 case "CarBattery":
659 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
660 {
661 return false;
662 }
663 break;
664
665 case "GlowPlug":
666 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
667 {
668 return false;
669 }
670 break;
671 }
672
673 return true;
674 }
675
676 override protected bool CanManipulateSpareWheel(string slotSelectionName)
677 {
678 return GetCarDoorsState("Offroad_02_Trunk") != CarDoorState.DOORS_CLOSED;
679 }
680
681 override bool CanDisplayAttachmentCategory(string category_name)
682 {
683 if ( !super.CanDisplayAttachmentCategory(category_name))
684 {
685 return false;
686 }
687
688 category_name.ToLower();
689 if (category_name.Contains("engine"))
690 {
691 if (GetCarDoorsState("Offroad_02_Hood") == CarDoorState.DOORS_CLOSED)
692 {
693 return false;
694 }
695 }
696
697 return true;
698 }
699
700 override bool CanDisplayCargo()
701 {
702 if ( !super.CanDisplayCargo() )
703 return false;
704
705 if ( GetCarDoorsState("Offroad_02_Trunk") == CarDoorState.DOORS_CLOSED )
706 return false;
707
708 return true;
709 }
710
711 override int GetCarDoorsState(string slotType)
712 {
713 CarDoor carDoor;
714
715 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
716 if (!carDoor)
717 {
718 return CarDoorState.DOORS_MISSING;
719 }
720
721 switch (slotType)
722 {
723 case "Offroad_02_Door_1_1":
724 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
725
726 case "Offroad_02_Door_2_1":
727 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
728
729 case "Offroad_02_Door_1_2":
730 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
731
732 case "Offroad_02_Door_2_2":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
734
735 case "Offroad_02_Hood":
736 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
737
738 case "Offroad_02_Trunk":
739 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
740 }
741
742 return CarDoorState.DOORS_MISSING;
743 }
744
745
746 override bool CrewCanGetThrough( int posIdx )
747 {
748 switch( posIdx )
749 {
750 case 0:
751 if ( GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
752 return false;
753
754 return true;
755 break;
756
757 case 1:
758 if ( GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
759 return false;
760
761 return true;
762 break;
763
764 case 2:
765 if ( GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
766 return false;
767
768 return true;
769 break;
770
771 case 3:
772 if ( GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
773 return false;
774
775 return true;
776 break;
777 }
778
779 return false;
780 }
781
782 override string GetDoorSelectionNameFromSeatPos(int posIdx)
783 {
784 switch( posIdx )
785 {
786 case 0:
787 return "doors_driver";
788 break;
789 case 1:
790 return "doors_codriver";
791 break;
792 case 2:
793 return "doors_cargo1";
794 break;
795 case 3:
796 return "doors_cargo2";
797 break;
798 }
799
800 return super.GetDoorSelectionNameFromSeatPos(posIdx);
801 }
802
803 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
804 {
805 switch (posIdx)
806 {
807 case 0:
808 return "Offroad_02_Door_1_1";
809 case 1:
810 return "Offroad_02_Door_2_1";
811 case 2:
812 return "Offroad_02_Door_1_2";
813 case 3:
814 return "Offroad_02_Door_2_2";
815 }
816
817 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
818 }
819
820 override float OnSound(CarSoundCtrl ctrl, float oldValue)
821 {
822 switch ( ctrl )
823 {
824 case CarSoundCtrl.DOORS:
825 float newValue = 0;
826 if (GetCarDoorsState("Offroad_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
827 {
828 newValue += 0.25;
829 }
830
831 if (GetCarDoorsState("Offroad_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
832 {
833 newValue += 0.25;
834 }
835
836 if (GetCarDoorsState("Offroad_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
837 {
838 newValue += 0.25;
839 }
840
841 if (GetCarDoorsState("Offroad_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
842 {
843 newValue += 0.25;
844 }
845
846 return Math.Clamp(newValue, 0, 1);
847 break;
848 }
849
850 return super.OnSound(ctrl, oldValue);
851 }
852
853 override string GetAnimSourceFromSelection(string selection)
854 {
855 switch (selection)
856 {
857 case "doors_driver":
858 return "DoorsDriver";
859 case "doors_codriver":
860 return "DoorsCoDriver";
861 case "doors_cargo1":
862 return "DoorsCargo1";
863 case "doors_cargo2":
864 return "DoorsCargo2";
865 case "doors_hood":
866 return "DoorsHood";
867 case "doors_trunk":
868 return "DoorsTrunk";
869 }
870
871 return "";
872 }
873
874 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
875 {
876 switch (currentSeat)
877 {
878 case 0:
879 return nextSeat == 1;
880 case 1:
881 return nextSeat == 0;
882 case 2:
883 return nextSeat == 3;
884 case 3:
885 return nextSeat == 2;
886 }
887
888 return false;
889 }
890
891 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
892 {
893 switch (pCurrentSeat)
894 {
895 case 0:
896 return pDoorsSelection == "DoorsDriver";
897 case 1:
898 return pDoorsSelection == "DoorsCoDriver";
899 case 2:
900 return pDoorsSelection == "DoorsCargo1";
901 case 3:
902 return pDoorsSelection == "DoorsCargo2";
903 }
904
905 return false;
906 }
907
908 override bool IsVitalSparkPlug()
909 {
910 return false;
911 }
912
913 override bool IsVitalRadiator()
914 {
915 return false;
916 }
917
918 override void OnDebugSpawn()
919 {
921 SpawnAdditionalItems();
922 FillUpCarFluids();
923
924 GameInventory inventory = GetInventory();
925 inventory.CreateInInventory("Offroad_02_Wheel");
926 inventory.CreateInInventory("Offroad_02_Wheel");
927 inventory.CreateInInventory("Offroad_02_Wheel");
928 inventory.CreateInInventory("Offroad_02_Wheel");
929
930 inventory.CreateInInventory("Offroad_02_Door_1_1");
931 inventory.CreateInInventory("Offroad_02_Door_1_2");
932 inventory.CreateInInventory("Offroad_02_Door_2_1");
933 inventory.CreateInInventory("Offroad_02_Door_2_2");
934 inventory.CreateInInventory("Offroad_02_Hood");
935 inventory.CreateInInventory("Offroad_02_Trunk");
936
937 //-----IN CAR CARGO
938 inventory.CreateInInventory("Offroad_02_Wheel");
939 inventory.CreateInInventory("Offroad_02_Wheel");
940 }
941}
942
943
944class Offroad_02_Beige : Offroad_02
945{
946 override void OnDebugSpawn()
947 {
949 SpawnAdditionalItems();
950 FillUpCarFluids();
951
952 GetInventory().CreateInInventory("Offroad_02_Wheel");
953 GetInventory().CreateInInventory("Offroad_02_Wheel");
954 GetInventory().CreateInInventory("Offroad_02_Wheel");
955 GetInventory().CreateInInventory("Offroad_02_Wheel");
956
957 GetInventory().CreateInInventory("Offroad_02_Door_1_1_Beige");
958 GetInventory().CreateInInventory("Offroad_02_Door_1_2_Beige");
959 GetInventory().CreateInInventory("Offroad_02_Door_2_1_Beige");
960 GetInventory().CreateInInventory("Offroad_02_Door_2_2_Beige");
961 GetInventory().CreateInInventory("Offroad_02_Trunk_Beige");
962 GetInventory().CreateInInventory("Offroad_02_Hood_Beige");
963
964 //-----IN CAR CARGO
965 GetInventory().CreateInInventory("Offroad_02_Wheel");
966 GetInventory().CreateInInventory("Offroad_02_Wheel");
967 }
968}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
DayZGame g_Game
Определения DayZGame.c:4074
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:222
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:221
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
Определения MotorbikeScript.c:1425
string m_EngineStartOK
Определения MotorbikeScript.c:89
string m_EngineStartBattery
Определения MotorbikeScript.c:90
string m_EngineStartPlug
Определения MotorbikeScript.c:91
string m_EngineStartFuel
Определения MotorbikeScript.c:92
ref VehicleHornComponent m_HornComponent
Определения MotorbikeScript.c:75
string m_EngineStopFuel
Определения MotorbikeScript.c:94
ref VehicleLightsComponent m_LightsComponent
Определения MotorbikeScript.c:74
string m_EngineStop
Определения MotorbikeScript.c:93
Offroad_02LightProfileFront VehicleLightProfileFront Offroad_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override bool IsVitalRadiator()
void ~Offroad_02()
override bool IsVitalSparkPlug()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override float GetTransportCameraDistance()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
Offroad_02 CarScript OnDebugSpawn()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override bool HasGangedTailAndBrakeLights()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool NeedElectricitySourceDevice()
void Offroad_02()
override float GetWeightCoef()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
static int SLOT_ID
Определения CarBattery.c:3
Определения CarBattery.c:2
Определения Truck_02.c:2
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
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
const int LONG
Определения VehicleHornComponent.c:5
const int SHORT
Определения VehicleHornComponent.c:4
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:856
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.