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

◆ EOnPostSimulate()

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

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

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