Рейтинг темы:
  • 33 Голос(ов) - 4.67 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Почта России
Big Grin
:gun1::es:
Ответ
Код:
/**
*
* @author Visor123
* L2Emu Enterprise Server
*/
public class L2ManagementEventGroupEngine extends L2EventGroupEngine
{
    public L2ManagementEventGroupEngine(String name, String command)
    {
        super(name, command);
    }

    @Override
    public boolean useAdminCommand(L2PcInstance player, String command)
    {
        if (Config.ENT_TESTEVENTS)
            _log.info("L2ManagementEventGroupEngine "+getName()+" useAdminCommand player="+player.getName()+" command="+command);
    
        if (command.equalsIgnoreCase(getCommand()))
        {
            showMainPage(player);
        }
        else if (command.startsWith(getCommand()+"_show")
                || command.startsWith(getCommand()+"_status")
                || command.startsWith(getCommand()+"_edit")
                || command.startsWith(getCommand()+"_save")
                || command.startsWith(getCommand()+"_load")
                || command.startsWith(getCommand()+"_schedule")
                || command.startsWith(getCommand()+"_totaliser")
            
                || command.startsWith(getCommand()+"_join")
                || command.startsWith(getCommand()+"_start")
                || command.startsWith(getCommand()+"_teleport")
                || command.startsWith(getCommand()+"_abort")
                || command.startsWith(getCommand()+"_finish")
            
                || command.startsWith(getCommand()+"_auto")
                || command.startsWith(getCommand()+"_sit")
                || command.startsWith(getCommand()+"_stand")
                || command.startsWith(getCommand()+"_kick")
                )
        {
            String eventName = command.substring(getCommand().length()+6);
            if (command.startsWith(getCommand()+"_schedule")
                    || command.startsWith(getCommand()+"_teleport"))
                eventName = command.substring(getCommand().length()+10);
            else if (command.startsWith(getCommand()+"_finish") || command.startsWith(getCommand()+"_status"))
                    eventName = command.substring(getCommand().length()+8);
            else if (command.startsWith(getCommand()+"_start")
                    || command.startsWith(getCommand()+"_abort")
                    || command.startsWith(getCommand()+"_stand"))
                eventName = command.substring(getCommand().length()+7);
            else if (command.startsWith(getCommand()+"_sit"))
                eventName = command.substring(getCommand().length()+5);
            else if (command.startsWith(getCommand()+"_totaliser"))
                eventName = command.substring(getCommand().length()+11);
                
            try
            {
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info("L2ManagementEventEngine "+getName()+" show/edit... eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]))
                    _eventInstances.get(params[0]).useAdminCommand(player, command, params);
                else
                {
                    player.sendMessage("Event instance with name="+params[0]+" not found");
                    showMainPage(player);
                }
                
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_del"))
        {
            try
            {
                String eventName = command.substring(getCommand().length()+5);
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+" eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]) && params.length > 1 && params[1].equalsIgnoreCase("y"))
                {
                    L2EventGroupEngineInstance event = _eventInstances.remove(params[0]);
                    event.deleteData();
                    saveData();
                    player.sendMessage(getName()+" data saved to DB");
                }
                else if (params.length <= 1 || !params[1].equalsIgnoreCase("y"))
                    player.sendMessage("For delete event instance need enter character `y`");
                
                showMainPage(player);
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_create"))
        {
            try
            {
                String eventName = command.substring(getCommand().length() + 8);
            
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+"eventName="+eventName);
                if (!eventName.isEmpty() && eventName.length() > 0 && !eventName.contains(" ") && eventName.length() <= 16)
                    createEventInstance(eventName);
            
                else if (!eventName.isEmpty() && eventName.contains(" "))
                    player.sendMessage("Name event need without spaces");
            
                else if (!eventName.isEmpty() && eventName.length() > 16)
                    player.sendMessage("Name event need have 1-16 characters");
            
                showMainPage(player);
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        return super.useAdminCommand(player, command);
    }

    protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder("<html><title>"+getName()+"</title><body>");

        replyMSG.append("<table width=\"292\" bgcolor=\"666666\"><tr><td><font color=\"LEVEL\">[ "+getName()+" ]</font></td>"
                +"<td><button value=\"Back\" action=\"bypass -h " + "admin_events"+"\" width=75 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"
                +"</tr></table>");
        replyMSG.append("<br><center>Engine instances</center>");
        replyMSG.append("<table width=\"292\">");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append("<tr><td><font color=\"LEVEL\">"+event.getName()+"</font></td>"
                +"<td><button value=\"Show\" action=\"bypass -h " + getCommand()+"_show "+event.getName() + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"
                +"<td><button value=\"Edit\" action=\"bypass -h " + getCommand()+"_edit "+event.getName() + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"
                +"<td><button value=\"Delete\" action=\"bypass -h "  + getCommand()+"_del "+event.getName()+" $name"    + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"
                );
        }
        replyMSG.append("</table>");
        replyMSG.append("<table width=\"292\"><tr><td><edit var=\"name\" width=\"125\"></td>");
        replyMSG.append("<td><button value=\""+"Create New Event"+"\" action=\"bypass -h " + getCommand()+"_create $name" + "\" width=125 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
        replyMSG.append("</table>");
        replyMSG.append("</body></html>");

        adminReply.setHtml(replyMSG.toString());
        player.sendPacket(adminReply);
        // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
        player.sendPacket(ActionFailed.STATIC_PACKET);
    }
}
С точки зрения ява-машины - ничего страшного, но нужно было оставить вторую проверку - выполнение кода не пошло бы хоть так, хоть эдак, никаких потерь по времени
Но с точки зрения написания - пиздец
Чет герычем попахивает, мдам.......

command.substring(getCommand().length()+5); еще меня особенно умиляет)
Берем строку, режем ее, вычленяем остаток - вуаля, команда!
Ответ
Визор тот еще говнокодер) Но что работает то не сломано )
Ответ
pchayka Написал:Визор тот еще говнокодер) Но что работает то не сломано )

