HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #61  
Старый 25.09.2015, 21:07
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

Репутация: 0
По умолчанию

Цитата:
Сообщение от xDarkDelux  

Может и мне написать "WTF?", может и мне репы подкинут?:clapping:
То сообщение было отредактировано модератором.
 
Ответить с цитированием

  #62  
Старый 25.09.2015, 21:18
xDarkDelux
Постоянный
Регистрация: 22.01.2015
Сообщений: 798
С нами: 5951142

Репутация: 1449


По умолчанию

Не заметил)
 
Ответить с цитированием

  #63  
Старый 22.01.2016, 22:45
Visor123
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами: 5732336

Репутация: 0


По умолчанию

Цитата:
Сообщение от 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  0 && !eventName.contains(" ") && 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(""+getName()+"");

        replyMSG.append("[ "+getName()+" ]"
                +""
                +"");
        replyMSG.append("
Engine instances");
        replyMSG.append("");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append(""+event.getName()+""
                +""
                +""
                +""
                );
        }
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");

        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); еще меня особенно умиляет)
Берем строку, режем ее, вычленяем остаток - вуаля, команда!
Апну еще раз, чтобы человек не забывал об этом факте.

getCommand() возвращает различные строки, в зависимости от конкретной инстансы движка. Если ты этого не знал - то это твоя проблема.

Человек обосрался весьма эпично, хотел нагадить на других, а обгадился сам.

Давай, обсыкайся, попробуй переврать такой факт.
 
Ответить с цитированием

  #64  
Старый 22.01.2016, 22:58
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

Репутация: 0
По умолчанию

Цитата:
Сообщение от Visor123  

Апну еще раз, чтобы человек не забывал об этом факте.
getCommand() возвращает различные строки, в зависимости от конкретной инстансы движка. Если ты этого не знал - то это твоя проблема.
Человек обосрался весьма эпично, хотел нагадить на других, а обгадился сам.

Давай, обсыкайся, попробуй переврать такой факт.
Посмотри в сторону thymeleaf, velocity на досуге.
 
Ответить с цитированием

  #65  
Старый 22.01.2016, 23:49
Visor123
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами: 5732336

Репутация: 0


По умолчанию

Цитата:
Сообщение от Mangol  

Посмотри в сторону thymeleaf, velocity на досуге.
Факт состоит в том, что неадекват GenCloudобосрался и эта тема это доказывает и подтверждает. Обоврать этот факт он не может.

А на досуге, то конечно спасибо за советы.
 
Ответить с цитированием

  #66  
Старый 23.01.2016, 00:04
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

Репутация: 0
По умолчанию

Цитата:
Сообщение от Visor123  

Факт состоит в том, что неадекват GenCloudобосрался и эта тема это доказывает и подтверждает. Обоврать этот факт он не может.
А на досуге, то конечно спасибо за советы.
Я к теме не имею никакого отношения, я по поводу разных реплейсов и остального аппенда срингов. То что я назвал можно поюзать, хорошие фреймы.
 
Ответить с цитированием

  #67  
Старый 23.01.2016, 02:32
Visor123
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами: 5732336

Репутация: 0


По умолчанию

Цитата:
Сообщение от Mangol  

Я к теме не имею никакого отношения, я по поводу разных реплейсов и остального аппенда срингов. То что я назвал можно поюзать, хорошие фреймы.
Ты пишешь, что к теме не имеешь отношения, но влез в нее давать советы. Итак.

Я так понимаю, что ты не понял почему я не просто так написал, что дегенерат, который кидается на людей, обосрался и что этот факт нельзя изменить.

Что ты собрался аппендить в этом классе? Или где ты и как поюзаешь хорошие фреймы? И почему ты думаешь, что нужно соединять какие-то строки в этом конкретном классе? Проще говоря - в чем по твоему говнокод?

Но следует учесть оптимизацию времени создания объекта и учесть специфику времени выполнения. Или какая цель в аппенде строк и применении хороших фреймов?

Прямо пример.
 
Ответить с цитированием

  #68  
Старый 23.01.2016, 04:51
zcxv
Постоянный
Регистрация: 22.06.2015
Сообщений: 562
С нами: 5732354

Репутация: 0


По умолчанию

Цитата:
Сообщение от Visor123  

Что ты собрался аппендить в этом классе? Или где ты и как поюзаешь хорошие фреймы? И почему ты думаешь, что нужно соединять какие-то строки в этом конкретном классе? Проще говоря - в чем по твоему говнокод?
Но следует учесть оптимизацию времени создания объекта и учесть специфику времени выполнения. Или какая цель в аппенде строк и применении хороших фреймов?
Прямо пример.
Я не Мангол, но все таки форум и открытый дискас, поэтому напишу.

С помощью того же Apache Velocity можно будет полностью избавиться от таких методов, как "showMainPage" и похожих. Все таки уже давно не "лихие девяностые", чтобы держать куски html, в коде, а тем более делать конкацию строк, при возможности использования StringBuilder'а. Это все не критично, но все равно, не слишком красиво, как по мне.

Пример одной из моих html с использованием Velocity:

Код:


Код:
Get zones

#color("LEVEL" "Список текущих зон")

#color("cccc99" "ID")
#color("cccc99" "Name")
#color("cccc99" "Type")
#color("cccc99" "Flags")
#color("cccc99" "Danger type")

#set($flags = $ZoneFlags.values())
#set($zones = $target.getZones())
#foreach($zone in $zones)
   
   $zone.getId()
   $zone.getName()
   $zone.getImplName()
   
   #set($zoneFlags = $zone.getFlags())
   #foreach($flag in $flags)
     #if($flag.isFlag(zoneFlags))
       $flag.name()
     #end
   #end
   
   
   #set($dangerType = $zone.getDangerType())
   $dangerType.name()
   
   
#end

#color("LEVEL" "Текущие флаги:")

#color("cccc99" "Name")
#color("cccc99" "Count")

#set($zoneCounters = $target.getZoneFlagCounters())
#set($i = 0)
#foreach($counter in $zoneCounters)
   #set($color = "ffffff")
   #if($counter == 0)
     #set($color = "999999")
   #end
   
   $flags[$i].name()
   $counter
   
   #set($i = $i + 1)
#end
 
Ответить с цитированием

  #69  
Старый 23.01.2016, 09:39
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

Репутация: 0
По умолчанию

Цитата:
Сообщение от Visor123  

Ты пишешь, что к теме не имеешь отношения, но влез в нее давать советы. Итак.
Я так понимаю, что ты не понял почему я не просто так написал, что дегенерат, который кидается на людей, обосрался и что этот факт нельзя изменить.

Что ты собрался аппендить в этом классе? Или где ты и как поюзаешь хорошие фреймы? И почему ты думаешь, что нужно соединять какие-то строки в этом конкретном классе? Проще говоря - в чем по твоему говнокод?
Но следует учесть оптимизацию времени создания объекта и учесть специфику времени выполнения. Или какая цель в аппенде строк и применении хороших фреймов?
Прямо пример.
Дока вело и тима есть в свободном доступе. Так же там есть примеры.

Код:


Код:
protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder(""+getName()+"");

        replyMSG.append("[ "+getName()+" ]"
                +""
                +"");
        replyMSG.append("
Engine instances");
        replyMSG.append("");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append(""+event.getName()+""
                +""
                +""
                +""
                );
        }
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");

        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);
    }
Так же такой код можно будет собирать куда лучшим способом

Но я понел что таким как ты лучше вообще ничего не советовать. Тебе лишь бы свою желчь вылить на ровном месте, и не важно несешь ты полную херню или нет, главное что ты всегда прав.

П.С. Хочу увидеть где я сказал говнокод. Данный случай это случай когда не совсем удобно работать с таким кодом, я бы даже сказал совсем не удобно с ним работать, когда есть фреймы которые могут облегчить жизнь и читаемость данного кода.
 
Ответить с цитированием

  #70  
Старый 23.01.2016, 13:23
Visor123
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами: 5732336

Репутация: 0


По умолчанию

Цитата:
Сообщение от Mangol  

Дока вело и тима есть в свободном доступе. Так же там есть примеры.

Код:


Код:
protected void showMainPage(L2PcInstance player)
    {
        NpcHtmlMessage adminReply = new NpcHtmlMessage(5);

        TextBuilder replyMSG = new TextBuilder(""+getName()+"");

        replyMSG.append("[ "+getName()+" ]"
                +""
                +"");
        replyMSG.append("
Engine instances");
        replyMSG.append("");
        for (L2EventGroupEngineInstance event : _eventInstances.values())
        {
            replyMSG.append(""+event.getName()+""
                +""
                +""
                +""
                );
        }
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");
        replyMSG.append("");

        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);
    }
Так же такой код можно будет собирать куда лучшим способом
Но я понел что таким как ты лучше вообще ничего не советовать. Тебе лишь бы свою желчь вылить на ровном месте, и не важно несешь ты полную херню или нет, главное что ты всегда прав.
П.С. Хочу увидеть где я сказал говнокод. Данный случай это случай когда не совсем удобно работать с таким кодом, я бы даже сказал совсем не удобно с ним работать, когда есть фреймы которые могут облегчить жизнь и читаемость данного кода.
Какую желчь, ты видишь кто эту тему создал?

Ты не сказал "говнокод", но начал подпрягаться - советы давать начал мне. Это есть в паре сообщений выше.

А чего ты не стал давать советы неадеквату, который эту тему создал?

Там не просто желчь - там говнище хлещет и пердак уже сгорел.

Цитата:
Сообщение от GenCloud  

С точки зрения ява-машины - ничего страшного, но нужно было оставить вторую проверку - выполнение кода не пошло бы хоть так, хоть эдак, никаких потерь по времени
Но с точки зрения написания - ***ец
Чет герычем попахивает, мдам.......

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

Ты настолько эпично обосрался в этой теме, что этот шедевр уже эпохальный.

Цитата:
Сообщение от Mangol  

Дока вело и тима есть в свободном доступе. Так же там есть примеры.
Так же такой код можно будет собирать куда лучшим способом
Но я понел что таким как ты лучше вообще ничего не советовать. Тебе лишь бы свою желчь вылить на ровном месте, и не важно несешь ты полную херню или нет, главное что ты всегда прав.
П.С. Хочу увидеть где я сказал говнокод. Данный случай это случай когда не совсем удобно работать с таким кодом, я бы даже сказал совсем не удобно с ним работать, когда есть фреймы которые могут облегчить жизнь и читаемость данного кода.
Начнем с начала.

Ты парой сообщений выше вылез подпрягаться за неадеквата, которого ты не знаешь и не знаешь прав ли он вообще. Ты просто увидел код и слова дегенерата.

Ты видимо решил, что денегерат - это жертва, а я на него нападаю? Нет - дегенерат это не жертва, это гниль - которая из него лезет до сих пор, как только я тыкнул в него куканом. Я не пишу гадости нормальным людям, но получается, что ты себя ассоциировал с этим недоумком, который выложил неиспользованный гейм-сервером класс пытаясь нагадить мне.

Пример - вот вы накинулись на анциента, "выгнать его, выгнать", потому что что? Так анциент это просто мелкий жулик, обман которого лежит на "поверхности", а есть действительно неприятные псевдо-личности. Но групповой инстинкт сработал и ты причислил себя к группе с этим дегенератом GenCloud - это и есть твоя ошибка. Далее ты уже пытался всячески лезть ко мне с советами, пытаясь предметно так подгадить чистую насадку на кукан дегенерата, который это заслужил.

Выводы: не ассоциируйте себя в группу с людьми, которых вы не знаете. Чаще всего типа яркие знатоки могут оказаться весьма неприятными и крайне ненадежными. Первое, что сделают такие псевдо-личности - это будут использовать вас по мелочам.

Выродки не случайно так себя ведут, они этому учатся еще с детского сада, как манипулировать другими. Понимают интуитивно, насколько у других людей сильно чувство группы, желание быть частью сильной группы.

Если вы "чувствуете", что что-то "мутное", лучше дождаться, когда "муть" пройдет, а в данном случае денегерат будет раскрыт и насажен на кукан.

Проблема выродков в том, что я не пытаюсь искать группу, чтобы быть частью сильной группы, и поэтому быстро замечаю их. Возможность эта в том, что я не обременяю себя мыслями, что незнакомый мне человек может написать на форуме правду. И конечно достаточно большой жизненный опыт в офисных интригах. Выродки хорошо имитируют обычных людей, кривляются, умничают и т.д.

Смотрите критически на то, что вам говорят и пишут, не полагайтесь на псевдо-экспертов - часто это могут оказаться дегенераты, подсовывающие вам очередную порцию вранья.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.