root
|
Дата: Пятница, 13.04.2012, 10:48 | Сообщение # 1 |
HellCore Dev
Сообщений: 100
| Суть патча:
На БГ "Ущелье песни войны" первый вошедший получает морф Лича и вещь в карман (в данном скрипте стоит Темная Скорбь, но я советую вам нарисовать Ледяную Скорбь и заменить ID в скрипте), при убийстве этого игрока, с него спадает морф и забирается вещь, и она появляется у его убийцы вместе с морфом, и так до конца БГ, после конца БГ морф снимается, вещь забирается.
Укажу только то, что нужно еще дополнительно учитывать классы и уровень персонажей, и в связи с этим, выдавать разные итемы. Code diff -r 53648bd13f2f src/server/game/Battlegrounds/Battleground.cpp --- a/src/server/game/Battlegrounds/Battleground.cpp Wed Aug 24 12:21:26 2011 +0300 +++ b/src/server/game/Battlegrounds/Battleground.cpp Fri Aug 26 23:58:55 2011 +0300 @@ -784,6 +784,9 @@ if (plr->HasAuraType(SPELL_AURA_SPIRIT_OF_REDEMPTION)) plr->RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT); + plr->DeMorph(); + plr->DestroyItemCount(49623, 1, true, true);//Замените 49623 на ID вашей рисовки + if (!plr->isAlive()) { plr->ResurrectPlayer(1.0f); diff -r 53648bd13f2f src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp --- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp Wed Aug 24 12:21:26 2011 +0300 +++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp Fri Aug 26 23:58:55 2011 +0300 @@ -28,6 +28,10 @@ #include "World.h" #include "WorldPacket.h" +uint64 FROSTMOURNE_ID = 49623;//Тут ид вашей рисовки +uint64 lichGUID; +bool lich_exists = false; + // these variables aren't used outside of this file, so declare them only here enum BG_WSG_Rewards { @@ -209,6 +214,16 @@ BattlegroundWGScore* sc = new BattlegroundWGScore; m_PlayerScores[plr->GetGUID()] = sc; + + if (!lich_exists) + { + plr->SetDisplayId(24191);//Lich King + plr->Whisper("Король-Лич должен существовать всегда...", LANG_UNIVERSAL, plr->GetGUID()); + plr->Whisper("Вы можете найти ледяную скорбь в своем инвертаре...", LANG_UNIVERSAL, plr->GetGUID()); + plr->AddItem(FROSTMOURNE_ID, 1); + lichGUID = plr->GetGUID(); + lich_exists = true; + } } void BattlegroundWS::RespawnFlag(uint32 Team, bool captured) @@ -748,6 +763,17 @@ { if (GetStatus() != STATUS_IN_PROGRESS) return; + + if (player->GetGUID() == lichGUID) + { + player->DeMorph(); + player->DestroyItemCount(FROSTMOURNE_ID, 1, true, true); + player->Whisper("Король-Лич должен существовать всегда...", LANG_UNIVERSAL, killer->GetGUID()); + player->Whisper("Вы можете найти Ледяную Скорбь в своем инвертаре...", LANG_UNIVERSAL, killer->GetGUID()); + killer->SetDisplayId(24191);//Lich King + killer->AddItem(FROSTMOURNE_ID, 1); + lichGUID = killer->GetGUID(); + } EventPlayerDroppedFlag(player); P.S. Патч старенький, но под мои исходники подходит нормально.
|
|
| |
NeWoW
|
Дата: Суббота, 14.04.2012, 04:55 | Сообщение # 2 |
Капрал
Сообщений: 36
| спс проверю у меня прокатит или нет)))
Помогаю чем могу по сборкам, патчам и в остальном)
Сообщение отредактировал NeWoW - Суббота, 14.04.2012, 04:59 |
|
| |
Vizir
|
Дата: Суббота, 14.04.2012, 05:02 | Сообщение # 3 |
Скаут
Сообщений: 13
| NeWoW, на приват исходниках Dimitro вероятности мало.
|
|
| |
NeWoW
|
Дата: Суббота, 14.04.2012, 05:05 | Сообщение # 4 |
Капрал
Сообщений: 36
| ну еще есть много других приваток исходников где нить может и прокатит)) Хочется посмотреть на сие чудо)) А идея ваще клевая)
Помогаю чем могу по сборкам, патчам и в остальном)
Сообщение отредактировал NeWoW - Суббота, 14.04.2012, 05:06 |
|
| |
|
dukkill
|
Дата: Пятница, 04.05.2012, 10:41 | Сообщение # 6 |
Скаут
Сообщений: 15
| Прикольно. Я бы сыграл на таком Бг
|
|
| |