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

◆ EEInit()

override void OnDebugSpawn::EEInit ( )
protected

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

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