Перейти к содержанию
Авторизация  
RetZs

Java Scripts Бафер Lucera.

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

Помогите пожалуйста решить проблему.

вообщем как сделать так чтоб в верхнем окне:

http://rghost.ru/46194791.view

 

не показывало какой итем и к-во забирает но когда его нету чтоб писало: Неправильное количество предметов.

Изменено пользователем RetZs

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


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

Решил проблему.

Возникает следующий вопрос что дописать в скрипте чтобы за простые бафы брали опеределёний ID и к-во которое в конфиге а за другие бафы брали ID и к-во 2-о итема.

Изменено пользователем RetZs

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


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

в бд есть таблица которая отвечает за бафы и предметы. Название таблицы - нескажу, ищи сам.

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


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

custom_npcbuffer таблица, там выставлять ИД для каждого баффа можно.

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


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

Не правильно вопрос задал, мне нужно сделать чтоб предмет за баф не забирало а только проверяло

типа так: предмет есть в инвентаре - давать баф, нету - не давать. такое реализовать можно только через скрипт на сколько я знаю.

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


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

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

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


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

Ищем аналог, делаем по примеру. Тыкаем, тыкаем - в конце концов всё получиться.

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


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

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

Если так сделать то выбивает в верхнем чате в L2, "Исчезло 0 Adena" а мне надо чтоб не чего не писало.

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


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

Это сам скрипт бафера надо редактить и убирать сообщение о успешном бафе.

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


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

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

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


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

вот нарыл метод который проверит наличие предмета у игрока и кол-во

player.getInventory().getInventoryItemCount(ITEM_ID, -1)

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


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

вот нарыл метод который проверит наличие предмета у игрока и кол-во

player.getInventory().getInventoryItemCount(ITEM_ID, -1)

Сейчас проверим а то у меня вроде чёт похоже я писал.

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


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

Не не работает как ты написал решил проблему по 2-ом)

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


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

а кусок кода посмотреть можно?

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


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

 

}

private boolean useBuff(L2NpcInstance buffer, int grpid, int []npcBuffGroupInfo, L2PcInstance player, L2Character target) {

for(int i=0;i int skillId = npcBuffGroupInfo;

int skillLevel = npcBuffGroupInfo[i+1];

int skillFeeId = npcBuffGroupInfo[i+2];

int skillFeeAmount = npcBuffGroupInfo[i+3];

 

if (skillFeeId != 0)

{

L2ItemInstance itemInstance = player.getInventory().getItemByItemId(skillFeeId);

if (itemInstance == null || (!itemInstance.isStackable() && player.getInventory().getInventoryItemCount(skillFeeId, -1) < skillFeeAmount))

{

SystemMessage sm = new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS);

player.sendPacket(sm);

return false;

}

if (itemInstance.isStackable())

{

if (!player.destroyItemByItemId("Npc Buffer", skillFeeId, skillFeeAmount, player.getTarget(), true))

{

SystemMessage sm = new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS);

player.sendPacket(sm);

return false;

}

}

else

{

for (int k = 0;k < skillFeeAmount;++ k)

{

player.destroyItemByItemId("Npc Buffer", skillFeeId, 1, player.getTarget(), true);

}

}

}

 

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...