Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на торговую площадку

    Там вы можете купить
    Всё что касается игровых серверов
  • 0
pekar0201

Запретить постройку сейфов без 30m plot pole

4 answers to this question

Recommended Posts

  • 0

и чо тебе это даст?

копни для начала поглубже -

Ну поставил я плот, поставил сейф, снял плот, пошел дальше ставить...

Share this post


Link to post
Share on other sites



  • 0

Одно дело, если бы ты открывал сейфы на карте, и не давал их закрыть, если рядом нет базы, а ты хочешь столб, в виде инструмента - аля лопатка...

Share this post


Link to post
Share on other sites
  • 0

Ну если прям так хочется, то открой файл который отвечает за установку сейфа(стройка), и где нить вверху добавь проверку - что устанавливаем - если сейф то:

_build    =    true;
if (_buildObj == "сейф") then
    {
        if ( (count nearestObjects [(getPosATL player), ["Plastic_Pole_EP1_DZ"], 30]) <= 0 ) exitWith
            {
                systemChat "Рядом нет базовой постройки!";
                _build    =    false;
            };
};
if !(_build) exitWith {};

вместо "сейф" впиши как он там в эпоче зовется, я уже не помню, ну а в _buildObj, должно быть имя объекта стройки.

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Долго собирал по error RPT но всё же удалось зделать это. Подправите если нашли что то лишние.
Открываем: player_build.sqf 

 

находим проверку:

if(_isPole && _IsNearPlot > 0) exitWith {  DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };

после неё вставляем:

//Разрешает установку только PlotPole.
if (!(_classname == "Plastic_Pole_EP1_DZ")) then { 
	if ( (count nearestObjects [(getPosATL player), ["Plastic_Pole_EP1_DZ"], 30]) <= 0 ) then {
		_canBuildOnPlot = false;
		_isOk = false;
		_cancel = true;
		cutText [format["У Вас нет 30 метров плот!"], "PLAIN DOWN"];
		detach _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	} else {
		if(!_isPole) then {
			DZE_ActionInProgress = true;
			_isOk = true;
			cutText [format["У Вас есть 30 метров плот!"], "PLAIN DOWN"];
		};
	};
};
  •  

Вот и всё будет ограничивать все постройки кроме 30 метров плот.

