Transmogrification display vendor

This script allows transmogrification, but the displays are provided in a vendor UI.

All the item displays from database are in the vendor so you can freely choose.

Download: https://github.com/Rochet2/TrinityCore/tree/transmogvendor/src/server/scripts/Custom/TransmogDisplayVendor

http://youtu.be/PIheEziN_dY

Code: Rochet2

Ideas: LilleCarl

Epic! 1 question. how do we add this to the core :'3?

Use git bash

git apply TransmogDisplayVendor.diff

Is this a vendor you pay to change the models of your gear, like from a list?

You can set a price, yes.

And yeah, all models matching your equipped item are showed.

going to try this out for the lolz, when i compile i get this, its a warning so not an error so it compiles but still

[ 16%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Custom/TransmogDisplayVendor.cpp.o
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp: In function ‘char* getQualityName(uint32)’:
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:100:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:101:38: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:102:40: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:103:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:104:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:105:41: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:106:40: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:107:40: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
/home/trinity/TrinityCore/src/server/scripts/Custom/TransmogDisplayVendor.cpp:108:21: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

tried this script but sorry when i interact with the npc i only get a box saying Hi, an nothing more…

Ah yes, what is the scriptname on the NPC?

Check it from the script itself.

Linux is a lot more stricter.

scriptname on the creature is = NPC_Transmogrify

Hmm, I said to check it from the script, but anyways, change it to NPC_TransmogDisplayVendor.

I forgot to change it in the SQL.

yeah allready changed it, tought that you wanted to know what stood in the database, it was a communication error /emoticons/default_tongue.png

Hehee, laughing alone at home /emoticons/default_tongue.png

Just watched a math movie and this logic/communication failure was just that hilarious.

Rochet2

got it working, i can select npc and then i can select for example my main weapon and such.

then i click on the rare or uncommon but then gossip box closes.

i stops for me before i can select any weapon basically to transmogrify…( do i spell that correct, damn what a word /emoticons/default_tongue.png )

i must say that i changed the config…

#define TRANSMOGRIFICATION_ALREADY_INSTALLED 0 // 1 = true, 0 = false

enum TransmogDisplayVendorSenders
{
SENDER_START = MAX_ITEM_QUALITY,
SENDER_BACK,
SENDER_SELECT_VENDOR,
SENDER_REMOVE_ALL,
SENDER_REMOVE_ONE,
SENDER_REMOVE_MENU,
SENDER_END,
};

class TransmogDisplayVendorMgr
{
public:
static const bool RequireGold = false;
static const bool RequireToken = true;
static const uint32 TokenEntry = 100005;
static const uint32 TokenAmount = 1;

static const bool AllowPoor = false;
static const bool AllowCommon = false;
static const bool AllowUncommon = true;
static const bool AllowRare = true;
static const bool AllowEpic = true;
static const bool AllowLegendary = false;
static const bool AllowArtifact = false;
static const bool AllowHeirloom = false;

and it seems that it works, and yes the itemID of the token, i have 20 of them in my bag…

so for me i have no clue how i get this working further…
do i mis something?

Hmm.

Can you tell what is your item you have equipped?

See console for errors (dunno how it is on linux …)

When clicking the quality the code should send you the menu… and the gossip menu is only closed after checking the amount of items and so on…

Nowhere in the code it should close the menu, unless it shows the vendor window… hmm.

And since the checks run, the items and all should be there …

i have Warblade of the Hakkari equipped… but also with some chest i got the same problem.

in the logs i didnt found anything related to a problem with transmog /emoticons/default_tongue.png ( not going to write the whole name… darn /emoticons/default_tongue.png )

to make my problem more clear i have again watched your vid and where it goes wrong is at this point

when you click on rare the gossip closes.

gr.

Thanks Rochet /emoticons/default_smile.png

Hmm will try checking that tomorrow when I can if I can …

I havent tested it for myself, but from the video its the best looking transmogrifying mod for tc I have saw. /emoticons/default_tongue.png

p.s. also looks great for rp realms.

What D: i cant even get it to freeking work maha XD

Try helping us in helping you… like what part does not work. Implementation, procedure, some sort of compile error, bla bla bla. /emoticons/default_wink.png

Ahh, vendor flags …

The NPC was so incomplete I didnt even realize …

Meh.

Updated diff to contain the changes, but there was really nothing else than the NPC sql and changed char* to const char*.