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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

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