[Изображение: c49982fd03a0bd1f41ea8cce5396aa91.png]
Ув. пользователи, а это вообще лечится?
Ответ
[Изображение: smol3.jpg]
Ответ
[Изображение: rpKm54c3Ak4.jpg]
Ответ
GenCloud Написал:
Код:
/**
*
* @author Visor123
* L2Emu Enterprise Server
*/
public class L2ManagementEventGroupEngine extends L2EventGroupEngine
{
    public L2ManagementEventGroupEngine(String name, String command)
    {
        super(name, command);
    }

    @Override
    public boolean useAdminCommand(L2PcInstance player, String command)
    {
        if (Config.ENT_TESTEVENTS)
            _log.info("L2ManagementEventGroupEngine "+getName()+" useAdminCommand player="+player.getName()+" command="+command);
    
        if (command.equalsIgnoreCase(getCommand()))
        {
            showMainPage(player);
        }
        else if (command.startsWith(getCommand()+"_show")
                || command.startsWith(getCommand()+"_status")
                || command.startsWith(getCommand()+"_edit")
                || command.startsWith(getCommand()+"_save")
                || command.startsWith(getCommand()+"_load")
                || command.startsWith(getCommand()+"_schedule")
                || command.startsWith(getCommand()+"_totaliser")
            
                || command.startsWith(getCommand()+"_join")
                || command.startsWith(getCommand()+"_start")
                || command.startsWith(getCommand()+"_teleport")
                || command.startsWith(getCommand()+"_abort")
                || command.startsWith(getCommand()+"_finish")
            
                || command.startsWith(getCommand()+"_auto")
                || command.startsWith(getCommand()+"_sit")
                || command.startsWith(getCommand()+"_stand")
                || command.startsWith(getCommand()+"_kick")
                )
        {
            String eventName = command.substring(getCommand().length()+6);
            if (command.startsWith(getCommand()+"_schedule")
                    || command.startsWith(getCommand()+"_teleport"))
                eventName = command.substring(getCommand().length()+10);
            else if (command.startsWith(getCommand()+"_finish") || command.startsWith(getCommand()+"_status"))
                    eventName = command.substring(getCommand().length()+8);
            else if (command.startsWith(getCommand()+"_start")
                    || command.startsWith(getCommand()+"_abort")
                    || command.startsWith(getCommand()+"_stand"))
                eventName = command.substring(getCommand().length()+7);
            else if (command.startsWith(getCommand()+"_sit"))
                eventName = command.substring(getCommand().length()+5);
            else if (command.startsWith(getCommand()+"_totaliser"))
                eventName = command.substring(getCommand().length()+11);
                
            try
            {
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info("L2ManagementEventEngine "+getName()+" show/edit... eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]))
                    _eventInstances.get(params[0]).useAdminCommand(player, command, params);
                else
                {
                    player.sendMessage("Event instance with name="+params[0]+" not found");
                    showMainPage(player);
                }
                
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_del"))
        {
            try
            {
                String eventName = command.substring(getCommand().length()+5);
                String[] params = eventName.split(" ");
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+" eventName="+params[0]+" params.length="+params.length);
                if (_eventInstances.containsKey(params[0]) && params.length > 1 && params[1].equalsIgnoreCase("y"))
                {
                    L2EventGroupEngineInstance event = _eventInstances.remove(params[0]);
                    event.deleteData();
                    saveData();
                    player.sendMessage(getName()+" data saved to DB");
                }
                else if (params.length <= 1 || !params[1].equalsIgnoreCase("y"))
                    player.sendMessage("For delete event instance need enter character `y`");
                
                showMainPage(player);
                return true;
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        else if (command.startsWith(getCommand()+"_create"))
        {
            try
            {
                String eventName = command.substring(getCommand().length() + 8);
            
                if (Config.ENT_TESTEVENTS)
                    _log.info(getName()+"eventName="+eventName);
                if (!eventName.isEmpty() && eventName.length() > 0 && !eventName.contains(" ") && eventName.length() <= 16)
                    createEventInstance(eventName);
            
                else if (!eventName.isEmpty() && eventName.contains(" "))
                    player.sendMessage("Name event need without spaces");
            
                else if (!eventName.isEmpty() && eventName.length() > 16)
                    player.sendMessage("Name event need have 1-16 characters");
            
                showMainPage(player);
            }
            catch (Exception e) {
                _log.warn(e.getMessage());
            }
        }
        return super.useAdminCommand(player, command);
    }

    protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder("<html><title>"+getName()+"</title><body>");

        replyMSG.append("<table width=\"292\" bgcolor=\"666666\"><tr><td><font color=\"LEVEL\">[ "+getName()+" ]</font></td>"
                +"<td><button value=\"Back\" action=\"bypass -h " + "admin_events"+"\" width=75 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"
                +"</tr></table>");
        replyMSG.append("<br><center>Engine instances</center>");
        replyMSG.append("<table width=\"292\">");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append("<tr><td><font color=\"LEVEL\">"+event.getName()+"</font></td>"
                +"<td><button value=\"Show\" action=\"bypass -h " + getCommand()+"_show "+event.getName() + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"
                +"<td><button value=\"Edit\" action=\"bypass -h " + getCommand()+"_edit "+event.getName() + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"
                +"<td><button value=\"Delete\" action=\"bypass -h "  + getCommand()+"_del "+event.getName()+" $name"    + "\" width=60 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"
                );
        }
        replyMSG.append("</table>");
        replyMSG.append("<table width=\"292\"><tr><td><edit var=\"name\" width=\"125\"></td>");
        replyMSG.append("<td><button value=\""+"Create New Event"+"\" action=\"bypass -h " + getCommand()+"_create $name" + "\" width=125 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
        replyMSG.append("</table>");
        replyMSG.append("</body></html>");

        adminReply.setHtml(replyMSG.toString());
        player.sendPacket(adminReply);
        // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet
        player.sendPacket(ActionFailed.STATIC_PACKET);
    }
}
С точки зрения ява-машины - ничего страшного, но нужно было оставить вторую проверку - выполнение кода не пошло бы хоть так, хоть эдак, никаких потерь по времени
Но с точки зрения написания - пиздец
Чет герычем попахивает, мдам.......

command.substring(getCommand().length()+5); еще меня особенно умиляет)
Берем строку, режем ее, вычленяем остаток - вуаля, команда!
Человек начиная с этого сообщения эпически обгадился и был насажен на кукан, не реклама, эпично.

Пишу для тебя GenCloud и тут, getCommand() не для статиков, если ты невменяемый и это не осилил понять ..., а дальше уже лучше "смаковать" первоисточник.
Ответ
Visor Написал:Человек начиная с этого сообщения эпически обгадился и был насажен на кукан, не реклама, эпично.

Пишу для тебя GenCloud и тут, getCommand() не для статиков, если ты невменяемый и это не осилил понять ..., а дальше уже лучше "смаковать" первоисточник.

А Вы каждую такую "победу" "смакуете", или только о героических распространяетесь при каждом удобном случае?
Ответ
Ashtone Grey Написал:А Вы каждую такую "победу" "смакуете", или только о героических распространяетесь при каждом удобном случае?
По возможности, но уровень эпичности бывает разный.
Ответ
Visor Написал:По возможности, но уровень эпичности бывает разный.

Может стоить какими-то другими способами поднимать самооценку, если с ней есть проблемы, а то такие способы, уж извините за прямоту, больно какие-то ущербные.:confused:
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Резонансный антипиратский закон вступил в силу в России Ramzes 35 9,523 02-28-2021, 06:16 PM
Последний пост: seotaylor1
  Почта и контакты Froxz 1 1,394 04-15-2015, 02:39 PM
Последний пост: Froxz
  Почта России SmuFF4iK 3 1,477 03-20-2015, 10:55 PM
Последний пост: Influence
  Статус Lineage II Classic в России SmileForMe 82 18,221 11-19-2014, 07:52 PM
Последний пост: Bow
  Быстрый и недорогой хостинг в россии Double 9 2,797 06-27-2014, 06:29 PM
Последний пост: Double
  С Днём России! kick 16 3,018 06-13-2014, 06:54 PM
Последний пост: SoniPro
  Онлайн трансляция пресс-конференции команды Pearl Abyss в Москве о запуске Black Desert в России Ashe 2 1,697 05-14-2014, 05:58 PM
Последний пост: Main
  С Днем России! Asmodiel 24 3,878 06-12-2013, 07:00 PM
Последний пост: darkevil
  Шокирующие вести. Пожар на почта России shokinside 11 4,657 05-15-2013, 10:25 PM
Последний пост: LostInTheEch
  Почта России №2 или Дестр 80 лвл BlackPR 10 4,191 04-24-2013, 10:48 PM
Последний пост: ade0t

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


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