Главная Форум Файлы
Вы находитесь: Wow-Good.Ru » WoW » Mists of Pandaria




Страница 1 из 11
Модератор форума: Влад 
Форум » TrinityCore » Патчи » Мод
Мод
Dispeller Дата: Воскресенье, 26.08.2012, 21:21 | Сообщение # 1
Сержант
Сообщений: 59
Репутация: 1
Награды: 0
Суть мода:

Создается таблица, в которой хранится гуид, игрока ид морфа и размер (.mod scale) и, при входе игрока, данные берутся из этой таблицы.
Данные пока заносятся вручную.
Будьте осторожны со значениями.

Мод не тестил, ибо видуха сгорела.
Просьба протестить.
Подсоединяется к скрипт системе как обычный скрипт.

В планах:
Добавить дополнительных проверок, имплементировать вкл/выкл мода через конфиг, реализовать занесение данных в таблицу при использовании, собственно команд .mod morph и .mod scale.

При репосте куда либо, просьба указывать автора патча.
А то я смотрю на AC-WEB мои скрипты репостят от своего имени...

Собственно код с запросом в базу characters:

Code
#include "ScriptPCH.h"       

       /*       
       create table `character_morphs`(          
            `guid` int(10) UNSIGNED NOT NULL COMMENT 'Character guid' DEFAULT '0',          
            `morph` int(5) UNSIGNED NOT NULL COMMENT 'Character morph' DEFAULT '0',       
            `scale` float(2) UNSIGNED NOT NULL COMMENT 'Character scale' DEFAULT '1',       
            PRIMARY KEY (`guid`)       
          )  ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT 'Charaster morphs';       
          */       

       class morphing_on_login : public PlayerScript       
       {       
       public:       
             morphing_on_login() : PlayerScript("morphing_on_login") {}       

             void OnLogin(Player* player)       
             {       
                 int64 pguid = player->GetGUID();       
                 QueryResult morph = CharacterDatabase.PQuery("SELECT morph from character_morphs WHERE guid = '%u'", pguid);       
                 QueryResult scale = CharacterDatabase.PQuery("SELECT scale from character_morphs WHERE guid = '%u'", pguid);       

                     if (morph)       
                         player->SetDisplayId(morph->Fetch()->GetUInt32());       

                     if (scale)       
                         player->SetFloatValue(OBJECT_FIELD_SCALE_X, scale->Fetch()->GetFloat());       
             }       
       };       

       void AddSC_morphing_on_login()       
       {       
             new morphing_on_login();       
       }

 
Форум » TrinityCore » Патчи » Мод
Страница 1 из 11
Поиск: