Приветствую Вас Гость 11:11 | 26.04.2024
  • Страница 1 из 1
  • 1
Форум WarCrafting.at.ua » Создание сервера » Trinity » Фан скрипт на C++ (Король-Лич)
Фан скрипт на C++
Cruzel
Понедельник, 17.10.2011, 21:20 | Сообщение # 1
Удаленные
Сообщений:
Отличный и интересный скрипт, разработанный пользователем Dimitro.
Суть проста: на "Ущелье песни войны", тому кто зашёл первый даётся морф Короля Лича, и Тёмная скорбь в сумку. Когда этого игрока убивают - морф Лича и само оружие даётся его убийце. И так до конца бг. В конце бг морф Лича и оружие забирается. Очень интересный скрипт, единственное что нужно - сделать проверку на класс/спек и выдавать разные оружия. Тому, кому нужно - доработает:

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);
          
Форум WarCrafting.at.ua » Создание сервера » Trinity » Фан скрипт на C++ (Король-Лич)
  • Страница 1 из 1
  • 1
Поиск:
пусто
Copyright © 2011 WarCrafting Portal