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

Помогите Доработать Команду .menu

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

Вообще нашел на одном форуме код для реализации меню но код настроен под Люцер сборку,очень классная менюшка,большой и вкусный функционал,помогите доработать под фрозен ,я буду очень признателен и с меня +

 

Помогите настроить под фрозен,я импорты вроде бы правельно написал,а компилится не хочет вот собственно код

 

Скрытый текст
package handlers.voice;

 

import ru.catssoftware.Config;

import ru.catssoftware.Message;

import ru.catssoftware.gameserver.cache.HtmCache;

import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;

import ru.catssoftware.gameserver.handler.VoicedCommandHandler;

import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;

import ru.catssoftware.gameserver.model.entity.events.CTF.CTF;

import ru.catssoftware.gameserver.model.entity.events.DeathMatch.DeathMatch;

import ru.catssoftware.gameserver.model.entity.events.LastHero.LastHero;

import ru.catssoftware.gameserver.model.entity.events.TvT.TvT;

import ru.catssoftware.gameserver.model.zone.L2Zone;

import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;

 

 

/**

* Author: m095

* Хандлер команд для конфигурации персонажа

* EmuRT DevTeam

**/

 

public class Configurator implements IVoicedCommandHandler

{

private static final String[] VOICED_COMMANDS =

{

"menu",

"events",

"autoloot",

"enableTrade",

"disableTrade",

"enableOffKnow",

"disableOffKnow",

"enableAutoloot",

"disableAutoloot",

"enableMessage",

"showSkillSuccess",

"disableMessage",

"enableBuffAnim",

"disableBuffAnim",

"enableGainExp",

"disableGainExp",

"ignorecolors",

"lang"

};

 

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)

{

if (activeChar.isInOlympiadMode() || activeChar.isInFunEvent() || activeChar.isInCombat())

{

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_NOT_ALLOWED_AT_THE_MOMENT));

return true;

}

 

if (command.startsWith("menu"))

{

showMainPage(activeChar);

return true;

}

else if (command.startsWith("events"))

{

showEventPage(activeChar);

return true;

}

else if (command.startsWith("showSkillSuccess")) {

if(!Config.SHOW_SKILL_SUCCESS_CHANCE)

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_FORBIDEN_BY_ADMIN));

else

activeChar.setShowSkillChance(!activeChar.isShowSkillChance());

showMainPage(activeChar);

return true;

}

else if(command.equals("ignorecolors")) {

boolean val = true;

try {

val = !activeChar.getCharacterData().getBool("ignorecolors");

activeChar.getCharacterData().set("ignorecolors",val);

} catch(Exception e) {

activeChar.getCharacterData().set("ignorecolors",val);

}

activeChar.sendMessage("Ignoring system colors "+(val?"endbled":"disabled"));

 

}

else if (command.startsWith("autoloot"))

{

if (!Config.ALLOW_AUTO_LOOT)

{

activeChar.notWorking(false);

return true;

}

 

if (activeChar.isAutoLootEnabled())

{

activeChar.enableAutoLoot(false);

activeChar.sendMessage("AutoLoot is off.");

}

else

{

activeChar.enableAutoLoot(true);

activeChar.sendMessage("AutoLoot is on");

}

}

else if (command.startsWith("enableTrade"))

{

activeChar.setTradeRefusal(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableTrade"))

{

activeChar.setTradeRefusal(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableOffKnow"))

{

if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE))

{

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE));

showMainPage(activeChar);

return true;

}

activeChar.setKnowlistMode(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("lang")) {

activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac

tiveChar.getLang())));

if(target!=null && target.length()>0)

if(HtmCache.getInstance().getLanguages().containsKey(target)) {

activeChar.setLang(target);

activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac

tiveChar.getLang())));

}

}

else if (command.startsWith("disableOffKnow"))

{

if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE))

{

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE));

showMainPage(activeChar);

return true;

}

activeChar.setKnowlistMode(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableAutoloot"))

{

if (Config.ALLOW_AUTO_LOOT)

activeChar.enableAutoLoot(true);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableAutoloot"))

{

if (Config.ALLOW_AUTO_LOOT)

activeChar.enableAutoLoot(false);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableGainExp"))

{

if (Config.ALLOW_USE_EXP_SET)

activeChar.canGainExp(true);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableGainExp"))

{

if (Config.ALLOW_USE_EXP_SET)

activeChar.canGainExp(false);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableMessage"))

{

activeChar.setMessageRefusal(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableMessage"))

{

activeChar.setMessageRefusal(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableBuffAnim"))

{

activeChar.setShowBuffAnim(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableBuffAnim"))

{

activeChar.setShowBuffAnim(false);

showMainPage(activeChar);

return true;

}

return false;

}

 

private String getGainExpMode(L2PcInstance activeChar)

{

String result = "ON";

if (activeChar.canGainExp())

result = "OFF";

return result;

}

 

private String getBuffAnimMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.ShowBuffAnim())

result = "ON";

return result;

}

 

private String getKnowListMode(L2PcInstance activeChar)

{

String result = "ON";

if (activeChar.showTraders())

result = "OFF";

return result;

}

 

private String getTradeMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.getTradeRefusal())

result = "ON";

return result;

}

 

private String getMessageMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.getMessageRefusal())

result = "ON";

return result;

}

 

private String getLootMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.isAutoLootEnabled())

result = "ON";

return result;

}

 

private void showMainPage(L2PcInstance activeChar)

{

if(!Config.ALLOW_MENU)

return;

NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId());

html.setFile("data/html/menu.htm");

html.replace("%notraders%", getKnowListMode(activeChar));

html.replace("%notrade%", getTradeMode(activeChar));

html.replace("%autoloot%", getLootMode(activeChar));

html.replace("%nomsg%", getMessageMode(activeChar));

html.replace("%buffanim%", getBuffAnimMode(activeChar));

html.replace("%gainexp%", getGainExpMode(activeChar));

html.replace("%skillchance%",activeChar.isShowSkillChance()?"ON":"OFF");

activeChar.sendPacket(html);

}

 

private void showEventPage(L2PcInstance activeChar)

{

NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId());

html.setFile("data/html/mods/event_npc.htm");

html.replace("%tvt_state%", getEventStatus(0));

html.replace("%ctf_state%", getEventStatus(1));

html.replace("%lh_state%", getEventStatus(2));

html.replace("%dm_state%", getEventStatus(2));

activeChar.sendPacket(html);

}

 

private String getEventStatus(int event)

{

String result = "unknown";

int state = 0;

try {

switch (event)

{

case 0:

state = TvT.getInstance().getState();

break;

case 1:

state = CTF.getInstance().getState();

break;

case 2:

state = LastHero.getInstance().getState();

break;

case 3:

state = DeathMatch.getInstance().getState();

break;

}

 

switch (state)

{

case 0:

result = "Inactive";

break;

case 1:

result = "Active";

break;

case 2:

result = "Running";

break;

}

} catch(Exception e) { }

return result;

}

 

public String getDescription(String command)

{

if(command.equals("menu"))

return "Выводит меню команд.";

return "Подробно в .menu";

}

 

public String[] getVoicedCommandList()

{

return VOICED_COMMANDS;

}

public static void main(String [] args) {

VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Configurator());

}

 

}

 

А вот импорты я под фрозен переписал но при компиляции ошибку пишет о том что ошибка в package handlers.voice;

 

вот импорты как я переписал

 

Скрытый текст
package handlers.voice;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.Message;

import com.l2jfrozen.gameserver.cache.HtmCache;

import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;

import com.l2jfrozen.gameserver.handler.VoicedCommandHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.model.entity.event.CTF;

import com.l2jfrozen.gameserver.model.entity.event.TvT;

import com.l2jfrozen.gameserver.model.zone.L2Zone;

import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;

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


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

В VoicedCommandHandler прописал после Online - вроде бы разницы нету где прописать import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.Menu;

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


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

Что никому ненада такая меню?Хм странно, eb3966588ac63e555db9be1764135585.png это скрин нашел,ну в этом меню что я дал больше функций

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


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

Вот html

Скрытый текст
<html><title>Меню настроек</title><body>

<center><font color="LEVEL">Личные настройки персонажа</font></center>

 

<table bgcolor="666666">

<tr>

<td width=5></td>

<td width=150>Описание команд:</td>

<td width=50>Сейчас</td>

<td width=30>ON</td>

<td width=30>OFF</td>

</tr>

</table>

<br>

 

<table bgcolor="666666">

<tr>

<td width=5></td>

<td width=150>Не показывать trader'ов:</td>

<td width=30>%notraders%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableOffKnow" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableOffKnow" value="OFF"></td>

</tr>

<tr>

<td width=5></td>

<td width=150>Отключить обмен:</td>

<td width=30>%notrade%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableTrade" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableTrade" value="OFF"></td>

</tr>

<tr>

<td width=5></td>

<td width=150>Включить авто Loot:</td>

<td width=30>%autoloot%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableAutoloot" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableAutoloot" value="OFF"></td>

</tr>

<tr>

<td width=5></td>

<td width=150>Отключить сообщения:</td>

<td width=30>%nomsg%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableMessage" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableMessage" value="OFF"></td>

</tr>

<tr>

<td width=5></td>

<td width=150>Анимировать Buff:</td>

<td width=30>%buffanim%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableBuffAnim" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableBuffAnim" value="OFF"></td>

</tr>

<tr>

<td width=5></td>

<td width=150>Остановить опыт:</td>

<td width=30>%gainexp%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_disableGainExp" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_enableGainExp" value="OFF"></td>

</tr>

<tr>

<td width=5></td>

<td width=150>Шанс прохождения скилов:</td>

<td width=30>%skillchance%</td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_showSkillSuccess" value="ON"></td>

<td width=35><button width=35 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_hideSkillSuccess" value="OFF"></td>

</tr>

</table bgcolor="666666">

<br><br>

 

<center><font color="LEVEL">Список доступных сервисов</font></center>

<table bgcolor="666666">

<tr>

<td width=5></td>

<td width=170>Описание кнопок:</td>

<td width=100>Enable</td>

</tr>

</table>

<br>

 

<table bgcolor="666666">

<tr>

<td width=5></td>

<td width=160>Offline торговля:</td>

<td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_offline" value="ENABLE"></td>

</tr>

<tr>

<td width=5></td>

<td width=160>Восстановить игрока:</td>

<td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_repair" value="ENABLE"></td>

</tr>

<tr>

<td width=5></td>

<td width=160>Поиск маммонов:</td>

<td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_mammon" value="ENABLE"></td>

</tr>

<td width=5></td>

<td width=160>Статистика:</td>

<td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_status" value="ENABLE"></td>

</tr>

<tr>

<td width=5></td>

<td width=160>Показать помощь:</td>

<td width=100><button width=70 height=15 back="sek.cbui94" fore="sek.cbui94" action="bypass -h voice_help" value="ENABLE"></td>

</tr>

</table>

</body></html>

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


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

Вроде ещё нужно что то в L2PCinstance .... автолут и другое%)

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


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

нада импорты правильно написать,и убрать код про евенты,они там лишние,там импорт на стф,твт,ласт хиро и дм евенты,нада поубирать их с кода,я пробывал но у меня не оч получалось,очень прошу помогите правильно доработать код,уверен многие будут довольны менюшкой

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


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

проси мегапк он за бабло делает или бесплатно если заинтирисуешь

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


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

Хех меня обломил только что разработчик сборки Люцер,его сообщение Импорты вас не спасут. Вам еще функционал лючеры надо перенести.Я спросил можете мне помочь это сделать? Ответ - Запросто. 3.5к WMR и сборка с этой командой в вашем распоряжении. аххаахах)))

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


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

ну вот он тебе ответил импорты не спасут.можешь заказать у него разработку этого меню хз скок запросит)

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


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

Скачай файрэйдж, открой ядро винраром открой L2PCinstance и ищи потипу "autoloot, expoff, expon" всё подобное, скачай исходники фрозенов и запиливай сам )

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


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

у них не меню вроде у них простокоманды

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


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

Ладно все по + старались,буду пробывать вытягивать функции

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


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

такая менюшка есть в l2jsoftware + eonsw исходы открыты бери оттуда функционал тоже можно выдрать это несложно

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


Ссылка на сообщение
Поделиться на другие сайты
такая менюшка есть в l2jsoftware + eonsw исходы открыты бери оттуда функционал тоже можно выдрать это несложно

 

Да нет это не так то и просто... ибо сам класс меню не спасет

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

 

к примеру, с получением опыта:

 

 

/ нам нужен этот метод, еще и уникальный для каждого чара, тоесть нам понадобится 
//L2PcInstance 
 получится у вас должно 2 метода  getxpoff, setepoff и 1 переменная
идем в L2PcInstance

+public boolean _expoff;

+public void setexpoff(boolean b)
+{
+	_expoff = b;
+}


+public boolean getexpoff()
+{
+		return _expoff;
+}

ну вот у нас получилось что нам есть куда записывать включил игрок функцию отключения опыта или нет
тоесть при нажатии на кнопку  [b]отключить получение опыта[/b] будет срабатывать  код такого типа:

[b]activeChar.setexpoff(true);[/b]



перед кодом который дает чару Эксп, СП. нужно писать условие 
if(activeChar.getexpoff) 
{
  return;
}

 

ЭТО ПРОСТО ПРИМЕР! (Но если включите соображалку, то этот пример вам очень поможет)

я думаю что прикрутить, менюшку с полным его функционалом, вам не кто не поможет (по крайней мере за чесное спасибо)

 

 

я бы помог сделать (даже денег немного бы взял) но увы из-за принципа делать не буду ибо Фрозен не переношу

 

З.Ы. Не знаешь - не берись. Взялся? Учись!

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


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

Вообще нашел на одном форуме код для реализации меню но код настроен под Люцер сборку,очень классная менюшка,большой и вкусный функционал,помогите доработать под фрозен ,я буду очень признателен и с меня +

 

Помогите настроить под фрозен,я импорты вроде бы правельно написал,а компилится не хочет вот собственно код

 

Скрытый текст
package handlers.voice;

 

import ru.catssoftware.Config;

import ru.catssoftware.Message;

import ru.catssoftware.gameserver.cache.HtmCache;

import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;

import ru.catssoftware.gameserver.handler.VoicedCommandHandler;

import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;

import ru.catssoftware.gameserver.model.entity.events.CTF.CTF;

import ru.catssoftware.gameserver.model.entity.events.DeathMatch.DeathMatch;

import ru.catssoftware.gameserver.model.entity.events.LastHero.LastHero;

import ru.catssoftware.gameserver.model.entity.events.TvT.TvT;

import ru.catssoftware.gameserver.model.zone.L2Zone;

import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;

 

 

/**

* Author: m095

* Хандлер команд для конфигурации персонажа

* EmuRT DevTeam

**/

 

public class Configurator implements IVoicedCommandHandler

{

private static final String[] VOICED_COMMANDS =

{

"menu",

"events",

"autoloot",

"enableTrade",

"disableTrade",

"enableOffKnow",

"disableOffKnow",

"enableAutoloot",

"disableAutoloot",

"enableMessage",

"showSkillSuccess",

"disableMessage",

"enableBuffAnim",

"disableBuffAnim",

"enableGainExp",

"disableGainExp",

"ignorecolors",

"lang"

};

 

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)

{

if (activeChar.isInOlympiadMode() || activeChar.isInFunEvent() || activeChar.isInCombat())

{

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_NOT_ALLOWED_AT_THE_MOMENT));

return true;

}

 

if (command.startsWith("menu"))

{

showMainPage(activeChar);

return true;

}

else if (command.startsWith("events"))

{

showEventPage(activeChar);

return true;

}

else if (command.startsWith("showSkillSuccess")) {

if(!Config.SHOW_SKILL_SUCCESS_CHANCE)

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_FORBIDEN_BY_ADMIN));

else

activeChar.setShowSkillChance(!activeChar.isShowSkillChance());

showMainPage(activeChar);

return true;

}

else if(command.equals("ignorecolors")) {

boolean val = true;

try {

val = !activeChar.getCharacterData().getBool("ignorecolors");

activeChar.getCharacterData().set("ignorecolors",val);

} catch(Exception e) {

activeChar.getCharacterData().set("ignorecolors",val);

}

activeChar.sendMessage("Ignoring system colors "+(val?"endbled":"disabled"));

 

}

else if (command.startsWith("autoloot"))

{

if (!Config.ALLOW_AUTO_LOOT)

{

activeChar.notWorking(false);

return true;

}

 

if (activeChar.isAutoLootEnabled())

{

activeChar.enableAutoLoot(false);

activeChar.sendMessage("AutoLoot is off.");

}

else

{

activeChar.enableAutoLoot(true);

activeChar.sendMessage("AutoLoot is on");

}

}

else if (command.startsWith("enableTrade"))

{

activeChar.setTradeRefusal(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableTrade"))

{

activeChar.setTradeRefusal(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableOffKnow"))

{

if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE))

{

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE));

showMainPage(activeChar);

return true;

}

activeChar.setKnowlistMode(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("lang")) {

activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac

tiveChar.getLang())));

if(target!=null && target.length()>0)

if(HtmCache.getInstance().getLanguages().containsKey(target)) {

activeChar.setLang(target);

activeChar.sendMessage(String.format(Message.getMessage(activeChar, Message.MessageId.MSG_CURRENT_LANG),HtmCache.getInstance().getLanguages().get(ac

tiveChar.getLang())));

}

}

else if (command.startsWith("disableOffKnow"))

{

if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE))

{

activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE));

showMainPage(activeChar);

return true;

}

activeChar.setKnowlistMode(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableAutoloot"))

{

if (Config.ALLOW_AUTO_LOOT)

activeChar.enableAutoLoot(true);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableAutoloot"))

{

if (Config.ALLOW_AUTO_LOOT)

activeChar.enableAutoLoot(false);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableGainExp"))

{

if (Config.ALLOW_USE_EXP_SET)

activeChar.canGainExp(true);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableGainExp"))

{

if (Config.ALLOW_USE_EXP_SET)

activeChar.canGainExp(false);

else

activeChar.notWorking(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableMessage"))

{

activeChar.setMessageRefusal(false);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableMessage"))

{

activeChar.setMessageRefusal(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("enableBuffAnim"))

{

activeChar.setShowBuffAnim(true);

showMainPage(activeChar);

return true;

}

else if (command.startsWith("disableBuffAnim"))

{

activeChar.setShowBuffAnim(false);

showMainPage(activeChar);

return true;

}

return false;

}

 

private String getGainExpMode(L2PcInstance activeChar)

{

String result = "ON";

if (activeChar.canGainExp())

result = "OFF";

return result;

}

 

private String getBuffAnimMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.ShowBuffAnim())

result = "ON";

return result;

}

 

private String getKnowListMode(L2PcInstance activeChar)

{

String result = "ON";

if (activeChar.showTraders())

result = "OFF";

return result;

}

 

private String getTradeMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.getTradeRefusal())

result = "ON";

return result;

}

 

private String getMessageMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.getMessageRefusal())

result = "ON";

return result;

}

 

private String getLootMode(L2PcInstance activeChar)

{

String result = "OFF";

if (activeChar.isAutoLootEnabled())

result = "ON";

return result;

}

 

private void showMainPage(L2PcInstance activeChar)

{

if(!Config.ALLOW_MENU)

return;

NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId());

html.setFile("data/html/menu.htm");

html.replace("%notraders%", getKnowListMode(activeChar));

html.replace("%notrade%", getTradeMode(activeChar));

html.replace("%autoloot%", getLootMode(activeChar));

html.replace("%nomsg%", getMessageMode(activeChar));

html.replace("%buffanim%", getBuffAnimMode(activeChar));

html.replace("%gainexp%", getGainExpMode(activeChar));

html.replace("%skillchance%",activeChar.isShowSkillChance()?"ON":"OFF");

activeChar.sendPacket(html);

}

 

private void showEventPage(L2PcInstance activeChar)

{

NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId());

html.setFile("data/html/mods/event_npc.htm");

html.replace("%tvt_state%", getEventStatus(0));

html.replace("%ctf_state%", getEventStatus(1));

html.replace("%lh_state%", getEventStatus(2));

html.replace("%dm_state%", getEventStatus(2));

activeChar.sendPacket(html);

}

 

private String getEventStatus(int event)

{

String result = "unknown";

int state = 0;

try {

switch (event)

{

case 0:

state = TvT.getInstance().getState();

break;

case 1:

state = CTF.getInstance().getState();

break;

case 2:

state = LastHero.getInstance().getState();

break;

case 3:

state = DeathMatch.getInstance().getState();

break;

}

 

switch (state)

{

case 0:

result = "Inactive";

break;

case 1:

result = "Active";

break;

case 2:

result = "Running";

break;

}

} catch(Exception e) { }

return result;

}

 

public String getDescription(String command)

{

if(command.equals("menu"))

return "Выводит меню команд.";

return "Подробно в .menu";

}

 

public String[] getVoicedCommandList()

{

return VOICED_COMMANDS;

}

public static void main(String [] args) {

VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Configurator());

}

 

}

 

А вот импорты я под фрозен переписал но при компиляции ошибку пишет о том что ошибка в package handlers.voice;

 

вот импорты как я переписал

 

Скрытый текст
package handlers.voice;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.Message;

import com.l2jfrozen.gameserver.cache.HtmCache;

import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;

import com.l2jfrozen.gameserver.handler.VoicedCommandHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

import com.l2jfrozen.gameserver.model.entity.event.CTF;

import com.l2jfrozen.gameserver.model.entity.event.TvT;

import com.l2jfrozen.gameserver.model.zone.L2Zone;

import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;

 

hellow my friends . i want make this on the scripts. (Help)

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


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

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

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

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

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

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

Войти

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

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

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

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

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