Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

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

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

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

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

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

Вопрос

Рекомендованные сообщения

  • 0

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


  • 0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 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, должно быть имя объекта стройки.

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 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 метров плот.

Изменено пользователем Tomkraft152
Код был доработан так как предыдущий код ограничивал все постройки на карте. (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: 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 убираю - пишет что класс уже используется. Что я не так делаю? Как делать правильно? не допираю.
    • Автор: 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));  
    • Автор: PLAYERDEAD
      Продам и установлю скрипт респавн без выхода в лобби.
      Сам скрипт находится на серверной части.
      Возможность подключить как стандартный выбор спавна (где картинки для черна), так и кастомный (ESS или что другое).
      Можно сделать радном спавн по всей карте.
      Цена  - 400р.
      Skype: rimmon767
    • Автор: rifer
      Всем привет! Пожаловался игрок о том что кто-то сломал его плот. Задался вопросом о том чтобы писать в логи кто сломал, дату, время и координаты. Как реализовать? Я так понимаю что саму запись в лог не сложно вставить, но я не понимаю в какой файл лезть и какие условия ставить. Подскажите кто знает
    • Автор: Ник
      По-многочисленным просьбам сервостроителей, а также если Вам лень собирать сервер с нуля, предлагаю Вашему вниманию гайд,  как установить 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/
×
×
  • Создать...