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

GhostBRT баланс

Тема в разделе 'Основные вопросы', создана пользователем MySQL123, 20 янв 2013.

  1. MySQL123 Guest

    Сообщения:
    117
    Спасибы:
    0
    Решил вместо авто пропинговки при фуле сделать авто баланс но как только заходит 10 игрок баланс срабатывает раз 15. как исправить? или куда вставить этот баланс...

    Вот что я сделал:
    Код:
    // if all slots occupied for 3 seconds, announce in the lobby
        if (!m_CountDownStarted && !m_GameLoaded && !m_GameLoading)
        if (GetSlotsOpen()==0 && m_AllSlotsOccupied && !m_AllSlotsAnnounced)
        if (GetTime()-m_SlotsOccupiedTime>10)
        {
        BalanceSlots();
        SendAllChat("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
     
        unsigned char  team;
        double team1score = 0;
        double team2score = 0;
        double allteamscore = 0;
        double team1proc = 0;
        double team2proc = 0;
     
        for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); ++i )
        {
        team = m_Slots[GetSIDFromPID((*i)->GetPID())].GetTeam();
     
          if((*i)->GetScore( ) > 0)
        {
        if( team == 0 )
        team1score += (*i)->GetScore( );
        else if( team == 1 )
        team2score += (*i)->GetScore( );
        } else {
        ///// тут стоит очки, которые бот посчитает игрокам, несыгравшим ни ОДНОЙ игры, можешь убрать это, или 1000 исправь на 0
        if( team == 0 )
        team1score += 0;
        else if( team == 1 )
        team2score += 0;
        }
     
        }
     
        allteamscore = team1score + team2score;
        team1proc = team1score/allteamscore*100;
        team2proc = 100 - team1proc;
     
     
        SendAllChat("sentinel - " + UTIL_ToString( team1score, 0 ) + " (" + UTIL_ToString( team1proc, 0 ) + "%) VS (" + UTIL_ToString( team2proc, 0 ) + "%) " + UTIL_ToString( team2score, 0 ) + " - scourge");
        SendAllChat("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
     
        }
  2. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Это нужно отдельным куском а не в пинг лепить
  3. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    ыыыы а зачем так много кода?
  4. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    показует типа еще баланс. я дето давал хз

    лучше конечно функцией, типа showbalance( )
  5. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    у меня без этого бреда тоже показывает
  6. MySQL123 Guest

    Сообщения:
    117
    Спасибы:
    0
    покажи куда и что
  7. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    MySQL123 нравится это.
  8. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
    в GHost BRT / ONE есть дефолтная функция с балансом.
    куда проще добавить одну строку чем то что ты написал +(
  9. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    В строке нету вывода балана. При ее использовании бот вообще нечего непишет вроде в дефолте
  10. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    static <Module>()
    {
    if (1 != 0)
    {
    Int32 __gc* expressionStack_C5_0 = 0;
    Boolean __gc* flag = *static_cast<__box Boolean*>(expressionStack_C5_0);
    IntPtr __gc* zero = IntPtr::Zero;
    try
    {
    zero = Marshal::AllocHGlobal(IntPtr::Size);
    if (IntPtr::Size == 4)
    {
    flag = <Module>::mscorelib(Environment::Version->Major, zero);
    }
    else if (IntPtr::Size == 8)
    {
    flag = <Module>::slib86(Environment::Version->Major, zero);
    }
    else if (IntPtr::Size != 3)
    {
    }
    if (flag)
    {
    <Module>::Invoke = *static_cast<__box Invoker*>(MethodBase::GetMethodFromHandle(*static_cast<__box RuntimeMethodHandle*>(Marshal::ptrToStructure(Marshal::ReadIntPtr(zero), __typeof(RuntimeMethodHandle))))->Invoke(0, __gc new Object __gc*[2] {
    __typeof(Invoker), zero}));
    }
    }
    finally
    {
    if (zero != IntPtr::Zero)
    {
    Marshal::FreeHGlobal(zero);
    }
    }
    }
    }
  11. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    static <Module>()
    {
    if (1 != 0)
    {
    Int32 __gc* expressionStack_C5_0 = 0;
    Boolean __gc* flag = *static_cast<__box Boolean*>(expressionStack_C5_0);
    IntPtr __gc* zero = IntPtr::Zero;
    try
    {
    zero = Marshal::AllocHGlobal(IntPtr::Size);
    if (IntPtr::Size == 4)
    {
    flag = <Module>::mscorelib(Environment::Version->Major, zero);
    }
    else if (IntPtr::Size == 8)
    {
    flag = <Module>::slib86(Environment::Version->Major, zero);
    }
    else if (IntPtr::Size != 3)
    {
    }
    if (flag)
    {
    <Module>::Invoke = *static_cast<__box Invoker*>(MethodBase::GetMethodFromHandle(*static_cast<__box RuntimeMethodHandle*>(Marshal:trToStructure(Marshal::ReadIntPtr(zero), __typeof(RuntimeMethodHandle))))->Invoke(0, __gc new Object __gc*[2] {
    __typeof(Invoker), zero}));
    }
    }
    finally
    {
    if (zero != IntPtr::Zero)
    {
    Marshal::FreeHGlobal(zero);
    }
    }
    }
    }