• Страница 1 из 1
  • 1
Модератор форума: INFERNOS  
Трансмогификация. Скрипт для 3.3.5-4.0.6
wlasser
Капрал
В оригинале взято с форумов ace-web.
Code
/*******************************************************
    * Name: Transmogrification NPC for Legendary Weapons
    * ScriptName:'npc_transmogweap'
    * (c)2012 - JunkyBulgaria
    * Website: www.Hysteria-Gaming.EU
    * E-Mail: developer@hysteria-gaming.eu
    * Skype: jenova_ff
    * script improve by wlasser
    *******************************************************/
        
       шапка = [PLAYER_VISIBLE_ITEM_1_ENTRYID];
       амулет = [PLAYER_VISIBLE_ITEM_2_ENTRYID];
       плечи = [PLAYER_VISIBLE_ITEM_3_ENTRYID];
       рубашка = [PLAYER_VISIBLE_ITEM_4_ENTRYID];
       нагрудник = [PLAYER_VISIBLE_ITEM_5_ENTRYID];
       пояс = [PLAYER_VISIBLE_ITEM_6_ENTRYID];
       наголеники = [PLAYER_VISIBLE_ITEM_7_ENTRYID];
       обувь = [PLAYER_VISIBLE_ITEM_8_ENTRYID];
       наручники = [PLAYER_VISIBLE_ITEM_9_ENTRYID];
       перчатки = [PLAYER_VISIBLE_ITEM_10_ENTRYID];

       плащ = [PLAYER_VISIBLE_ITEM_15_ENTRYID];
       основная рука (оружие) = [PLAYER_VISIBLE_ITEM_16_ENTRYID];
       левая рука (оффхэнд) = [PLAYER_VISIBLE_ITEM_17_ENTRYID];
       дальний бой = [PLAYER_VISIBLE_ITEM_18_ENTRYID];
       табард = [PLAYER_VISIBLE_ITEM_19_ENTRYID];

*/
#include "ScriptPCH.h"

class npc_transmogweap : public CreatureScript
{
public:
       npc_transmogweap() : CreatureScript("npc_transmogweap") { }

       bool OnGossipHello(Player *player, Creature *_creature)
       {
           if (player->isInCombat())
           {
               player->CLOSE_GOSSIP_MENU();
               _creature->MonsterWhisper("Бой!", player->GetGUID());
               return true;
           }
           else
           {
               player->ADD_GOSSIP_ITEM( 3, "|cffBB0000Легендарки (оружие)"                    , GOSSIP_SENDER_MAIN, 1);
               player->ADD_GOSSIP_ITEM( 3, "Экипировка (Комплект А3 - прист)"                    , GOSSIP_SENDER_MAIN, 2);
               player->ADD_GOSSIP_ITEM( 3, "Экипировка (Т3 - воин)"                    , GOSSIP_SENDER_MAIN, 3);
               player->ADD_GOSSIP_ITEM( 3, "Экипировка (Т6 - паладин)"                    , GOSSIP_SENDER_MAIN, 4);
               player->ADD_GOSSIP_ITEM( 3, "|cffFF0000Спасибо, воздержусь от трансмогификации."                    ,GOSSIP_SENDER_MAIN, 999);
           }

           player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());            
           return true;
       }

       bool OnGossipSelect(Player *player, Creature *_creature, uint32 sender, uint32 uiAction)
       {
           if (sender == GOSSIP_SENDER_MAIN)
           {
               player->PlayerTalkClass->ClearMenus();
               switch(uiAction)
               {
      case 999:
                  player->CLOSE_GOSSIP_MENU();
               _creature->MonsterWhisper("Заходи снова друг!", player->GetGUID());
      break;      
           case 1://weapons
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFГромовая Ярость, благословенный клинок Искателя Ветра" , GOSSIP_SENDER_MAIN, 100);
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFБоевой клинок Аззинота (левая рука)"   , GOSSIP_SENDER_MAIN, 101);
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFБоевой клинок Аззинота (правая рука)"                      , GOSSIP_SENDER_MAIN, 102);
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFТори'дал, Звeздная Ярость (лук)"                      , GOSSIP_SENDER_MAIN, 103);
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFДлинный лук Края Пустоты"                    , GOSSIP_SENDER_MAIN, 104);
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFСокрушитель"                      , GOSSIP_SENDER_MAIN, 105);
                           player->ADD_GOSSIP_ITEM( 3, "|cff3300FFВал'анир, молот древних королей"                    , GOSSIP_SENDER_MAIN, 106);
                           player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID());            
                           break;

               case 2://a3 priest
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID, 33718);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_3_ENTRYID, 33720);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_5_ENTRYID, 33721);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_10_ENTRYID, 33717);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_7_ENTRYID, 33719);
                     _creature->MonsterWhisper("Экипировка сменилась на А3 жреца", player->GetGUID());
                     break;

               case 3://t2 war
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID, 16963);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_3_ENTRYID, 16961);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_5_ENTRYID, 16966);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_10_ENTRYID, 16964);
                     player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_7_ENTRYID, 16962);
                     player->CLOSE_GOSSIP_MENU();
                     _creature->MonsterWhisper("Экипировка сменилась на Т2 воина", player->GetGUID());
                     break;

               case 4://t6 pal
                      player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID, 30989);
                      player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_3_ENTRYID, 30997);
                      player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_5_ENTRYID, 30990);
                      player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_10_ENTRYID, 30982);
                      player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_7_ENTRYID, 30993);
                      player->CLOSE_GOSSIP_MENU();
                     _creature->MonsterWhisper("Экипировка сменилась на Т6 паладина", player->GetGUID());
       break;
                   case 100:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_16_ENTRYID, 19019);    
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
             case 101:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_16_ENTRYID, 32837);    
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
             case 102:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_17_ENTRYID, 32838);
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
             case 103:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_18_ENTRYID, 34334);    
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
             case 104:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_18_ENTRYID, 30318);    
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
             case 105:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_16_ENTRYID, 30316);    
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
             case 106:
             player->UpdateUInt32Value(PLAYER_VISIBLE_ITEM_16_ENTRYID, 46017);    
       player->CLOSE_GOSSIP_MENU();
             _creature->MonsterWhisper("Оружие трансмогифицировано!", player->GetGUID());
         break;
           default:
           break;
       }
      }
     return true;
    }
};

