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

◆ OnEngineStart()

override void OnDebugSpawn::OnEngineStart ( )
protected

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

494 : CarScript
495{
499
500 void Hatchback_02()
501 {
502 //m_dmgContactCoef = 0.070;
503
504 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
505 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
506 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
507 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
508 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
509 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
510
511 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
512 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
513
514 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
515 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
516
517 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
518 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
519
520 SetEnginePos("0 0.7 1.4");
521
523 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
524 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
525 }
526
527 void ~Hatchback_02()
528 {
529 m_UTSource = null;
530 m_UTSSettings = null;
531 m_UTSLEngine = null;
532 }
533
534 override void EEInit()
535 {
536 super.EEInit();
537
538 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
539 {
541 m_UTSSettings.m_ManualUpdate = true;
543 m_UTSSettings.m_TemperatureCap = 0;
544 m_UTSSettings.m_RangeFull = 0.5;
545 m_UTSSettings.m_RangeMax = 2;
546
549 }
550 }
551
552 override bool NeedElectricitySourceDevice()
553 {
554 return true;
555 }
556
558 {
559 super.GetElectricitySourceDevice();
560
561 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
562 }
563
564 override string GetElectricitySourceDeviceType()
565 {
566 return "CarBattery";
567 }
568
569 override void OnEngineStart()
570 {
571 super.OnEngineStart();
572
573 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
574 {
575 if (m_UTSource)
576 m_UTSource.SetDefferedActive(true, 20.0);
577 }
578 }
579
580 override void OnEngineStop()
581 {
582 super.OnEngineStop();
583
584 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
585 {
586 if (m_UTSource)
587 m_UTSource.SetDefferedActive(false, 10.0);
588 }
589 }
590
591 override void EOnPostSimulate(IEntity other, float timeSlice)
592 {
593 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
594 {
595 if (m_UTSource && m_UTSource.IsActive())
596 {
598 }
599 }
600 }
601
602 override int GetAnimInstance()
603 {
604 return VehicleAnimInstances.GOLF;
605 }
606
607 override int GetSeatAnimationType(int posIdx)
608 {
609 switch (posIdx)
610 {
611 case 0:
612 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
613 case 1:
614 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
615 case 2:
616 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
617 case 3:
618 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
619 }
620
621 return 0;
622 }
623
624 override bool CanReleaseAttachment(EntityAI attachment)
625 {
626 if (!super.CanReleaseAttachment(attachment))
627 {
628 return false;
629 }
630
631 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
632 {
633 string attType = attachment.GetType();
634 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
635 {
636 return false;
637 }
638 }
639
640 return true;
641 }
642
643 override protected bool CanManipulateSpareWheel(string slotSelectionName)
644 {
645 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
646 }
647
648 override bool CanDisplayAttachmentCategory( string category_name )
649 {
650 //super
651 if ( !super.CanDisplayAttachmentCategory( category_name ) )
652 return false;
653 //
654
655 category_name.ToLower();
656 if ( category_name.Contains("engine") )
657 {
658 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
659 return false;
660 }
661
662 return true;
663 }
664
665 override bool CanDisplayCargo()
666 {
667 if ( !super.CanDisplayCargo() )
668 return false;
669
670 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
671 return false;
672
673 return true;
674 }
675
676 override int GetCarDoorsState(string slotType)
677 {
678 CarDoor carDoor;
679
680 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
681 if (!carDoor)
682 {
683 return CarDoorState.DOORS_MISSING;
684 }
685
686 switch (slotType)
687 {
688 case "Hatchback_02_Door_1_1":
689 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
690
691 case "Hatchback_02_Door_2_1":
692 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
693
694 case "Hatchback_02_Door_1_2":
695 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
696
697 case "Hatchback_02_Door_2_2":
698 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
699
700 case "Hatchback_02_Hood":
701 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
702
703 case "Hatchback_02_Trunk":
704 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
705 }
706
707 return CarDoorState.DOORS_MISSING;
708 }
709
710
711 override bool CrewCanGetThrough(int posIdx)
712 {
713 switch (posIdx)
714 {
715 case 0:
716 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
717 {
718 return false;
719 }
720
721 return true;
722
723 case 1:
724 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
725 {
726 return false;
727 }
728
729 return true;
730
731 case 2:
732 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
733 {
734 return false;
735 }
736
737 return true;
738
739 case 3:
740 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
741 {
742 return false;
743 }
744
745 return true;
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 "Hatchback_02_Door_1_1";
778 break;
779 case 1:
780 return "Hatchback_02_Door_2_1";
781 break;
782 case 2:
783 return "Hatchback_02_Door_1_2";
784 break;
785 case 3:
786 return "Hatchback_02_Door_2_2";
787 break;
788 }
789
790 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
791 }
792
793 override float OnSound(CarSoundCtrl ctrl, float oldValue)
794 {
795 switch (ctrl)
796 {
797 case CarSoundCtrl.DOORS:
798 float newValue = 0;
799 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
800 {
801 newValue += 0.25;
802 }
803
804 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
805 {
806 newValue += 0.25;
807 }
808
809 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
810 {
811 newValue += 0.25;
812 }
813
814 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
815 {
816 newValue += 0.25;
817 }
818
819 return Math.Clamp(newValue, 0, 1);
820 break;
821 }
822
823 return super.OnSound(ctrl, oldValue);
824 }
825
826 override string GetAnimSourceFromSelection( string selection )
827 {
828 switch( selection )
829 {
830 case "doors_driver":
831 return "DoorsDriver";
832 case "doors_codriver":
833 return "DoorsCoDriver";
834 case "doors_cargo1":
835 return "DoorsCargo1";
836 case "doors_cargo2":
837 return "DoorsCargo2";
838 case "doors_hood":
839 return "DoorsHood";
840 case "doors_trunk":
841 return "DoorsTrunk";
842 }
843
844 return "";
845 }
846
847 override bool IsVitalGlowPlug()
848 {
849 return false;
850 }
851
852 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
853 {
854 switch (currentSeat)
855 {
856 case 0:
857 return nextSeat == 1;
858 case 1:
859 return nextSeat == 0;
860 case 2:
861 return nextSeat == 3;
862 case 3:
863 return nextSeat == 2;
864 }
865
866 return false;
867 }
868
869 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
870 {
871 switch (pCurrentSeat)
872 {
873 case 0:
874 return pDoorsSelection == "DoorsDriver";
875 case 1:
876 return pDoorsSelection == "DoorsCoDriver";
877 case 2:
878 return pDoorsSelection == "DoorsCargo1";
879 case 3:
880 return pDoorsSelection == "DoorsCargo2";
881 }
882
883 return false;
884 }
885
886 override void OnDebugSpawn()
887 {
889 SpawnAdditionalItems();
890 FillUpCarFluids();
891
892 GameInventory inventory = GetInventory();
893 inventory.CreateInInventory("Hatchback_02_Wheel");
894 inventory.CreateInInventory("Hatchback_02_Wheel");
895 inventory.CreateInInventory("Hatchback_02_Wheel");
896 inventory.CreateInInventory("Hatchback_02_Wheel");
897
898 inventory.CreateInInventory("Hatchback_02_Door_1_1");
899 inventory.CreateInInventory("Hatchback_02_Door_1_2");
900 inventory.CreateInInventory("Hatchback_02_Door_2_1");
901 inventory.CreateInInventory("Hatchback_02_Door_2_2");
902 inventory.CreateInInventory("Hatchback_02_Hood");
903 inventory.CreateInInventory("Hatchback_02_Trunk");
904
905 //-----IN CAR CARGO
906 inventory.CreateInInventory("Hatchback_02_Wheel");
907 inventory.CreateInInventory("Hatchback_02_Wheel");
908 }
909}
910
911class Hatchback_02_Black : Hatchback_02
912{
913 override void OnDebugSpawn()
914 {
916 SpawnAdditionalItems();
917 FillUpCarFluids();
918
919 GameInventory inventory = GetInventory();
920 inventory.CreateInInventory("Hatchback_02_Wheel");
921 inventory.CreateInInventory("Hatchback_02_Wheel");
922 inventory.CreateInInventory("Hatchback_02_Wheel");
923 inventory.CreateInInventory("Hatchback_02_Wheel");
924
925 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
926 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
927 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
928 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
929 inventory.CreateInInventory("Hatchback_02_Hood_Black");
930 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
931
932 //-----IN CAR CARGO
933 inventory.CreateInInventory("Hatchback_02_Wheel");
934 inventory.CreateInInventory("Hatchback_02_Wheel");
935 }
936}
937
939{
940 override void OnDebugSpawn()
941 {
943 SpawnAdditionalItems();
944 FillUpCarFluids();
945
946 GameInventory inventory = GetInventory();
947 inventory.CreateInInventory("Hatchback_02_Wheel");
948 inventory.CreateInInventory("Hatchback_02_Wheel");
949 inventory.CreateInInventory("Hatchback_02_Wheel");
950 inventory.CreateInInventory("Hatchback_02_Wheel");
951
952 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
953 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
954 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
955 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
956 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
957 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
958
959 //-----IN CAR CARGO
960 inventory.CreateInInventory("Hatchback_02_Wheel");
961 inventory.CreateInInventory("Hatchback_02_Wheel");
962 }
963}
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
Hatchback_02LightProfileFront VehicleLightProfileFront Hatchback_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
void VehicleLightData(VehicleLightProfileBase profile)
Определения VehicleLightsComponent.c:21
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
void ~Hatchback_02()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
void Hatchback_02()
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
override void EEInit()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
Hatchback_02 CarScript OnDebugSpawn()
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
override void OnDebugSpawn()
override void OnDebugSpawn()
Определения EnEntity.c:165
Определения EnMath.c:7
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.