Edited by Tomkraft152
Код был доработан так как предыдущий код ограничивал все постройки на карте. (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 123new
      Такого плана вопрос по моддингу на 1.0.
      В моде есть, например, класс:
      class ExpansionGlobalChat с кучей функций
      создаю свой мод, в котором указываю
      modded class ExpansionGlobalChat { override void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { super.GlobalChat(type, ctx, sender, target); Param2< string, string > data; if ( !ctx.Read( data ) ) return; if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; Print(format); } } } и пакую, запускаю сервер. Пишет как на скрине.

      Если modded убираю - пишет что класс уже используется. Что я не так делаю? Как делать правильно? не допираю.
    • By 123new
      Автор скрипта: http://s-platoon.ru/profile/48-nonameultima/
      Все благодарности за этот скрипт непосредственно автору скрипта, не мне!
       
      Процедурка для получения дистанции между двумя точками, без учета высоты.
      Class Ultima_Functions { static float Distance2D(vector v_PointA, vector v_PointB) {return Math.Sqrt( Math.Pow((v_PointA[0] - v_PointB[0]), 2) + Math.Pow((v_PointA[2] - v_PointB[2]), 2) );} } Пример использования:
      vector v_A = "0 0 0"; vector v_B = "100 100 100"; float v_Distance2D; v_Distance2D = Ultima_Functions.Distance2D(v_A, v_B); Print(string.Format("Дистанция между точками: %1м", v_Distance2D));  
    • By rifer
      Всем привет! Пожаловался игрок о том что кто-то сломал его плот. Задался вопросом о том чтобы писать в логи кто сломал, дату, время и координаты. Как реализовать? Я так понимаю что саму запись в лог не сложно вставить, но я не понимаю в какой файл лезть и какие условия ставить. Подскажите кто знает
    • By Ник
      По-многочисленным просьбам сервостроителей, а также если Вам лень собирать сервер с нуля, предлагаю Вашему вниманию гайд,  как установить Plot for Life v2.35 + SnapPro v1.4 + DayzBuildVectors-master на сервер, заполненый различными скриптами.   Скачиваем архив с яндекс-диска, или с оригинала(Plot for Life можно только скопировать файлы, убрали кнопку скачать) Ссылка на архив:https://yadi.sk/d/3CMIdOy032FAyC Оригинал: https://github.com/RimBlock/Epoch/tree/A_Plot_for_Life_v2.35_Stable/A%20Plot%20for%20Life https://github.com/strikerforce/DayzBuildVectors/archive/master.zip   Если у Вас уже установлен SnapPro и векторы, то удалите их. Как удалить - следовать гайду, по которому устанавливали, только наоборот, читать от конца к началу.                                               ****Установка Plot for Life v2.35 + SnapPro v1.4****   Откройте папку Custom и посмотрите какие файлы находятся в ней, если у Вас уже есть такие же, то удалите их из этой папки, позже внесёте изменения в свои. Оставшиеся файлы(включая подпапки) скопируйте к себе в \MPMissions\DayZ_Epoch_11.Chernarus в папку Custom Если не нравится структура расположения папок и файлов, можете изменить по своему усмотрению, не забыв при этом поменять пути к этим файлам. Далее будет расписано какие изменения необходимо внести в файлы. Если Вы их просто скопировали к себе, то и изменять не надо. Гайд будет большим, так что запаситесь терпением(в блокноте он занял 1730 строк). И так, поехали:   Серверная часть: Файл server_publishFullObject.sqf из папки Server\compile скопировать в @DayZ_Epoch_Server\addons\dayz_server\compile   server_functions.sqf
       
      server_monitor.sqf
       
       
       
      Клиентская часть Нам понадобятся кастомные файлы из dayz_code, если у вас уже есть какие-то файлы из перечисленных, вносите изменения, если нет, скопируйте их из архива
        compiles.sqf
        publicEH.sqf
        variables.sqf
        fn_damageActions.sqf
        fn_selfActions.sqf
        player_lockVault.sqf
        player_packTent.sqf
        player_packVault.sqf
        player_unlockVault.sqf
        player_updateGui.sqf
        object_showPlotRadius.sqf
        player_build.sqf
        player_buildingDowngrade.sqf
        player_tagFriendly.sqf
        player_upgrade.sqf
        remove.sqf
        tent_pitch.sqf
        vault_pitch.sqf
        dayz_spaceInterrupt.sqf
        Откройте файл init.sqf(который в MPMissions\DayZ_Epoch_11.Chernarus)
        Откройте description.ext В самый конец файла добавьте #include "custom\snap_pro\snappoints.hpp"   Если Вы скопировали из архива файл compiles.sqf и не вносили в него изменений, то исправьте в конце этого файла путь к server_functions.sqf на штатный call compile preprocessFileLineNumbers "\z\addons\dayz_server\init\server_functions.sqf";   Если будет возмущаться BattlEye, то в файл createvehicle.txt добавить исключение !="Land_coneLight" в строку, начинающийся с: 5 "Land_"(у меня она 50)                                                        ****Установка векторов****   Папку BuildVectors из DayzBuildVectors-master закинуть к себе в \MPMissions\DayZ_Epoch_11.Chernarus\Custom Откройте папки  A_Plot_for_Life и Snap_Pro, если Вы ни чего не вносили в эти файлы, то просто скопируйте их в соответствующие папки с заменой. Если же Вы вносили какие-то свои изменения, то читаем гайд дальше, там будет расписано что и где заменить.                                                   Клиентская часть: В файле init.sqf добавить переменные после DZE_modularBuild = true;
        В файле variables.sqf добавить переменные в блок dayz_resetSelfActions = {
        В файле compile.sqf добавить после строки FNC_check_owner =
        snap_build.sqf
        modular_build.sqf
       
      player_build.sqf
       
       
       
      player_build_controls.sqf
       
       
       
      player_build_create.sqf
       
       
       
      player_buildingDowngrade.sqf
       
       
       
      player_upgrade.sqf
       
       
       
      plot_take_ownership.sqf
       
       
       
      player_lockVault.sqf
       
       
       
      player_unlockVault.sqf
       
       
       
      Серверная часть: server_monitor.sqf
        server_functions.sqf
        Установить [Precise Base Building] http://epochmod.com/forum/index.php?/topic/15813-release-v103-precise-base-building-persistent-bases-after-restart/
        Известные ошибки в RPT клиента: ,>
      Как её исправить не нашёл решение, но она не влияет на работу скрипта   На этом всё. Кто осилил - молодец Проверил на этой сборке http://s-platoon.ru/index.php?/topic/4983-gotovaia-sborka-servera-dayz-epoch-1051/
×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.