Модератор форума: Dimitro |
Форум TrinityCore Патчи / Моды / Фиксы для Trinity C++ fun script - Король лич должен существовать всегда |
C++ fun script - Король лич должен существовать всегда |
Для одного проекта писал.
Идею стырил из линейки, там тоже был демонический меч зарич, который выпадал при убийстве игрока... Суть патча: На БГ "Ущелье песни войны" первый вошедший получает морф Лича и вещь в карман (в данном скрипте стоит Темная Скорбь, но я советую вам нарисовать Ледяную Скорбь и заменить 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);
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
согласен с предыдущим постом, интересная идея
ArcEMU Russian Community, Русское сообщество любителей ArcEMU Panda Team Chat: [17:21:16] Сергей Ds: после 2-ух дней [17:21:20] Сергей Ds: выноса мозга [17:21:26] Сергей Ds: это как 3 года воздержания
Сообщение # 3 написано 27.08.2011 в 02:39
|
Если кому-то понадобится, пусть нарисует вещи с нормальными статами на разные уровни БГ и под разные классы, а я заскриптую.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 4 написано 27.08.2011 в 02:47
|
дим, сможешь потом одну идейку помочь реализовать?
С захватом города/ов ArcEMU Russian Community, Русское сообщество любителей ArcEMU Panda Team Chat: [17:21:16] Сергей Ds: после 2-ух дней [17:21:20] Сергей Ds: выноса мозга [17:21:26] Сергей Ds: это как 3 года воздержания
Сообщение # 5 написано 27.08.2011 в 02:53
|
ХЗ, я пока не представляю, как это, но, возможно, смогу.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 6 написано 27.08.2011 в 02:55
|
еще было бы хорошо, что бы так же появлялся рыцарь алого ордена, и помогал убить лича
ArcEMU Russian Community, Русское сообщество любителей ArcEMU Panda Team Chat: [17:21:16] Сергей Ds: после 2-ух дней [17:21:20] Сергей Ds: выноса мозга [17:21:26] Сергей Ds: это как 3 года воздержания
Сообщение # 7 написано 27.08.2011 в 03:09
|
Скрипт и идея хороши. Можно впринпице под каждый класс нарисовать оружие с одинаковыми статами и добавить проверку на класс,но я думаю выкладывать не стоит(рисовки и проверку) кому надо и кто знает как сделает сам..
Серверами/скриптами и т.д. не занимаюсь.
Сообщение # 8 написано 27.08.2011 в 11:31
|
Ну ХЗ, сделать обработку лвлов и классов - дело пяти минут.
А вот рисовки делать мне реально лень...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 9 написано 27.08.2011 в 23:40
|
Quote (Pheon) дим, сможешь потом одну идейку помочь реализовать? С захватом города/ов Надо кучу триггеров в Городах раставить, если король города сдох, заселить его NPC противоложной фракции... или просто сделать фазовую систему. и Worldstates. но, по моему бред
Сообщение # 10 написано 28.08.2011 в 09:03
|
The_Sun, да да, я это и имел ввиду
Vray3d, за то интересно =Ъ ArcEMU Russian Community, Русское сообщество любителей ArcEMU Panda Team Chat: [17:21:16] Сергей Ds: после 2-ух дней [17:21:20] Сергей Ds: выноса мозга [17:21:26] Сергей Ds: это как 3 года воздержания
Сообщение # 12 написано 28.08.2011 в 11:16
|
ИМХО это слишком накладно писать, боюсь, что пока это не станет нужно лично мне, убивать на это время я не буду.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 13 написано 28.08.2011 в 12:11
|
Dimitro, эх печально =(
кстати, какаяф функция проверка на класс Оо ArcEMU Russian Community, Русское сообщество любителей ArcEMU Panda Team Chat: [17:21:16] Сергей Ds: после 2-ух дней [17:21:20] Сергей Ds: выноса мозга [17:21:26] Сергей Ds: это как 3 года воздержания
Сообщение # 14 написано 28.08.2011 в 12:15
|
А поискать в ядре, не?
Тема эта не для ваших вопросов предназначена. player->getClass() функция. А вот листинг возвращаемых значений: Code CLASS_WARRIOR = 1, CLASS_PALADIN = 2, CLASS_HUNTER = 3, CLASS_ROGUE = 4, CLASS_PRIEST = 5, CLASS_DEATH_KNIGHT = 6, CLASS_SHAMAN = 7, CLASS_MAGE = 8, CLASS_WARLOCK = 9, //CLASS_UNK = 10, CLASS_DRUID = 11
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 15 написано 28.08.2011 в 12:20
|
ну всё всё, прости за флуд
ArcEMU Russian Community, Русское сообщество любителей ArcEMU Panda Team Chat: [17:21:16] Сергей Ds: после 2-ух дней [17:21:20] Сергей Ds: выноса мозга [17:21:26] Сергей Ds: это как 3 года воздержания
Сообщение # 16 написано 28.08.2011 в 12:27
|
Мда, тема умерла, значит скрипт никому особо не нужен.
Может быть скоро более красиво все реализую...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Что-то и у кого не видел такого самописного скрипта.
Я просто идею подкинул... На самом деле есть методы более правильной и расширенной реализации...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 19 написано 16.09.2011 в 01:54
|
Хорошая Вешь
Сообщение # 24 написано 30.09.2011 в 12:30
|
Вообще-то, в отличии от многих, я почти все пишу сам.
Так что не надо тут. Вы на дату посмотрите постов на ак вебе и все поймете. Кто-то взял и репостнул мой скрипт туда, не переведя даже и не указав копирайтов...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Сообщение # 28 написано 15.10.2011 в 12:00
|
Вы бы еще релиз Арканума там нашли и сказали, что я его оттуда скопипастил...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Сообщение # 30 написано 23.10.2011 в 07:34
|
| |||