void AddSC_npc_transmogweap()
{
       new npc_transmogweap();
}


Файл скрипта необходимо обозвать npc_trans.cpp и поместить в src/scripts/Custom

После чего в ScriptLoader.cpp добавить следующие строчки после
Code
/* This is where custom scripts' loading functions should be declared. */

Code
void AddSC_npc_transmogweap();

и после
Code
/* This is where custom scripts should be added. */

Code
AddSC_npc_transmogweap();


Патч в базу:
Сообщение # 1 отредактировано wlasser - Вторник, 26.06.2012, 23:42
DenBell
Капрал
Скрины можно?

Добавлено (07.07.2012, 10:51)
---------------------------------------------
Да и к тому же, после релога пропадает трансмогрификация.

Сообщение # 2 написано 07.07.2012 в 10:51
Dimitro
Praise the sun!
Это не трасмогрификация.
Скрипт изменяет модельку вещи на заранее прописанную в скрипте (то есть, если захотите добавить другие модели, придется пересобирать ядро) до первой операции со слотом в котором находится вещь.

Вывод -> скрипт бесполезен.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 3 написано 07.07.2012 в 13:26
gmltA
Сержант
+ после релога сбрасывается и нигде не сохраняется.
CellCore development team
Сообщение # 4 написано 07.07.2012 в 14:08
wlasser
Капрал
Так а кто мешает включить мозг и допилить?
видео
Сообщение # 5 отредактировано wlasser - Вторник, 10.07.2012, 11:48
Dimitro
Praise the sun!
Мне, лично, ничего не мешает кроме того, что скрипт давно лежит уже допиленный.
А вот тема названа неправильно, это не трансмогрификация, это временная смена модели вещей.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 6 написано 10.07.2012 в 22:37
rondor
Скаут
Мне даже сказать нечего. Вы воистину гениальны.
Сообщение # 7 написано 11.07.2012 в 12:14
doomkas
Центурион
Полный
Вот держите полная Трансмогификация. От т4 до т11 + пухи и другие вещи там дед мороз пират и т.д
Сообщение # 8 написано 22.07.2012 в 07:19
DenBell
Капрал
Quote (doomkas)
Вот держите полная Трансмогификация. От т4 до т11 + пухи и другие вещи там дед мороз пират и т.д

Опять же, как сказал Dimitro, это временная смена моделек вещей. Можно сказать морф шмоток.
Сообщение # 9 написано 31.07.2012 в 12:41
eVVV
Скаут
Quote (DenBell)
Опять же, как сказал Dimitro, это временная смена моделек вещей. Можно сказать морф шмоток.

Это тупо набивание постов
Сообщение # 10 написано 31.07.2012 в 13:46
doomkas
Центурион
Code
Так а кто мешает включить мозг и допилить?  
видео

Такой скрипт уже тут был и его кто то удалил >_<

Добавлено (01.09.2012, 13:58)
---------------------------------------------
мб сам автор

Сообщение # 11 написано 01.09.2012 в 13:58
  • Страница 1 из 1
  • 1
Поиск: