• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Dimitro  
Форум » TrinityCore » Патчи / Моды / Фиксы для Trinity » C++ fun script - Король лич должен существовать всегда
C++ fun script - Король лич должен существовать всегда
Dimitro
Praise the sun!
Для одного проекта писал.
Идею стырил из линейки, там тоже был демонический меч зарич, который выпадал при убийстве игрока...

Суть патча:

На БГ "Ущелье песни войны" первый вошедший получает морф Лича и вещь в карман (в данном скрипте стоит Темная Скорбь, но я советую вам нарисовать Ледяную Скорбь и заменить 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.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 1 отредактировано Dimitro - Четверг, 15.09.2011, 23:04
Vray3d
Trinity Core
интересная идея) +
С глупыми вопросами в =====> лес
Main Dev TrailBlazer
ICQ607802
Сообщение # 2 написано 27.08.2011 в 01:05
Pheon
Скаут
согласен с предыдущим постом, интересная идея smile

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
Dimitro
Praise the sun!
Если кому-то понадобится, пусть нарисует вещи с нормальными статами на разные уровни БГ и под разные классы, а я заскриптую.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 4 написано 27.08.2011 в 02:47
Pheon
Скаут
дим, сможешь потом одну идейку помочь реализовать?
С захватом города/ов

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
Dimitro
Praise the sun!
ХЗ, я пока не представляю, как это, но, возможно, смогу.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 6 написано 27.08.2011 в 02:55
Pheon
Скаут
еще было бы хорошо, что бы так же появлялся рыцарь алого ордена, и помогал убить лича

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
vkbot
Чемпион
Скрипт и идея хороши. Можно впринпице под каждый класс нарисовать оружие с одинаковыми статами и добавить проверку на класс,но я думаю выкладывать не стоит(рисовки и проверку) кому надо и кто знает как сделает сам..
Серверами/скриптами и т.д. не занимаюсь.
Сообщение # 8 написано 27.08.2011 в 11:31
Dimitro
Praise the sun!
Ну ХЗ, сделать обработку лвлов и классов - дело пяти минут.
А вот рисовки делать мне реально лень...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 9 написано 27.08.2011 в 23:40
The_Sun
Чемпион
Quote (Pheon)
дим, сможешь потом одну идейку помочь реализовать?
С захватом города/ов

Надо кучу триггеров в Городах раставить, если король города сдох, заселить его NPC противоложной фракции... или просто сделать фазовую систему. и Worldstates. но, по моему бред biggrin
Сообщение # 10 написано 28.08.2011 в 09:03
Vray3d
Trinity Core
Quote (The_Sun)
Надо кучу триггеров в Городах раставить, если король города сдох, заселить его NPC противоложной фракции...

и превратиться вов в рф teehee
С глупыми вопросами в =====> лес
Main Dev TrailBlazer
ICQ607802
Сообщение # 11 написано 28.08.2011 в 10:13
Pheon
Скаут
The_Sun, да да, я это и имел ввиду blahblah
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
Dimitro
Praise the sun!
ИМХО это слишком накладно писать, боюсь, что пока это не станет нужно лично мне, убивать на это время я не буду.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 13 написано 28.08.2011 в 12:11
Pheon
Скаут
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
Dimitro
Praise the sun!
А поискать в ядре, не?
Тема эта не для ваших вопросов предназначена.

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
Pheon
Скаут
ну всё всё, прости за флуд

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
Dimitro
Praise the sun!
Мда, тема умерла, значит скрипт никому особо не нужен.
Может быть скоро более красиво все реализую...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 17 отредактировано Dimitro - Четверг, 15.09.2011, 23:04
Immortle
Скаут
Quote (Dimitro)
скрипт никому особо не нужен.

Тем кому нужен,не могут поставить потому что сидят на чужих сборках, а те у кого руки из правильного места растут,думаю сами напишут если понадобится, а остальные не заинтересованны
happy smile
Сообщение # 18 написано 16.09.2011 в 01:48
Dimitro
Praise the sun!
Что-то и у кого не видел такого самописного скрипта.
Я просто идею подкинул...

На самом деле есть методы более правильной и расширенной реализации...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 19 написано 16.09.2011 в 01:54
Djumhоrdе
Скаут
Dimitro, можно ли как то сделать, что бы баф вешался?
Пример:
Заходит на бг, на рандомного вешается баф(или на 1), после его убийства, передаётся тому кто добил? :)


не прочитал всё описание smile
Сообщение # 20 отредактировано Djumhоrdе - Пятница, 16.09.2011, 16:11
_dm666
<3 Death Metal
Можно и под другие бг сделать, но патч руками придется накатывать. happy
Сообщение # 21 написано 17.09.2011 в 11:41
wownight
Скаут
Димитри спс большое заберу себе на сервер)))Оч весело будет.спс большое)
Сообщение # 22 написано 30.09.2011 в 10:12
kleuser
Командир
хм..интересная идея.Попробую поставить,заинтересовал smile
Сообщение # 23 написано 30.09.2011 в 12:24
EpIlEpT
Капрал
Сообщение # 24 написано 30.09.2011 в 12:30
Neket007
Core Developer
Да Dimitro, отличный скрипт.Пойдет в разнообразие на надоевшем бг.
Только вот сейчас себе до ума довожу.Чтобы еще убившему Лича давались ид зависимо от Класса убившего.
Но все равно спс тебе.
Сообщение # 25 написано 30.09.2011 в 14:55
Avatar01
Клиенто-Каратель
Сообщение # 26 написано 15.10.2011 в 07:35
Dimitro
Praise the sun!
Вообще-то, в отличии от многих, я почти все пишу сам.
Так что не надо тут.

Вы на дату посмотрите постов на ак вебе и все поймете.
Кто-то взял и репостнул мой скрипт туда, не переведя даже и не указав копирайтов...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 27 отредактировано Dimitro - Суббота, 15.10.2011, 12:05
Dimitro
Praise the sun!
Вы бы еще релиз Арканума там нашли и сказали, что я его оттуда скопипастил...
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 29 отредактировано Dimitro - Суббота, 15.10.2011, 12:06
Форум » TrinityCore » Патчи / Моды / Фиксы для Trinity » C++ fun script - Король лич должен существовать всегда
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: