YTDB

Вернуться   YTDB > Корзина / Trash > Архив MaNGOS (пока не было ru-mangos) > Ядро

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

Но это форум не по ядру Мангос!

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.11.2009, 12:34   #1
Nordway
Guest
 
Сообщений: n/a
По умолчанию Хонор на арене

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

Пытался сам сделать, но так как в С++ полный ноль ничего не получилось. Изучал файлы BattleGround.cpp и Player.cpp

BattleGround.cpp

Здесь нашёл два участка кода, котрые возможно смогли бы мне помочь, это:

1. UpdatePlayerScore()
Код:
            // do not add honor in arenas
            if (isBattleGround())
            {
                // reward honor instantly
                if (Source->RewardHonor(NULL, 1, value))
                    itr->second->BonusHonor += value;
            }
            break;
Пробовал удалять условие if (isBattleGround()) и оставлять только мгновенное получение хонора. Исходники компилируются, но эффекта никакого нет.

2. EndBattleGround()

После вычисления рейтингов идёт
Код:
        if (team == winner)
        {
            RewardMark(plr,ITEM_WINNER_COUNT);
            RewardQuestComplete(plr);
        }
        else
            RewardMark(plr,ITEM_LOSER_COUNT);
может быть можно туда как-то прицепить выдачу хонора, но так как просто незнаю как не пробовал этот вариант. Есть мысль, сделать по аналогии, что-то типа RewardHonor(plr,количество_хонора); правильно ли?


Player.cpp

Ну тут только одно место смог найти, это в RewardHonor()
Код:
    // do not reward honor in arenas, but enable onkill spellproc
    if(InArena())
    {
        if(!uVictim || uVictim == this || uVictim->GetTypeId() != TYPEID_PLAYER)
            return false;

        if( GetBGTeam() == ((Player*)uVictim)->GetBGTeam() )
            return false;

        return true;
    }
Здесь была попытка просто false заменить на true
Сервер собрался, но эффекта никакого.


Надеюсь на вашу помощь
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 14:59. Часовой пояс GMT +4.


YTDB - MaNGOS DataBase

Русский форум Мангос - официальный форум RMDC

Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума YTDB будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot
Punk's On-Air - Punk, Folk, Blues, Ska Bascinet - реконструкция denw IL-2 Training Книготорговая Компания «А-5» - художественная, учебная литература, скидки, опт и мелкий опт, доставка, дешево, низкие цены издательства