1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Есть идея

Тема в разделе 'Общение', создана пользователем Deals, 12 фев 2011.

  1. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    И так. Я тут подумал и решил сделать типа что-то пофикшенного GHostOne.
    Не меняя его структуру. Т.е. работать с прежними классами и типами.
    Т.е. например мне не нравится как brt изменили класс ланга. Он работает как-то криво и наблюдая за их ботом заметил что он толком не работает. Много ошибок сдвигов строк и т.д.
    Добавлять функции протестированные и проверенные и т.д.
    Это как проект. Есть желающие здешних старожилов принимать участие и выкладывать нужные (новые, интересные) патчи для GHostOne? Возможно часть позаимствуем с brtGhost... У них GPL v3 а значит с их код можем хоть переписать и запатентовать ^^
    Но конечно желательна полная отдача. Т.е. если есть интересный патч не жмотиться и не скрывать его.
    У кого какие предлы?
  2. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Ты меня сразу зарезервировал?
  3. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Можно стартануть отдельный проект по боту в googlecode, от меня могу предложить полную поддержку по функциям бота и поддержку в части сайта ( добавить в страницу загрузки, обеспечить отдельный раздел форума если нужно)
  4. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    А я, а я буду платформой для тестирования + базы MySQL + всевозможные серверы + отдельный сервер Ventrilo для организации конференций.
  5. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    JiLiZART, пока немного повременим.
    Я начал работать. И если будет не плохо идти - можно будет и сделать.
    И уже большая благодарность HELLICOPTER за помощь с адресами серверов.
    Пока работаю над лангами. Хочу полностью устранить выскакивающие, не редактируемые (в конфиге), сообщения.
    Нужна будет помощь перевода. Даже с Английского на Русский у меня порой бывают проблемы (плохо учил в школе его, зато информатика прежде всего ^^ ).
    Работаемс. Отписываемся желающих. В частности очень хотелось бы услышать fake'a.
    Заметил очень интересную вещь на подобии этой. На каждый ланг создается своя ф-ия. И довольно часто встречается "противофукция". Т.е. например. Файл загружен успешно, или безуспешно. И я тут подумал сделать вот так:
    в комменте мой вариант вместо описанных 2 ф-ий
    string CLanguage :: FileLoadedSuccessfully(string file, string path)
    {
        string Out = m_CFG->GetString( "lang_1012", "lang_1012" );
        Replace( Out, "$FILE$", file );
        Replace( Out, "$PATH$", path );
        return Out;
    }
    
    string CLanguage :: FileLoadedNotSuccessfully(string file)
    {
        string Out = m_CFG->GetString( "lang_1013", "lang_1013" );
        Replace( Out, "$FILE$", file );
        return Out;
    }
    /* // optimized?
    string CLanguage :: FileLoaded(string file, string path, bool ok)
    {
        if (ok)
        {
            // File $FILE$ downloaded OK in : $PATH$
            string Out = m_CFG->GetString( "lang_1012", "lang_1012" );
            Replace( Out, "$FILE$", file );
            Replace( Out, "$PATH$", path );
            return Out;
        }
        else
        {
            // $FILE$ didn't download OK!
            string Out = m_CFG->GetString( "lang_1013", "lang_1013" );
            Replace( Out, "$FILE$", file );
            return Out;
        }
    }*/

    Т.е. сделать функцию двузначной. Успех или провал. Путем добавления 3 параметра. Можно даже 3 параметр установить по умолчанию на true и не задавая его использовать 2 параметра в качестве "успешности".
    Кто как смотрит на данный вариант?
  6. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    2 Deals: я за, помогу чем смогу.
    2 JiLiZART: хотелось бы какуюнибуть приватную ветку для старожилов, напр чтоб можно было выкладывать какието свои варианты кода и никто не мог прочитать кроме допущенных.
  7. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    двачюю =)
    за офк, но гхост ОНЕ уг =)
  8. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
                  //
                    // !DRD (turn dynamic latency on or off)
                    // !DLATENCY
                    // !DDR
                    //
    
                    if( Command == "drd" || Command == "dlatency" || Command == "ddr")
                    {
                        if (Payload.empty())
                        {
                            /*if (m_GHost->m_UseDynamicLatency) 
                                QueueChatCommand( "Dynamic latency disabled", User, Whisper );
                            else
                                QueueChatCommand( "Dynamic latency enabled", User, Whisper );*/
                            QueueChatCommand( m_GHost->m_Language->DynamicLatency( m_GHost->m_UseDynamicLatency), User, Whisper );
                            m_GHost->m_UseDynamicLatency = !m_GHost->m_UseDynamicLatency;
    
                            return;
                        }
                        if( Payload == "on" )
                        {
                            QueueChatCommand( m_GHost->m_Language->DynamicLatency(true), User, Whisper ); //   QueueChatCommand( "Dynamic latency enabled", User, Whisper );
                            m_GHost->m_UseDynamicLatency = true;
                        }
                        else if( Payload == "off" )
                        {
                            QueueChatCommand( m_GHost->m_Language->DynamicLatency(false), User, Whisper ); //   QueueChatCommand( "Dynamic latency disabled", User, Whisper );
                            m_GHost->m_UseDynamicLatency = false;
                        }
                    } 
  9. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    после анонса значение меняется =)
    ретурн помоему тут должен возвращять true or false(warning)

    я бы сделал так
    Код:
     if( Command == "drd" || Command == "dlatency" || Command == "ddr")
                    {
                        if (Payload.empty())
                            m_GHost->m_UseDynamicLatency = !m_GHost->m_UseDynamicLatency;
                        else if( Payload == "on" )
                            m_GHost->m_UseDynamicLatency = true;
                        else if( Payload == "off" )
                            m_GHost->m_UseDynamicLatency = false;
                      QueueChatCommand( m_GHost->m_Language->DynamicLatency( m_GHost->m_UseDynamicLatency), User, Whisper );
                    } 
    чисто для экономия строк=0

    зы: создание "противофункций" как по мне облегчает чтение кода=)
    ведь с таким названием DynamicLatencyIsOn функция более явна чем DynamicLatency.

    ззы: жил хацю приватку=)
  10. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Вот что значит сначала анонс по переменной, а потом смена переменной сразу после анонса. И сам поймался.
    PHP:
    <span class="syntaxdefault">void CBNET </span><span class="syntaxkeyword">::</span><span class="syntaxdefault"> ProcessChatEvent</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> CIncomingChatEvent </span><span class="syntaxkeyword">*</span><span class="syntaxdefault">chatEvent </span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span>
    Тип ф-ии void.
    А значит не должно ничего возвращать. return используется в качестве выхода из ф-ии не завершая ее до конца.
  11. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    И так. На данном этапе нужен переводчик. Кто желает поработать? :metal:
  12. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    << Опыт работы есть. Сам небужив предлагал :)
  13. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    я думал эт игровая команда :newcry:
    Зы: жил даешь приватку! :metal:
  14. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Я бы по поводу языка посоветовал что то типа t("You uploaded %s sucessful",FILE) ( сама функция проходится по строке printf и заменяет плейсхолдеры, но только после того как по этой строке в файле языка найдёт переведённый вариант.

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

    к примеру получив комманду, бот анализирует список всех комманд и определяет её тип, к примеру START и выполняет действие. а вообще я бы помог развитию бота GhostLite с плагин системой.
  15. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Ветку реализуй! :facepalm:
  16. festival Старожила

    Сообщения:
    368
    Спасибы:
    0
    Да, офигенная идея. Сделать SVN, постоянно какие-то патчи или закрытый код, исходники 50 WMZ.

    Сразу вставьте туда ФФ под Опен Статс, поддержка новых шмоток.
    С UDP порядки наведите.
    В конфиг добавьте по больше цифровых значений.
    Что бы сохранял игры и репы.
    Команду бан айпи, навсегда, мап хакеров банить.
    Глянуть хистори с 1 айпи по никам и банам.
    Уменьшить нагрузку на MySql.

    Все будут ваших ботов юзать, потому что самый толковый бот будет.
  17. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    та диалс пропал кудато =) вот и патчи кончились...
    мне тупо в падлу, а посоны заняты своими проэктами =)
    да и не знаем какую начать фиксить( я бы начал фиксить ghost++ а они хотят one)
  18. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Вот, вот, надо фиксить гхост++.
    Есть какие-либо общие рекомендации по тому, как делать перенос фич из гхост1 в гхост++? А то что-то не совсем всё гладко... :nea: