|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина [patch] Honor ranks |
| [patch] Honor ranks |
Code Index: src/game/Player.cpp =================================================================== --- src/game/Player.cpp (revision 5023) +++ src/game/Player.cpp (working copy) @@ -5516,10 +5516,31 @@ honor /= groupsize; float approx_honor = honor * (((float)urand(8,12))/10); // approx honor: 80% - 120% of real honor - + uint32 rank = 5; + if (GetHonorPoints()>=0) rank = 1; else + if (GetHonorPoints()>=100) rank = 2; else + if (GetHonorPoints()>=500) rank = 3; else + if (GetHonorPoints()>=700) rank = 4; else + if (GetHonorPoints()>=900) rank = 5; else + if (GetHonorPoints()>=1000) rank = 6; else + if (GetHonorPoints()>=2000) rank = 7; else + if (GetHonorPoints()>=4000) rank = 8; else + if (GetHonorPoints()>=6000) rank = 9; else + if (GetHonorPoints()>=8000) rank = 10; else + if (GetHonorPoints()>=9000) rank = 11; else + if (GetHonorPoints()>=10000) rank = 12; else + if (GetHonorPoints()>=11000) rank = 13; else + if (GetHonorPoints()>=12000) rank = 14; else + if (GetHonorPoints()>=13000) rank = 15; else + if (GetHonorPoints()>=14000) rank = 16; else + if (GetHonorPoints()>=15000) rank = 17; else + if (GetHonorPoints()>=16000) rank = 18; else + if (GetHonorPoints()>=17000) rank = 19; else + rank=19; WorldPacket data(SMSG_PVP_CREDIT,4+8); data << (uint32) approx_honor*10; data << (uint64) victim_guid; + data << rank; GetSession()->SendPacket(&data); m_lastHonorDate = now; на офе при убийстве игрока появляется сообщение с хонорм и ранком в мангосе же, появляется только надпись HK жёлтыми буквами и всё О_о данный патч исправляет данное недоразумение
Сообщение # 1 написано 19.11.2008 в 10:19
|
Quote (Matt) куда патчик заливать Quote (Panama2) куда этот код писать или что вообще с ним делать чтобы работало на сервере??.. Если у кого есть SQL файлом залете куда угодно и дайте пож. ссылку... И конеш скажите куда именно заливать) добавить в Player.cpp потом компилить Quote (Truel) Как скачать? копипастом
Сообщение # 9 написано 04.03.2009 в 11:38
|
А что какие-то ошибки выдает?
Сообщение # 16 написано 02.06.2009 в 15:40
|
нет ессесно)
я реализовал у себя звания за квесты. Для сдачи квеста нужно определенное кол-во килов. Квестов несколько, идут по цепочке от первого до последнего звания
Услуги гаранта предоставлю по графику 2 через 2. Уточнять по icq/skype/пм
Сообщение # 18 написано 23.08.2009 в 20:18
|
спижжено с мангоса
Сообщение # 21 написано 21.09.2009 в 00:18
|
OtiSSS, чо ты матюгаешьсо епт во всех темах.
аффтор под какой рев идет патч?
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. ©
Сообщение # 22 написано 09.10.2009 в 17:05
|
ловите патч под последние ревы
Code diff --git a/src/game/Player.cpp b/src/game/Player.cpp index f8ececd..df26f92 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -6140,6 +6140,44 @@ void Player::UpdateHonorFields() } m_lastHonorUpdateTime = now; + + uint32 HonorKills = GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORBALE_KILLS); + uint32 victim_rank = 0; + + if (HonorKills >= 100 && HonorKills < 200) + victim_rank = 1; + else if (HonorKills >= 200 && HonorKills < 500) + victim_rank = 2; + else if (HonorKills >= 500 && HonorKills < 1000) + victim_rank = 3; + else if (HonorKills >= 1000 && HonorKills < 1500) + victim_rank = 4; + else if (HonorKills >= 1500 && HonorKills < 2000) + victim_rank = 5; + else if (HonorKills >= 2000 && HonorKills < 2500) + victim_rank = 6; + else if (HonorKills >= 2500 && HonorKills < 3000) + victim_rank = 7; + else if (HonorKills >= 3000 && HonorKills < 3500) + victim_rank = 8; + else if (HonorKills >= 3500 && HonorKills < 4000) + victim_rank = 9; + else if (HonorKills >= 4000 && HonorKills < 4500) + victim_rank = 10; + else if (HonorKills >= 4500 && HonorKills < 5000) + victim_rank = 11; + else if (HonorKills >= 5000 && HonorKills < 5500) + victim_rank = 12; + else if (HonorKills >= 5500 && HonorKills < 8000) + victim_rank = 13; + else if (HonorKills >= 8000) + victim_rank = 14; + if (GetTeam() == HORDE && victim_rank != 0) + victim_rank += 14; + + SetUInt32Value(PLAYER_CHOSEN_TITLE,victim_rank); + + } ///Calculate the amount of honor gained based on the victim
Сообщение # 23 написано 22.10.2009 в 02:59
|
Данная тема была перемещена из раздела Патчи в ядро MaNGOS.
Причина перемещения: устарело Переместил: ph3n.
Сообщение # 27 написано 14.10.2012 в 13:31
|
| |||
| |||

лови+








