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

◆ EOnPostSimulate()

override void OnDebugSpawn::EOnPostSimulate ( IEntity other,
float timeSlice )
protected

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

516 : CarScript
517{
521
522 void Hatchback_02()
523 {
524 //m_dmgContactCoef = 0.070;
525
526 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
527 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
528 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
529 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
530 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
531 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
532
533 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
534 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
535
536 m_LightsComponent.RegisterLight("Front", new VehicleLightData(new Hatchback_02LightProfileFront()));
537 m_LightsComponent.RegisterLight("Rear", new VehicleLightData(new Hatchback_02LightProfileRear()));
538
539 m_HornComponent.RegisterSound(VehicleHornMode.SHORT, "Hatchback_02_Horn_Short_SoundSet");
540 m_HornComponent.RegisterSound(VehicleHornMode.LONG, "Hatchback_02_Horn_SoundSet");
541
542 SetEnginePos("0 0.7 1.4");
543
545 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
546 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
547 }
548
549 void ~Hatchback_02()
550 {
551 m_UTSource = null;
552 m_UTSSettings = null;
553 m_UTSLEngine = null;
554 }
555
556 override void EEInit()
557 {
558 super.EEInit();
559
560 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
561 {
563 m_UTSSettings.m_ManualUpdate = true;
565 m_UTSSettings.m_TemperatureCap = 0;
566 m_UTSSettings.m_RangeFull = 0.5;
567 m_UTSSettings.m_RangeMax = 2;
568
571 }
572 }
573
574 override bool NeedElectricitySourceDevice()
575 {
576 return true;
577 }
578
580 {
581 super.GetElectricitySourceDevice();
582
583 return GetInventory().FindAttachment(CarBattery.SLOT_ID);
584 }
585
586 override string GetElectricitySourceDeviceType()
587 {
588 return "CarBattery";
589 }
590
591 override void OnEngineStart()
592 {
593 super.OnEngineStart();
594
595 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
596 {
597 if (m_UTSource)
598 m_UTSource.SetDefferedActive(true, 20.0);
599 }
600 }
601
602 override void OnEngineStop()
603 {
604 super.OnEngineStop();
605
606 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
607 {
608 if (m_UTSource)
609 m_UTSource.SetDefferedActive(false, 10.0);
610 }
611 }
612
613 override void EOnPostSimulate(IEntity other, float timeSlice)
614 {
615 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
616 {
617 if (m_UTSource && m_UTSource.IsActive())
618 {
620 }
621 }
622 }
623
624 override int GetAnimInstance()
625 {
626 return VehicleAnimInstances.GOLF;
627 }
628
629 override int GetSeatAnimationType(int posIdx)
630 {
631 switch (posIdx)
632 {
633 case 0:
634 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
635 case 1:
636 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
637 case 2:
638 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
639 case 3:
640 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
641 }
642
643 return 0;
644 }
645
646 override bool CanReleaseAttachment(EntityAI attachment)
647 {
648 if (!super.CanReleaseAttachment(attachment))
649 {
650 return false;
651 }
652
653 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
654 {
655 string attType = attachment.GetType();
656 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
657 {
658 return false;
659 }
660 }
661
662 return true;
663 }
664
665 override protected bool CanManipulateSpareWheel(string slotSelectionName)
666 {
667 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
668 }
669
670 override bool CanDisplayAttachmentCategory( string category_name )
671 {
672 //super
673 if ( !super.CanDisplayAttachmentCategory( category_name ) )
674 return false;
675 //
676
677 category_name.ToLower();
678 if ( category_name.Contains("engine") )
679 {
680 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
681 return false;
682 }
683
684 return true;
685 }
686
687 override bool CanDisplayCargo()
688 {
689 if ( !super.CanDisplayCargo() )
690 return false;
691
692 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
693 return false;
694
695 return true;
696 }
697
698 override int GetCarDoorsState(string slotType)
699 {
700 CarDoor carDoor;
701
702 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
703 if (!carDoor)
704 {
705 return CarDoorState.DOORS_MISSING;
706 }
707
708 switch (slotType)
709 {
710 case "Hatchback_02_Door_1_1":
711 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
712
713 case "Hatchback_02_Door_2_1":
714 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
715
716 case "Hatchback_02_Door_1_2":
717 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
718
719 case "Hatchback_02_Door_2_2":
720 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
721
722 case "Hatchback_02_Hood":
723 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
724
725 case "Hatchback_02_Trunk":
726 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
727 }
728
729 return CarDoorState.DOORS_MISSING;
730 }
731
732
733 override bool CrewCanGetThrough(int posIdx)
734 {
735 switch (posIdx)
736 {
737 case 0:
738 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
739 {
740 return false;
741 }
742
743 return true;
744
745 case 1:
746 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
747 {
748 return false;
749 }
750
751 return true;
752
753 case 2:
754 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
755 {
756 return false;
757 }
758
759 return true;
760
761 case 3:
762 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
763 {
764 return false;
765 }
766
767 return true;
768 }
769
770 return false;
771 }
772
773 override string GetDoorSelectionNameFromSeatPos(int posIdx)
774 {
775 switch( posIdx )
776 {
777 case 0:
778 return "doors_driver";
779 break;
780 case 1:
781 return "doors_codriver";
782 break;
783 case 2:
784 return "doors_cargo1";
785 break;
786 case 3:
787 return "doors_cargo2";
788 break;
789 }
790
791 return super.GetDoorSelectionNameFromSeatPos(posIdx);
792 }
793
794 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
795 {
796 switch( posIdx )
797 {
798 case 0:
799 return "Hatchback_02_Door_1_1";
800 break;
801 case 1:
802 return "Hatchback_02_Door_2_1";
803 break;
804 case 2:
805 return "Hatchback_02_Door_1_2";
806 break;
807 case 3:
808 return "Hatchback_02_Door_2_2";
809 break;
810 }
811
812 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
813 }
814
815 override float OnSound(CarSoundCtrl ctrl, float oldValue)
816 {
817 switch (ctrl)
818 {
819 case CarSoundCtrl.DOORS:
820 float newValue = 0;
821 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
822 {
823 newValue += 0.25;
824 }
825
826 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
827 {
828 newValue += 0.25;
829 }
830
831 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
832 {
833 newValue += 0.25;
834 }
835
836 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
837 {
838 newValue += 0.25;
839 }
840
841 return Math.Clamp(newValue, 0, 1);
842 break;
843 }
844
845 return super.OnSound(ctrl, oldValue);
846 }
847
848 override string GetAnimSourceFromSelection( string selection )
849 {
850 switch( selection )
851 {
852 case "doors_driver":
853 return "DoorsDriver";
854 case "doors_codriver":
855 return "DoorsCoDriver";
856 case "doors_cargo1":
857 return "DoorsCargo1";
858 case "doors_cargo2":
859 return "DoorsCargo2";
860 case "doors_hood":
861 return "DoorsHood";
862 case "doors_trunk":
863 return "DoorsTrunk";
864 }
865
866 return "";
867 }
868
869 override bool IsVitalGlowPlug()
870 {
871 return false;
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 void OnDebugSpawn()
909 {
911 SpawnAdditionalItems();
912 FillUpCarFluids();
913
914 GameInventory inventory = GetInventory();
915 inventory.CreateInInventory("Hatchback_02_Wheel");
916 inventory.CreateInInventory("Hatchback_02_Wheel");
917 inventory.CreateInInventory("Hatchback_02_Wheel");
918 inventory.CreateInInventory("Hatchback_02_Wheel");
919
920 inventory.CreateInInventory("Hatchback_02_Door_1_1");
921 inventory.CreateInInventory("Hatchback_02_Door_1_2");
922 inventory.CreateInInventory("Hatchback_02_Door_2_1");
923 inventory.CreateInInventory("Hatchback_02_Door_2_2");
924 inventory.CreateInInventory("Hatchback_02_Hood");
925 inventory.CreateInInventory("Hatchback_02_Trunk");
926
927 //-----IN CAR CARGO
928 inventory.CreateInInventory("Hatchback_02_Wheel");
929 inventory.CreateInInventory("Hatchback_02_Wheel");
930 }
931}
932
933class Hatchback_02_Black : Hatchback_02
934{
935 override void OnDebugSpawn()
936 {
938 SpawnAdditionalItems();
939 FillUpCarFluids();
940
941 GameInventory inventory = GetInventory();
942 inventory.CreateInInventory("Hatchback_02_Wheel");
943 inventory.CreateInInventory("Hatchback_02_Wheel");
944 inventory.CreateInInventory("Hatchback_02_Wheel");
945 inventory.CreateInInventory("Hatchback_02_Wheel");
946
947 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
948 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
949 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
950 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
951 inventory.CreateInInventory("Hatchback_02_Hood_Black");
952 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
953
954 //-----IN CAR CARGO
955 inventory.CreateInInventory("Hatchback_02_Wheel");
956 inventory.CreateInInventory("Hatchback_02_Wheel");
957 }
958}
959
961{
962 override void OnDebugSpawn()
963 {
965 SpawnAdditionalItems();
966 FillUpCarFluids();
967
968 GameInventory inventory = GetInventory();
969 inventory.CreateInInventory("Hatchback_02_Wheel");
970 inventory.CreateInInventory("Hatchback_02_Wheel");
971 inventory.CreateInInventory("Hatchback_02_Wheel");
972 inventory.CreateInInventory("Hatchback_02_Wheel");
973
974 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
975 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
976 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
977 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
978 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
979 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
980
981 //-----IN CAR CARGO
982 inventory.CreateInInventory("Hatchback_02_Wheel");
983 inventory.CreateInInventory("Hatchback_02_Wheel");
984 }
985}
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.