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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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