Сообщений: 53
Тем: 7
Зарегистрирован: Nov 2012
Репутация:
104
Здравствуйте, уважаемые пользователи
Интересует такой момент, как сделать вот такую вот фишку: "ночью враги сильнее в 2-3 раза", вообщем, как сделать проверку на то - ночь в игре или день? И как во время ночи усилить атаку всем мобам в 2 раза (*2), именно всем сразу? (Кроме РБ, и Эпик РБ).
Хроники мои: Interlude, исходники использую L2J, L2JFrozen.
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
как возможный вариант - повесить всем мобам пассивку с кондишном, проверяющим время дня, наподобие того как сделан скилл Shadow Sense
Сообщений: 2,846
Тем: 34
Зарегистрирован: Mar 2012
Репутация:
19,998
11-29-2012, 10:28 PM
(Сообщение последний раз редактировалось: 11-29-2012, 10:28 PM helly.)
У ДЕ скилл, ночью у них точность увеличивается на 3. Оттакливайтесь от него.
Добавлено через 31 секунду
Gaikotsu Написал:как возможный вариант - повесить всем мобам пассивку с кондишном, проверяющим время дня, наподобие того как сделан скилл Shadow Sense
Опередили
Сообщений: 53
Тем: 7
Зарегистрирован: Nov 2012
Репутация:
104
11-29-2012, 10:46 PM
(Сообщение последний раз редактировалось: 11-29-2012, 10:49 PM Delpin.)
Спасибо за подсказки, всем плюсики поставил.
Нашел вот такой класс:
Код: public class ConditionGameTime extends Condition
{
public enum CheckGameTime
{
NIGHT
}
private final CheckGameTime _check;
private final boolean _required;
public ConditionGameTime(CheckGameTime check, boolean required)
{
_check = check;
_required = required;
}
@Override
public boolean testImpl(Env env)
{
switch(_check)
{
case NIGHT:
return GameTimeController.getInstance().isNowNight() == _required;
}
return !_required;
}
}
case NIGHT:
return GameTimeController.getInstance().isNowNight() == _required;
На сколько я понял из этих строк - проверяем, если ночь, то - возвращаем действие ? Или же используем этот required ? Не совсем если честно понял данную строчку return GameTimeController.getInstance().isNowNight() == _required; , кроме GameTimeController.getInstance().isNowNight() )))
Добавлено через 2 минуты
И, собственно, остается вопрос в том - как выбрать сразу всех мобов (NPC) под действие (усиление)?
Думаю, можно типами мобов, или сделать от id 1 до 100000 (как пример), но думаю делать так не совсем разумно и задену и РБ и эпик рб (а отсеивать долговато будет всех рейдбоссов).
Сообщений: 87
Тем: 10
Зарегистрирован: May 2012
Репутация:
202
Зачем выбирать всех мобов, всем мобам надо просто дать новую пассивку, в которой уже и будет ночное усиление, дописывать ничего не понадобится, кроме данной пассивки в хмл. И запросик в нпсскилл.
Инструмент для Perfect World, Forsaken World, Jade Dynasty, LoMA, HoTK, Ether Saga. Детали в ПМ.
Сообщений: 53
Тем: 7
Зарегистрирован: Nov 2012
Репутация:
104
femida4me Написал:Зачем выбирать всех мобов, всем мобам надо просто дать новую пассивку, в которой уже и будет ночное усиление, дописывать ничего не понадобится, кроме данной пассивки в хмл.
Хорошо, как будет более правильно добавить пассивку всем мобам? SQL запросом? Опять же, сложно будет выбрать диапазон id'ов, придется отсеивать РБ, но все равно спасибо за разъяснение.
----------------------
Все, сам ответил на свой вопрос, по типам нпс, спасибо большое всем за помощь Почти все разъяснилось, кроме основной задачи по коду (Увеличение атаки в 2 раза), но зато нам стало известно как это сделать в общем виде: через GameTimeController (делать проверку на isNowNight())
Сообщений: 3,968
Тем: 90
Зарегистрирован: Nov 2010
Репутация:
15,337
оффтоп
Грамотно поставленный вопрос, на грамотному русском, с указанием сборки :eek:, ТС вы мой кумир.
По поводу класса - все верно, как вариант можно создать скрипт, который по таску будет в ночное время добавлять пасивку со статами, в дневное удалять, хотя с кондишеном конечно красивее .
Сообщений: 53
Тем: 7
Зарегистрирован: Nov 2012
Репутация:
104
Ro_0TT Написал:
оффтоп
Грамотно поставленный вопрос, на грамотному русском, с указанием сборки :eek:, ТС вы мой кумир.
По поводу класса - все верно, как вариант можно создать скрипт, который по таску будет в ночное время добавлять пасивку со статами, в дневное удалять, хотя с кондишеном конечно красивее .
оффтоп
Спасибо, приятно слышать
Решил остановиться на Condition варианте, сегодня создам пассивный скилл и проверю. Еще раз огромное спасибо всем тем, кто отписался в данной теме и помог в решении вопроса:plus1:
Сообщений: 251
Тем: 4
Зарегистрирован: Oct 2008
Репутация:
0
ну или как вариант, прямо в GameController'е, в методе activateShadowSense (лыжные сборки, по крайней мере, у меня так), проверить, если тип нпц - моб и т.д, то выставляем нужную атаку.
Сообщений: 204
Тем: 12
Зарегистрирован: Jun 2012
Репутация:
181
Не проще ли взять скрипт смены мобов с Локации (Тёмный Лес или как то так из Руны) Распределить его на всех, но поставить не смену а All stats x2/x3 random?
|