Делаем Банального НПЦ

В етом гайде я розкажу вам о том как сделать самое банальное своего нпц в л2 с определённой функцией!
Нам надо будет блокнот и ант для компилирования сервера с нашим нпц)
Ну для начало самое банальное ето создать файл с рашырением .java Пример:L2SaickInstance.java
Если вы не используете исходники ЕОН то файл нужно перекодировть в формат utf-8.
Как вы уже видели в исходах есть папки также и называют package если вайл находиться в package то обезательно надо указать в каком в моём случае ето так (package net.sf.l2j.gameserver.model.actor.instance;)
Теперь надо подумать что будет делать наш нпц
Я сделаю мини донат шоп)))
и так начнем что у нас есть:
package net.sf.l2j.gameserver.model.actor.instance;
import net.sf.l2j.Config; //Етот для создания конфигов ну или можно ищё сказать переменых берущих инфу с класа Конфиг ,а клас Конфиг берёт их из внешней среды тоесть с фалов типа .ini .cfg .txt и тд
import net.sf.l2j.gameserver.templates.L2NpcTemplate; //Для того чтоб нпц было видно в игре етот клас нам поможет создать оболочку нпц
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;//Для создания содержимого нпц
import net.sf.l2j.gameserver.cache.HtmCache;
public class L2SaickInstance extends L2FolkInstance //Создаем наш класс который посылаеться на класс L2FolkInstance имя нашего долно совпадать с именем файла обязательно
{ //Ети скобки содержат весь код нашего класса все методы находиться в средине етих скобок
public L2SaickInstance(int objectId, L2NpcTemplate template)//Вот мы создали оболочку нпц с помощью класса L2NpcTemplate
{
super(objectId, template);
}
@Override
public String getHtmlPath(int npcId, int val)
{
return "data/html/minidonat/MiniDonat.htm";//Углубляться пока не будем скажу одно место где бует храниться хтмл файл нпц(ето самй простой способ)
}
@Override
public void onBypassFeedback(L2PcInstance player, String command)//Отвечает за вот ету хуету "bypass -h npc_%objectId%"
{
StringTokenizer st = new StringTokenizer(command, " ");
String actualCommand = st.nextToken();
а
if (actualCommand.equalsIgnoreCase("Setname"))
{
if (st.countTokens() < 1) return;
String newname = st.nextToken();//Спомощью етой строки в хтмл окне мы сможем вписать наш ник и он присвоеться переменой newname
if (player.getInventory().getInventoryItemCount(4037/* ид итема */, 0) < 15)//Делает проверку на колово колов в инвинтаре если меньше 15 то ник не сменит[/color]
{
player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");//Пишет сообщение игроку
return;//Отменяет смену ника
}
else if ((newname.length() 16))//Делает проверку на длину ника
{
player.sendMessage("Это имя не может быть использовано.");
return;
}
else if (CharNameTable.getInstance().doesCharNameExist(newname))//Делает проверку не занет ли ник
{
player.sendMessage("Это имя уже занято.");
return;
}
else if (player.isClanLeader())//Делает проверку на клан лидера на сборках при смене ника лидера клан пропадает
{
player.sendMessage("Передайте клан на время смены ника другому игроку");
return;
}
L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setname "+newname+" for "+player.getName(), 4037, 15, player, player);
if (destritem != null)
{
player.setName(newname);//Даёт ник
player.sendMessage("Вы успешно сменили свое имя!");
player.setClan(player.getClan());
player.broadcastUserInfo();
player.store();
//Удаляем итем и обновляем инвентарь
InventoryUpdate iu = new InventoryUpdate();
if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
else iu.addModifiedItem(destritem);
player.sendPacket(iu);
}
else
{
player.sendMessage("Ошибка!");
}
}
}
>> Ява сервера » F.A.Q., Делаем Банального НПЦ
![]() |
Создаём файл online.txt для рейтинга серверов lineAge2 - L2TOP.RU Хотите вывести информацию о количестве онлайна для рейтинга L2Top? Ну тогда заглядывайте в данный мануал, который в несколько шагов покажет вам как можно сделать нужное вам действие без каких-либо |
![]() |
Делаем Любой Город PVP зоной Очень много раз задавался вопрос,о том как сделать свой город PVP зоной.В этой статье я дам ответ на этот вопрос! |
![]() |
Мануал по адаптации шаблона SW 11 -> SW12 и наоборот SW12 -> SW11 Очень часто возникает такой вопрос,как:"Как переделать шаблон для Stress Web 12 для Stress Web 11".В этой статье будет описано как сделать это! |
Разместил: Admink0
Прочитано: 7443
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии в данной новости.
Посетители, находящиеся в группе Гость, не могут оставлять комментарии в данной новости.
Реклама
Навигация
→ Главная
→ Наши Услуги
→ Рекламодателям
→ Форум
→ Lineage 2
» Клиенты
» Новости
» Мувики
» Файлы
» Статьи/Гайды
» Квесты
» Галерея
→ Java
» Сборки серверов
» Исходники
» Дополнения
» Модели
» Защита
» Web
» Шаблоны
» Программы
» Geodata
» F.A.Q.
» Скидки на покупку
» Биографии
→ Чит Раздел
» Боты
» Баги
» Файлы
» Статьи
» L2 Interlude изменение хроник
» Понятие сборки сервера L2
» Скачать клиент L2 бесплатно
» Суть квестов для Lineage 2
» Создание пиратских серверов L2
» Создаём свой сервер L2
» Скачать сервер L2
→ Наши Услуги
→ Рекламодателям
→ Форум
→ Lineage 2
» Клиенты
» Новости
» Мувики
» Файлы
» Статьи/Гайды
» Квесты
» Галерея
→ Java
» Сборки серверов
» Исходники
» Дополнения
» Модели
» Защита
» Web
» Шаблоны
» Программы
» Geodata
» F.A.Q.
» Скидки на покупку
» Биографии
→ Чит Раздел
» Боты
» Баги
» Файлы
» Статьи
» L2 Interlude изменение хроник
» Понятие сборки сервера L2
» Скачать клиент L2 бесплатно
» Суть квестов для Lineage 2
» Создание пиратских серверов L2
» Создаём свой сервер L2
» Скачать сервер L2
Популярные новости
Опрос
Пользуетесь ли вы соц. сетью "Вконтакте"? |
Облако тегов
Архив новостей
Реклама