Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
[Share]Гол. Команда Вознаграждение За Лвл.
#1
Собсна написал голосовой lvl-reward.
"Предоставляю" демо версию, но в руках человека, который умеет делать по примерам, спокойно доработает.
Пока он только даёт на 10, 20, 30 - ых уровнях вознагрождение. Так же могу позже написать чтоб давало "рандомное" вознагрождение.
Сразу говорю, код возможно громоздкий, но прост в редактировании.
Собсна вот гайд по его установке:

Заходим сюда: CORE\java\net\sf\l2j\gameserver\handler\voicedcommandhandlers
Создаем файлик lvlrew.java с таким содержанием:

Код:
package net.sf.l2j.gameserver.handler.voicedcommandhandlers;

import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;

/**
* Demo-Version Level Reward System.
* Full Version you can buy in ICQ: 15181158
* @author MeGaPk
*/
public class lvlrew implements IVoicedCommandHandler
{
private static String[] VOICED_COMMANDS = { "lvlrew" };

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
int CheckItem = 9999;
int ItemRew1 = 57; // 10 lvl
int ItemCount1 = 50000; // 10 lvl
int ItemRew2 = 57; // 20 lvl
int ItemCount2 = 800000; // 20 lvl
int ItemRew3 = 57; // 30 lvl
int ItemCount3 = 57; // 30 lvl
if (command.equalsIgnoreCase("lvlrew"))
{
if (activeChar.getInventory().getItemByItemId(CheckItem) == null)
{
InventoryUpdate iu = new InventoryUpdate();
activeChar.getInventory().addItem("lvlRew", CheckItem, 1, activeChar, null);
activeChar.getInventory().updateDatabase();
activeChar.sendPacket(iu);
}


if (activeChar.getLevel() > 9 && activeChar.getInventory().getInventoryItemCount(CheckItem, 0) == 1)
{
InventoryUpdate iu = new InventoryUpdate();
activeChar.getInventory().addItem("lvlRew", CheckItem, 1, activeChar, null);
activeChar.getInventory().addItem("lvlRew", ItemRew1, ItemCount1, activeChar, null);
activeChar.sendPacket(iu);
activeChar.sendMessage("You get 10 lvl! I give you " + ItemCount1 + " Adena");

}
if (activeChar.getLevel() > 19 && activeChar.getInventory().getInventoryItemCount(CheckItem, 0) == 2)
{
InventoryUpdate iu = new InventoryUpdate();
activeChar.getInventory().addItem("lvlRew", CheckItem, 1, activeChar, null);
activeChar.getInventory().addItem("lvlRew", ItemRew2, ItemCount2, activeChar, null);
activeChar.sendPacket(iu);
activeChar.sendMessage("You get 20 lvl! I give you " + ItemCount2 + " Adena");
}
if (activeChar.getLevel() > 29 && activeChar.getInventory().getInventoryItemCount(CheckItem, 0) == 3)
{
InventoryUpdate iu = new InventoryUpdate();
activeChar.getInventory().addItem("lvlRew", CheckItem, 1, activeChar, null);
activeChar.getInventory().addItem("lvlRew", ItemRew3, ItemCount3, activeChar, null);
activeChar.sendPacket(iu);
activeChar.sendMessage("You get 30 lvl! I give you " + ItemCount3 + " Adena");
}
}
return true;
}
public String[] getVoicedCommandList()
{
return VOICED_COMMANDS;
}
}

Затем лезем в эту папку: CORE\java\net\sf\l2j\gameserver\handler
заходим в кавайный файлик VoicedCommandHandler.java и ищим нечто чёрное и кодерное О_о.... А именно Строчку:

Код:
registerVoicedCommandHandler(new version())

И снизу добавляем:

Код:
registerVoicedCommandHandler(new lvlrew())

После этого, мы зальём в Базу данных этот MySql запрос (Он служит, как защита от делвла + от прокачки саба).

Код:
INSERT INTO `etcitem` VALUES ('9999', '123', 'flase', 'quest', '0', 'stackable', 'paper', 'none', '-1', '0', '0', 'false', 'false', 'false', 'false', 'IT', 'none');

И всё! Установка завершена, компилим и радуемся новведению!
Если надо, сами вынесите в конфиг.
Настройка выдачи регулируется в самом lvlrew.java, в строчках:

Код:
int CheckItem = 9999;
int ItemRew1 = 57; // 10 lvl
int ItemCount1 = 50000; // 10 lvl
int ItemRew2 = 57; // 20 lvl
int ItemCount2 = 800000; // 20 lvl
int ItemRew3 = 57; // 30 lvl
int ItemCount3 = 57; // 30 lvl
P/S: В Не Демо Версии автоматом выдаёт при достижении лвла, вплоть до Какого захотите, приобрести можно у меня в ICQ: 15181158
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  [Share] PTS Vanganth - Classic Interlude P110 zoumhs 0 1,634 05-13-2023, 05:04 PM
Последний пост: zoumhs
  Share Gracia Final Off Euro Deazer 424 260,292 07-10-2022, 07:20 PM
Последний пост: JIecTap
  [share] lin][info 2.3 [Lindvior] Gaikotsu 0 1,870 09-22-2017, 08:40 PM
Последний пост: Gaikotsu
  [share] Родильная Комната (Nursery) Gaikotsu 6 3,059 03-23-2017, 11:39 AM
Последний пост: Gaikotsu
  Команда RelaX ищет спонсора на совместное открытие. xxxBMWxxx 6 2,299 10-24-2016, 04:29 PM
Последний пост: xxxBMWxxx
  Команда L2 MMOLAB (Public Work) Torch Chief 8 3,254 04-26-2016, 01:13 PM
Последний пост: Aleksey
  .siege команда Kennedy 5 1,883 11-16-2015, 06:02 PM
Последний пост: rage
  Доброго времени суток (Команда + реализация) Creat1v 0 1,053 01-11-2015, 11:22 AM
Последний пост: Creat1v
  [Share] Silentium Interlude (Last source) Dеmon 77 20,910 12-10-2014, 01:01 AM
Последний пост: kingzor
  [EPIC SHARE] BBS Advanced Buffer OneThunder 9 3,701 04-28-2014, 11:35 AM
Последний пост: OneThunder

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)