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

◆ EOnPostSimulate()

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

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

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