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

Обращение к переменной

Тема в разделе 'Кодинг/Собственные решения', создана пользователем alex24609, 4 июл 2011.

  1. alex24609 Ньюфаг

    Сообщения:
    9
    Спасибы:
    0
    В файле bnet.cpp есть переменная nUserName(ник пользователя), как мне ее получить в файле game.cpp?
  2. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Ты хочешь коммандой получать значение bnet_username = всех подключенных серверов?
  3. alex24609 Ньюфаг

    Сообщения:
    9
    Спасибы:
    0
    В общем мне нужно чтобы когда нажималась определенная команда, то бот обновлял нужную информацию о себе в mysql. Так вот проблема в том что в game.cpp не могу найти переменную отвечающую за имя бота который будет выполнять определенную функцию. В файле bnet.cpp эта переменная уже есть - nUserName. И я подумал может можно запросить переменную из файла bnet.cpp. Напишите кто разбирается возможно ли такое сделать, если да то как?
  4. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    PHP:
    <span class="syntaxdefault">                        </span><span class="syntaxkeyword">for( </span><span class="syntaxdefault">vector</span><span class="syntaxkeyword"><</span><span class="syntaxdefault">CBNET </span><span class="syntaxkeyword">*> :: </span><span class="syntaxdefault">iterator i </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">m_GHost</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">m_BNETs</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">begin</span><span class="syntaxkeyword">( ); </span><span class="syntaxdefault"></span><span class="syntaxkeyword">!= </span><span class="syntaxdefault">m_GHost</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">m_BNETs</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">end</span><span class="syntaxkeyword">( ); </span><span class="syntaxdefault">i</span><span class="syntaxkeyword">++ )<br />                        {<br />                                                       </span><span class="syntaxdefault">string susername </span><span class="syntaxkeyword">= (*</span><span class="syntaxdefault">i</span><span class="syntaxkeyword">)-></span><span class="syntaxdefault">GetUserName</span><span class="syntaxkeyword">( );<br />                                                       </span><span class="syntaxdefault">SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">susername</span><span class="syntaxkeyword">);<br />                        } </span><span class="syntaxdefault"></span>
    Данный код выведет всех подключенных юзеров к серверам, которые использует бот.
    Т.е.:
    bnet_username = a
    bnet2_username = b
    bnet3_username = c
    bnet4_username = d
    bnet5_username = e
    bnet(n)_username = f

    Выведет: a b c d e f
  5. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Диалс, а можно ли динамическое изменение логина и пасса во время игр и чаттинга в бнете? Я как глянул срау прикинул что нужно удалять из памяти весь CBNET, следовательно не получается без обрыва соединения. Так ли?
  6. alex24609 Ньюфаг

    Сообщения:
    9
    Спасибы:
    0
    Спасибо Deals, это как раз то что мне было нужно.
  7. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    В смысле изменение логина и пасса?
    Ну да. Если сносишь с памяти бнет - он отрубится. Или еще хуже - кританет.
  8. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Ну какбы:
    !change Name Pass
    И текущий логин и пасс у бота меняются на указанные И(!) сразу же бот делает переподключение, не теряя текущих игр.
  9. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    ОМГ ЖЕ
    в гхосте создаеш функцию
    либо с параметрами идентичными конструктору бнета, либо с указателем на сам бнет

    если первое то в теле функции должно быть примерно так
    m_BNETs.push_back( new CBNET( this, Server, ServerAlias, BNLSServer, (uint16_t)BNLSPort, (uint32_t)BNLSWardenCookie, CDKeyROC, CDKeyTFT, CountryAbbrev, Country, LocaleID, UserName, UserPassword, FirstChannel, RootAdmin, BNETCommandTrigger[0], HoldFriends, HoldClan, PublicCommands, War3Version, EXEVersion, EXEVersionHash, PasswordHashType, PVPGNRealmName, MaxMessageLength, i ) );

    если с указателем, то просто
    m_BNETs.push_back( BNETPTR);

    а в самой команде юзаеш эту функцию
    и выставляеш переменную m_Exiting = true


    это офк если те надо с удалением бнета, что не есть обязательно
    можно сменить имя и пасс
    m_UserName
    m_UserPassword

    и выполнить текст из if(m_Socket->HasError())
    Код:
    		m_GHost->EventBNETDisconnected( this );
    		delete m_BNLSClient;
    		m_BNLSClient = NULL;
    		m_BNCSUtil->Reset( m_UserName, m_UserPassword );
    		m_Socket->Reset( );
    		m_LastDisconnectedTime = GetTime( );
    		m_LoggedIn = false;
    		m_InChat = false;
    		m_WaitingToConnect = true;



    зы: защита от пг бана? :bIbIbIblya:
  10. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    ХАХАХАХАХ В ГОЛОС ПРОСТО :lol: :lol: :lol: :lol: :lol: :lol:
    Ну ты угадал :D