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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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