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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

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