Перейти к содержимому

DustBlue IPB Skin by CodeGame Networks

GodModeBase


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Vitalik5921

Vitalik5921

    Новичок

  • Проверенные
  • Pip
  • 3 сообщений

Отправлено 22 февраля 2017 - 09:24

Подскажите пожалуйста как сделать чтоб при установленном 30м плот, постройки в радиусе плота были  не разрушаемые,а если снять плот то постройки можно разрушить

#2 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 22 февраля 2017 - 15:32

Вот тебе техническое описание необходимого тебе скрипта:
Скрипт:
    Переменные:
        1    Настройки - Массив, в котором перечислить объекты, которым при наличии рядом столба базы, нужно выставлять годмод.
        2    Для временного хранения массива объектов.
    Бесконечный цикл:
        Очищаем переменную 2.
        Ищем все объекты на карте из массива, 1 и кладем их в переменную 2.
        Цикл по найденным объектам:
            Если в пределах 30м от объекта нет базы:
                Отключить годмод.
            В противном случае:
                Включить годмод.
        Конец цикла по найденным объектам.
        Пауза 30 секунд.
    Конец бесконечного цикла.

Данный скрипт будет при установке столба игроком, в течении 30сек устанавливать годмод всем необходимым объектам.
Ну и снимать годмод в течении 30сек, если ранее был столб, а теперь нет.
    
P.S. При большом кол-ве объектов настроек, и большом их кол-ве на базах, может быть нагрузка при проверки расстояния - 30м. - При их переборе.
Но это надо проверять.
Если нагрузка будет большая, то можно переписать скрипт по другому.

#3 Vitalik5921

Vitalik5921

    Новичок

  • Проверенные
  • Pip
  • 3 сообщений

Отправлено 23 февраля 2017 - 10:40

Просмотр сообщенияNoNameUltima (22 февраля 2017 - 15:32) писал:

Вот тебе техническое описание необходимого тебе скрипта:
Скрипт:
Переменные:
1 Настройки - Массив, в котором перечислить объекты, которым при наличии рядом столба базы, нужно выставлять годмод.
2 Для временного хранения массива объектов.
Бесконечный цикл:
Очищаем переменную 2.
Ищем все объекты на карте из массива, 1 и кладем их в переменную 2.
Цикл по найденным объектам:
Если в пределах 30м от объекта нет базы:
Отключить годмод.
В противном случае:
Включить годмод.
Конец цикла по найденным объектам.
Пауза 30 секунд.
Конец бесконечного цикла.

Данный скрипт будет при установке столба игроком, в течении 30сек устанавливать годмод всем необходимым объектам.
Ну и снимать годмод в течении 30сек, если ранее был столб, а теперь нет.

P.S. При большом кол-ве объектов настроек, и большом их кол-ве на базах, может быть нагрузка при проверки расстояния - 30м. - При их переборе.
Но это надо проверять.
Если нагрузка будет большая, то можно переписать скрипт по другому.
Такой скрипт есть и как вы и предполагали он При большом кол-ве объектов настроек, и большом их кол-ве на базах, может быть нагрузка при проверки расстояния - 30м. - При их переборе. Можете подсказать второй вариант без нагрузки?

#4 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 23 февраля 2017 - 20:47

Если скрипт такой есть - в студию его.
Посмотрим, что там за скрипт...

#5 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 23 февраля 2017 - 20:59

Второй вариант, более сложный:
*Скрипт надо интегрировать, в процедуру демонтажа, и уничтожения, а так же в скрипт стройки - установка объекта, и добавить пару строк в скрипт который на старте сервера, читает объекты из БД и ставит их.

ГЛОБАЛЬНЫЕ Переменные:
        1    Настройки - Массив, в котором перечислить объекты, которым при наличии рядом столба базы, нужно выставлять годмод.

При демонтаже, или уничтожении столба:
    Найти все объекты в радиусе 30м(только те объекты которые в настройках - 1)
    Отключить у данных объектов годмод.
При установке объекта(строительство\крафт - или что там у вас):
    Если устанавливается столб
        Найти все объекты из переменной-настройки 1
        Установить всем данным объектам годмод
    Если НЕ столб
        т.к. ставить объект можно только если рядом база, то попросту - отключить получение урона у установленного объекта.
При чтении из БД(старт сервера) ТОЛЬКО ПОСЛЕ ПОЛНОЙ ЗАГРУЗКИ ИЗ БД ВСЕХ СТРОЙ-ОБЪЕКТОВ:
    Единоразово выполнить скрипт из варианта 1. т.к. его придется выполнить, хотябы 1 раз.

#6 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 23 февраля 2017 - 21:02

P.S. Надеюсь понимаете, что выполнить скрипт из варианта 1, надо без цикла - просто единоразово.

#7 Vitalik5921

Vitalik5921

    Новичок

  • Проверенные
  • Pip
  • 3 сообщений

Отправлено 23 февраля 2017 - 22:27

Вот собственно сам скрипт


Удалено

#8 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 26 февраля 2017 - 20:29

Просмотр сообщенияVitalik5921 (23 февраля 2017 - 22:27) писал:

Вот собственно сам скрипт


Удалено

Откуда скриптик то?




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных