Карта сайта Контакты Главная

Авторизация на сайте

Свободное местечко

Наша кнопка!

POWERSTR1KE.RU - Всё для администраторов и игроков LineAge-2




Дата Название темы Пользователь Ответов Просмотров





ОпубликовалОпубликовал: Midway | ДатаДата: 11-04-2012, 18:21



В этой статье рассказывается о том, как сделать отображение реального онлайна
(активных игроков + оффлайн трейдеров) на сервере.



Открываем Gameserver/data/scripts/handlers/MasterHandler.java любым тектовым редактором (Notepad++ в помощь)
и ищем строчки следующего вида:

import handlers.voicedcommandhandlers.TvTVoicedInfo;
import handlers.voicedcommandhandlers.Wedding;
import handlers.voicedcommandhandlers.stats;


Или подобные(lля тех, кто немного понимает яву - область импортов).
Добавляем ниже них ещё одну строку:

import handlers.voicedcommandhandlers.Info;


Далее ищем:

        { // Voiced Command Handlers
            stats.class,
            (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null),
            (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null),
            (Config.TVT_ALLOW_VOICED_COMMAND ? TvTVoicedInfo.class : null),
            (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null),
            (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null),
            (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null),
            (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null),
            (Config.L2JMOD_HELLBOUND_STATUS ? Hellbound.class : null),
        },


Или подобные (область загрузки войсхэндлеров).
Добавляем в перечисление наш новый класс:

            (Config.L2JMOD_HELLBOUND_STATUS ? Hellbound.class : null),
            Info.class,
        },


МастерХэндлер обновили... Продолжаем...

Создаём файл по такому пути: Gameserver/data/scripts/handlers/voicedcommandhandlers/Info.java
Со следующим содержимым:

package handlers.voicedcommandhandlers;

import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;


public class Info implements IVoicedCommandHandler{
    private static final String[] VOICED_COMMANDS = { "info" };
    private static final String HTML = HtmCache.getInstance().getHtm(null, "data/html/mods/Info.htm");
    
    @Override
    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
    {
        final int All = L2World.getInstance().getAllPlayersCount();
        int Traders = 0;
        for(L2PcInstance ppl : L2World.getInstance().getAllPlayersArray()){
            if ((ppl.getClient().isDetached()) && (ppl.getPrivateStoreType() != L2PcInstance.STORE_PRIVATE_NONE) )
                Traders++;
        }
        final int Active = All - Traders;

        String htmContent = (!HTML.isEmpty()) ? HTML : HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/Info.htm");
        NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(1);
        npcHtmlMessage.setHtml(htmContent);
        npcHtmlMessage.replace("%online_active%", Integer.toString(Active) );
        npcHtmlMessage.replace("%online_traders%", Integer.toString(Traders) );
        npcHtmlMessage.replace("%online_all%", Integer.toString(All) );
        
        activeChar.sendPacket(npcHtmlMessage);
        return true;
    }
    
    @Override
    public String[] getVoicedCommandList()
    {
        return VOICED_COMMANDS;
    }
}


Файл класса создали... Дальше нам нужно создать ХТМЛ-ку, в которой всё и будет создаваться.
Создаем файл по такому пути: Gameserver/data/html/mods/Info.htm
Его содержимое:

<html><body>
<title>Информация о сервере</title>
<center>Статистика онлайн:</center><br>
<table>
    <tr>
        <td width=70>Онлайн игроков:</td>
        <td width=30>%online_active%</td>
    </tr>
    <tr>
        <td width=70>Онлайн торговцев:</td>
        <td width=30>%online_traders%</td>
    </tr>
    <tr>
        <td width=70>Итого:</td>
        <td width=30>%online_all%</td>
    </tr>
</table>
</body></html>


Готово. Заходим в игру и прописываем .info. Откроется HTML-ка со статистикой сервера.



© Johnson.
Оригинал статьи - Перейти

» Похожие новости «

  • [Мануал] PM при входе в игру
  • Делаем Ранк за убийство в PVP
  • Сброс заточки на значение, указанное в конфиге [Мануал]
  • Как сделать, чтобы при клике по предмету спавнился моб!?
  • Startings Buffs - Баффы для новых персонажей. [Мануал]

  • Комментариев: 124
    Публикаций: 5
    ICQ: нету)
    Имя: Василий

    #1 zimorf

    Юзеры | 22 апреля 2012 23:26 | Регистрация: 14.10.2011
    красиво, а если например разница ядро(rebilion,l2j)


    Комментариев: 2
    Публикаций: 0
    ICQ: 587471138
    Имя: Димка

    #2 DuMa4kA

    Юзеры | 30 апреля 2012 12:56 | Регистрация: 21.02.2012
    2 laughing


    --------------------

    Информация

    Комментировать статьи на нашем сайте возможно только в течении 60 дней со дня публикации.