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

◆ EOnPostSimulate()

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

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

557{
561
562 void OffroadHatchback()
563 {
564 //m_dmgContactCoef = 0.075;
565
566 m_EngineStartOK = "offroad_engine_start_SoundSet";
567 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
568 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
569 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
570 m_EngineStop = "offroad_engine_stop_SoundSet";
571 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
572
573 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
574 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
575 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
576 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
577
578 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
579 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
580
581 SetEnginePos("0 0.7 1.2");
582 }
583
584 void ~OffroadHatchback()
585 {
586 m_UTSource = null;
587 m_UTSSettings = null;
588 m_UTSLEngine = null;
589 }
590
591 override void EEInit()
592 {
593 super.EEInit();
594
595 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
596 {
598 m_UTSSettings.m_ManualUpdate = true;
600 m_UTSSettings.m_TemperatureCap = 0;
601 m_UTSSettings.m_RangeFull = 0.5;
602 m_UTSSettings.m_RangeMax = 2;
603
606 }
607 }
608
609 override void OnEngineStart()
610 {
611 super.OnEngineStart();
612
613 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
614 {
615 if (m_UTSource)
616 m_UTSource.SetDefferedActive(true, 20.0);
617 }
618 }
619
620 override void OnEngineStop()
621 {
622 super.OnEngineStop();
623
624 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
625 {
626 if (m_UTSource)
627 m_UTSource.SetDefferedActive(false, 10.0);
628 }
629 }
630
631 override void EOnPostSimulate(IEntity other, float timeSlice)
632 {
633 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
634 {
635 if (m_UTSource && m_UTSource.IsActive())
636 {
638 }
639 }
640 }
641
642 override int GetAnimInstance()
643 {
644 return VehicleAnimInstances.HATCHBACK;
645 }
646
647 override float GetTransportCameraDistance()
648 {
649 return 3.5;
650 }
651
652 override int GetSeatAnimationType( int posIdx )
653 {
654 switch (posIdx)
655 {
656 case 0:
657 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
658 case 1:
659 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
660 case 2:
661 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
662 case 3:
663 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
664 }
665
666 return 0;
667
668 }
669
670
672 {
673 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
674 }
675
677 {
678 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
679 }
680
681 override bool CanReleaseAttachment(EntityAI attachment)
682 {
683 if (!super.CanReleaseAttachment(attachment))
684 {
685 return false;
686 }
687
688 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
689 {
690 string attType = attachment.GetType();
691 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
692 {
693 return false;
694 }
695 }
696
697 return true;
698 }
699
700 override protected bool CanManipulateSpareWheel(string slotSelectionName)
701 {
702 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
703 }
704
705 override bool CanDisplayAttachmentCategory( string category_name )
706 {
707 if (!super.CanDisplayAttachmentCategory(category_name))
708 {
709 return false;
710 }
711
712 category_name.ToLower();
713 if (category_name.Contains("engine"))
714 {
715 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
716 {
717 return false;
718 }
719 }
720
721 return true;
722 }
723
724 override bool CanDisplayCargo()
725 {
726 if (!super.CanDisplayCargo())
727 {
728 return false;
729 }
730
731 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
732 {
733 return false;
734 }
735
736 return true;
737 }
738
739 override int GetCarDoorsState(string slotType)
740 {
741 CarDoor carDoor;
742
743 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
744 if (!carDoor)
745 {
746 return CarDoorState.DOORS_MISSING;
747 }
748
749 switch (slotType)
750 {
751 case "NivaDriverDoors":
752 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
753
754 case "NivaCoDriverDoors":
755 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
756
757 case "NivaHood":
758 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
759
760 case "NivaTrunk":
761 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
762 }
763
764 return CarDoorState.DOORS_MISSING;
765 }
766
767 override bool CrewCanGetThrough(int posIdx)
768 {
769 CarDoor carDoor;
770 switch (posIdx)
771 {
772 case 0:
773 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
774 return false;
775 else if (GetAnimationPhase("SeatDriver") > 0.5)
776 return false;
777
778 return true;
779
780 case 1:
781 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
782 return false;
783 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
784 return false;
785
786 return true;
787
788 case 2:
789 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
790 return false;
791 else if (GetAnimationPhase("SeatDriver") <= 0.5)
792 return false;
793
794 return true;
795
796 case 3:
797 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
798 return false;
799 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
800 return false;
801
802 return true;
803 }
804
805 return false;
806 }
807
808 override string GetDoorSelectionNameFromSeatPos(int posIdx)
809 {
810 switch (posIdx)
811 {
812 case 0:
813 case 2:
814 return "doors_driver";
815 case 1:
816 case 3:
817 return "doors_codriver";
818 }
819
820 return super.GetDoorSelectionNameFromSeatPos(posIdx);
821 }
822
823 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
824 {
825 switch (posIdx)
826 {
827 case 0:
828 case 2:
829 return "NivaDriverDoors";
830 case 1:
831 case 3:
832 return "NivaCoDriverDoors";
833 }
834
835 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
836 }
837
838 // 0 full ambient and engine sound
839 // 1 zero ambient and engine sound
840 override float OnSound(CarSoundCtrl ctrl, float oldValue)
841 {
842 float tempCap = 0.0;
843
844 switch (ctrl)
845 {
846 case CarSoundCtrl.DOORS:
847 float newValue = 0;
848 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
849 {
850 newValue += 0.5;
851 }
852
853 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
854 {
855 newValue += 0.5;
856 }
857
858 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
859 {
860 newValue += 0.3;
861 }
862
863 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
864 {
865 newValue -= 0.6;
866 }
867
868 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
869 {
870 newValue -= 0.2;
871 }
872
873 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
874 {
875 newValue -= 0.2;
876 }
877
878 return Math.Clamp(newValue, 0, 1);
879 break;
880 }
881
882 return super.OnSound(ctrl, oldValue);
883 }
884
885 override string GetAnimSourceFromSelection( string selection )
886 {
887 switch (selection)
888 {
889 case "doors_driver":
890 return "DoorsDriver";
891 case "doors_codriver":
892 return "DoorsCoDriver";
893 case "doors_hood":
894 return "DoorsHood";
895 case "doors_trunk":
896 return "DoorsTrunk";
897 case "seatback_driver":
898 return "SeatDriver";
899 case "seatback_codriver":
900 return "SeatCoDriver";
901 }
902
903 return "";
904 }
905
906 override string GetDoorConditionPointFromSelection(string selection)
907 {
908 switch (selection)
909 {
910 case "seat_driver":
911 case "seatback_driver":
912 case "seat_cargo1":
913 return "seat_con_1_1";
914 case "seat_codriver":
915 case "seatback_codriver":
916 case "seat_cargo2":
917 return "seat_con_2_1";
918 }
919
920 return "";
921 }
922
923 override int GetCrewIndex(string selection)
924 {
925 switch (selection)
926 {
927 case "seatback_driver":
928 return 0;
929 case "seatback_codriver":
930 return 1;
931 }
932
933 return -1;
934 }
935
936 override bool IsVitalTruckBattery()
937 {
938 return false;
939 }
940
941 override bool IsVitalGlowPlug()
942 {
943 return false;
944 }
945
946 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
947 {
948 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
949 return false;
950
951 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
952 return false;
953
954 switch (currentSeat)
955 {
956 case 0:
957 return nextSeat == 1;
958
959 case 1:
960 return nextSeat == 0;
961
962 case 2:
963 return nextSeat == 3;
964
965 case 3:
966 return nextSeat == 2;
967 }
968
969 return false;
970 }
971
972 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
973 {
974 switch (pCurrentSeat)
975 {
976 case 0:
977 return pDoorsSelection == "DoorsDriver";
978
979 case 1:
980 return pDoorsSelection == "DoorsCoDriver";
981
982 case 2:
983 return pDoorsSelection == "DoorsDriver";
984
985 case 3:
986 return pDoorsSelection == "DoorsCoDriver";
987 }
988
989 return false;
990 }
991
992 override int GetSeatIndexFromDoor( string pDoorSelection )
993 {
994 switch (pDoorSelection)
995 {
996 case "DoorsDriver":
997 return 0;
998 case "DoorsCoDriver":
999 return 1;
1000 }
1001
1002 return -1;
1003 }
1004
1005 override void SetActions()
1006 {
1007 super.SetActions();
1008
1010 }
1011
1012 override void OnDebugSpawn()
1013 {
1014 SpawnUniversalParts();
1015 SpawnAdditionalItems();
1016 FillUpCarFluids();
1017
1018 GameInventory inventory = GetInventory();
1019 inventory.CreateInInventory("HatchbackWheel");
1020 inventory.CreateInInventory("HatchbackWheel");
1021 inventory.CreateInInventory("HatchbackWheel" );
1022 inventory.CreateInInventory("HatchbackWheel");
1023
1024 inventory.CreateInInventory("HatchbackDoors_Driver");
1025 inventory.CreateInInventory("HatchbackDoors_CoDriver");
1026 inventory.CreateInInventory("HatchbackHood");
1027 inventory.CreateInInventory("HatchbackTrunk");
1028
1029 //-----IN CAR CARGO
1030 inventory.CreateInInventory("HatchbackWheel");
1031 inventory.CreateInInventory("HatchbackWheel");
1032 }
1033}
1034
1035class OffroadHatchback_White extends OffroadHatchback
1036{
1037 override void OnDebugSpawn()
1038 {
1039 SpawnUniversalParts();
1040 SpawnAdditionalItems();
1041 FillUpCarFluids();
1042
1043 GameInventory inventory = GetInventory();
1044 inventory.CreateInInventory("HatchbackWheel");
1045 inventory.CreateInInventory("HatchbackWheel");
1046 inventory.CreateInInventory("HatchbackWheel");
1047 inventory.CreateInInventory("HatchbackWheel");
1048
1049 inventory.CreateInInventory("HatchbackDoors_Driver_White");
1050 inventory.CreateInInventory("HatchbackDoors_CoDriver_White");
1051 inventory.CreateInInventory("HatchbackHood_White");
1052 inventory.CreateInInventory("HatchbackTrunk_White");
1053
1054 //-----IN CAR CARGO
1055 inventory.CreateInInventory("HatchbackWheel");
1056 inventory.CreateInInventory("HatchbackWheel");
1057 }
1058}
1059
1060class OffroadHatchback_Blue extends OffroadHatchback
1061{
1062 override void OnDebugSpawn()
1063 {
1064 SpawnUniversalParts();
1065 SpawnAdditionalItems();
1066 FillUpCarFluids();
1067
1068 GameInventory inventory = GetInventory();
1069 inventory.CreateInInventory("HatchbackWheel");
1070 inventory.CreateInInventory("HatchbackWheel");
1071 inventory.CreateInInventory("HatchbackWheel");
1072 inventory.CreateInInventory("HatchbackWheel");
1073
1074 inventory.CreateInInventory("HatchbackDoors_Driver_Blue");
1075 inventory.CreateInInventory("HatchbackDoors_CoDriver_Blue");
1076 inventory.CreateInInventory("HatchbackHood_Blue");
1077 inventory.CreateInInventory("HatchbackTrunk_Blue");
1078
1079 //-----IN CAR CARGO
1080 inventory.CreateInInventory("HatchbackWheel");
1081 inventory.CreateInInventory("HatchbackWheel");
1082 }
1083}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
override void SetActions()
Определения OffroadHatchback.c:930
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:871
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:810
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:577
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:831
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:765
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:748
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:556
override void OnEngineStop()
Определения OffroadHatchback.c:545
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:572
override void EEInit()
Определения OffroadHatchback.c:516
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:606
override bool CanDisplayCargo()
Определения OffroadHatchback.c:649
void ~OffroadHatchback()
Определения OffroadHatchback.c:509
override void OnEngineStart()
Определения OffroadHatchback.c:534
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:601
override int GetAnimInstance()
Определения OffroadHatchback.c:567
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:692
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:897
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:625
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:866
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:596
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:482
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:917
void OffroadHatchback()
Определения OffroadHatchback.c:487
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:861
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:733
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:664
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:848
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:630
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.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()
Определения OffroadHatchback.c:507
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
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:811
const int STATE_RUINED
Определения 3_Game/DayZ/constants.c:851
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.