Search the Community

Showing results for tags 'WotLK'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Important
    • Announcements
    • Getting Started
  • Modding
    • Modeling
    • Level Design
    • Interface
    • Serverside
    • Noggit
    • Miscellaneous
    • Retro-Porting
    • Useful Services
  • Projects
    • Recruitment
    • Paid Work
    • Showcase
    • Machinima
  • Community
    • General
    • Random
    • Gallery
    • Releases
    • The Graveyard


  • Tools
    • Uncategorized
    • Map Editing
    • Model Editing
    • DBC & DB2 Editing
    • Serverside
    • CASC & MPQ
  • Resources
    • Graphics
    • Uncategorized
    • Models
    • Maps
    • Client Patches
  • 010 Editor Scripts and Templates


  • Projects
  • Machinima
  • Software Development


  • Beginner
    • Русский
    • Deutsch
  • Modeling
    • Česky
    • Français
  • Level Design
  • Interface
  • Serverside
  • Miscellaneous
    • Česky
    • Français
  • Retro-Porting
  • Machinima


  • Tutorials
  • Timelapse
  • Miscellaneous

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start






Found 79 results

  1. New 52809 spells fully implemented their visualization nonexistent mechanics replaced by similar The whole process took a little more than 100-110 hours Download:
  2. Sharing this here as well (copy/paste from Modcraft) Hi guys! Took me some time to post this because I couldn't find any fan for my laptop.... But I did some days ago so... Here you go! As I said before, I acknowledge this is not much. But I just wanna play my part in Modcraft as best as I can even if it doesn't mean a lot. First you will need the tables and rows which the script uses : SQL File Then the Creature Script : StockExchange.cpp /* 1.0.0 StockExchange NPC Script Description ----------- The script uses data from DB to define 5 different stocks (Name, Worth (in gold coins), Scale (scale of the stock's variations), OwnedRatio(so that players can't acquire more than its worth)). Players can buy and sell shares of those stocks, provided they have bought a licence first. Thanks to Rochet2 for the nice menu look and for helping me clean this script up! */ #include "ScriptPCH.h" #include "Config.h" #include "ScriptedCreature.h" #include "Language.h" #include "time.h" #define STOCKNUMBER 5 #define GOLDTOCOPPER 10000 namespace { class CS_StockExchange : public CreatureScript { public: CS_StockExchange() : CreatureScript("Creature_StockExchange") { } uint32 stock = 0; void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid) override { } bool OnGossipHello(Player* plr, Creature* creature) override //MAIN MENU { //StockUpdate every 2 minutes QueryResult result = WorldDatabase.PQuery("SELECT `UpdateTime` FROM `stocks` WHERE iD = 0"); if (!result) return false; Field* field = result->Fetch(); uint32 stockPrevTime = field[0].GetUInt32(); uint32 realCurrTime = getMSTime(); uint32 stockDiff = getMSTimeDiff(stockPrevTime, realCurrTime); if (stockDiff >= 120000) { uint32 timeMult; timeMult = stockDiff / 120000; if (StockUpdate(timeMult)) TC_LOG_INFO("server.worldserver", "Stocks have been updated (%u)", realCurrTime); else { TC_LOG_INFO("server.worldserver", "Error while updating stocks..."); } stockPrevTime = realCurrTime; WorldDatabase.PExecute("UPDATE `stocks` SET `UpdateTime` = %u WHERE `iD` = 0", getMSTime()); } WorldSession* session = plr->GetSession(); QueryResult licencetest = CharacterDatabase.PQuery("SELECT `1`, `2`, `3`, `4`, `5` FROM `character_stockdata` WHERE iD = %u", plr->GetGUIDLow()); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Scroll_08:30:30:-18:0|tWhat are the current exchange rates?", GOSSIP_SENDER_MAIN, 2); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Book_11:30:30:-18:0|tHow many unsold shares are there left?", GOSSIP_SENDER_MAIN, 1); if (!licencetest) { plr->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_MISC_NOTE_02:30:30:-18:0|tI'd like to acquire a trade licence.", GOSSIP_SENDER_MAIN, 12, "This will cost you", 400000, false); } else //Player can invest if he has a licence { plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Coin_02:30:30:-18:0|tI'd like to manage my portfolio.", GOSSIP_SENDER_MAIN, 3); } plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tIt was a pleasure to make business with you.", GOSSIP_SENDER_MAIN, 4); plr->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); return true; } bool OnGossipSelect(Player* plr, Creature* creature, uint32 sender, uint32 uiAction) override { int32 amount = 0; plr->PlayerTalkClass->ClearMenus(); WorldSession* session = plr->GetSession(); std::ostringstream message; float ownedratio[5]; int worth[5]; for (int iter = 1; iter < 6; iter++) { QueryResult result = WorldDatabase.PQuery("SELECT `OwnedRatio`,`Worth` FROM `stocks` WHERE iD = %u", iter); if (!result) return false; Field* field = result->Fetch(); ownedratio[iter-1]= field[0].GetFloat(); worth[iter-1] = field[1].GetInt32(); } switch (uiAction) { case 1: //REMAINING SHARES message << "REMAINING SHARES (in gold coins)$BRavenholdt Manor : " << worth[0] * (1 - ownedratio[0]) << "$BBloodsail : " << worth[1] * (1 - ownedratio[1]) << "$BSteamwheedle Cartel : " << worth[2] * (1 - ownedratio[2]) << "$BTheramore Silk Traders : " << worth[3] * (1 - ownedratio[3]) << "$BEldoar'norore : " << worth[4] * (1 - ownedratio[4]); creature->Whisper(message.str(), LANG_UNIVERSAL, plr); plr->PlayerTalkClass->SendCloseGossip(); OnGossipHello(plr, creature); break; case 2: //CURRENT EXCHANGE RATES message << "CURRENT EXCHANGE RATES (in gold coins)$BRavenholdt Manor : " << worth[0] << "$BBloodsail : " << worth[1] << "$BSteamwheedle Cartel : " << worth[2] << "$BTheramore Silk Traders : " << worth[3] << "$BEldoar'norore : " << worth[4]; creature->Whisper(message.str(), LANG_UNIVERSAL, plr); plr->PlayerTalkClass->SendCloseGossip(); OnGossipHello(plr, creature); break; case 3: //MANAGE PORTFOLIO MENU (5-10) plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Helmet_30:30:30:-18:0|tRavenholdt Manor", GOSSIP_SENDER_MAIN, 5); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Helmet_66:30:30:-18:0|tBloodsail", GOSSIP_SENDER_MAIN, 6); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Bomb_03:30:30:-18:0|tSteamwheedle Cartel", GOSSIP_SENDER_MAIN, 7); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Chest_Cloth_56:30:30:-18:0|tTheramore Silk Traders", GOSSIP_SENDER_MAIN, 8); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_FireDancer_01:30:30:-18:0|tEldoar'norore", GOSSIP_SENDER_MAIN, 9); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tBack", GOSSIP_SENDER_MAIN, 10); plr->SEND_GOSSIP_MENU(50002, creature->GetGUID()); break; case 4: //CLOSE GOSSIP plr->PlayerTalkClass->SendCloseGossip(); break; case 5: //MANAGE RAVENHOLDT STOCK stock = 1; plr->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Letter_03:30:30:-18:0|tBuy shares", stock, 0, "How much gold would you like to invest?", 0, true); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Coin_16:30:30:-18:0|tSell all shares", stock, 11); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tBack...", GOSSIP_SENDER_MAIN, 3); plr->SEND_GOSSIP_MENU(50002, creature->GetGUID()); return true; break; case 6: //MANAGE BLOODSAIL STOCK stock = 2; plr->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Letter_03:30:30:-18:0|tBuy shares", stock, 0, "How much gold would you like to invest?", 0, true); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Coin_16:30:30:-18:0|tSell all shares", stock, 11); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tBack...", GOSSIP_SENDER_MAIN, 3); plr->SEND_GOSSIP_MENU(50002, creature->GetGUID()); break; case 7: //MANAGE GOBLIN STOCK stock = 3; plr->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Letter_03:30:30:-18:0|tBuy shares", stock, 0, "How much gold would you like to invest?", 0, true); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Coin_16:30:30:-18:0|tSell all shares", stock, 11); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tBack...", GOSSIP_SENDER_MAIN, 3); plr->SEND_GOSSIP_MENU(50002, creature->GetGUID()); break; case 8: //MANAGE SILKTRADERS STOCK stock = 4; plr->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Letter_03:30:30:-18:0|tBuy shares", stock, 0, "How much gold would you like to invest?", 0, true); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Coin_16:30:30:-18:0|tSell all shares", stock, 11); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tBack...", GOSSIP_SENDER_MAIN, 3); plr->SEND_GOSSIP_MENU(50002, creature->GetGUID()); break; case 9: //MANAGE ELDOAR'NORORE STOCK stock = 5; plr->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Letter_03:30:30:-18:0|tBuy shares", stock, 0, "How much gold would you like to invest?", 0, true); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/INV_Misc_Coin_16:30:30:-18:0|tSell all shares", stock, 11); plr->ADD_GOSSIP_ITEM(GOSSIP_ICON_MONEY_BAG, "|TInterface/ICONS/Ability_Spy:30:30:-18:0|tBack...", GOSSIP_SENDER_MAIN, 3); plr->SEND_GOSSIP_MENU(50002, creature->GetGUID()); return true; break; case 11: //TRANSACTION = SELL if (!SellStock(plr, stock, creature)) plr->GetSession()->SendNotification("Error while selling shares... Please contact the administrator."); else { } plr->PlayerTalkClass->SendCloseGossip(); OnGossipHello(plr, creature); break; case 12: //CREATE PLAYER LICENCE ( = ROW IN CHARACTER_STOCKDATA ) if (plr->GetMoney() >= 40*GOLDTOCOPPER) { if (CreateLicence(plr)) { amount = 40*GOLDTOCOPPER; plr->ModifyMoney(-amount); message << "Your licence has been acquired successfully, " << plr->GetName() << "!"; creature->Say(message.str(), LANG_UNIVERSAL, plr); } else plr->GetSession()->SendNotification("Error while registering your licence. Please contact the administrator."); } else { message << "I am afraid you do not have these 40 gold coins, " << plr->GetName() << "..."; creature->Say(message.str().c_str(), LANG_UNIVERSAL, plr); } plr->PlayerTalkClass->SendCloseGossip(); OnGossipHello(plr, creature); break; default: OnGossipHello(plr, creature); break; } return true; } bool OnGossipSelectCode(Player* plr, Creature* creature, uint32 stock, uint32 uiAction, const char* code) override { plr->PlayerTalkClass->ClearMenus(); std::ostringstream message; int32 amount = 0; std::string investment = code; static const char* allowedcharacters = "1234567890"; if (!investment.length() || investment.find_first_not_of(allowedcharacters) != std::string::npos) //If investment was specified incorrectly { plr->GetSession()->SendNotification("Your investment bust be declared using figures.(0123456789)"); } else //If investment was specified properly { //Statements uint32 investmentI = uint32(atol(code)); if (investmentI*GOLDTOCOPPER <= plr->GetMoney()) { QueryResult result1 = WorldDatabase.PQuery("SELECT `OwnedRatio`,`Worth` FROM `stocks` WHERE iD = %u", stock); if (!result1) return false; Field* field = result1->Fetch(); float ownedratio = field[0].GetFloat(); int worth = field[1].GetInt32(); QueryResult result2 = CharacterDatabase.PQuery("SELECT `%u` FROM `character_stockdata` WHERE iD = %u", stock, plr->GetGUIDLow()); if (!result2) return false; field = result2->Fetch(); float initialratio = field[0].GetFloat(); float ratio = static_cast<float>(investmentI) / worth; if (ratio <= (1-ownedratio)) //If enough stocks left { int amount = investmentI*GOLDTOCOPPER; plr->ModifyMoney(-amount); // substract it from player money CharacterDatabase.PExecute("UPDATE `character_stockdata` SET `%u` = %f WHERE `iD` = %u", stock, initialratio + ratio, plr->GetGUIDLow()); WorldDatabase.PExecute("UPDATE `stocks` SET `OwnedRatio` = %f WHERE `iD` = %u", ownedratio + ratio, stock); } else { plr->GetSession()->SendNotification("There are not so many shares for you to acquire, check the remaining shares before trying to invest."); } } else { message << "You do not have so much money, " << plr->GetName() << "."; creature->Say(message.str().c_str(), LANG_UNIVERSAL, plr); } } plr->PlayerTalkClass->SendCloseGossip(); OnGossipHello(plr, creature); return true; } private : bool SendMoneyByMail(ObjectGuid player, uint64 money, int32 stock) { MailSender sender(MAIL_CREATURE, 50038, MAIL_STATIONERY_DEFAULT); std::string stockName; switch (stock) { case 1: stockName = "Ravenholdt Manor"; break; case 2: stockName = "Bloodsail"; break; case 3: stockName = "Steamwheedle Cartel"; break; case 4: stockName = "Theramore Silk Traders"; break; case 5: stockName = "Eldoar'norore"; break; default: return false; } std::ostringstream text; text << "You have requested the General Exchange Hall to sell your shares of the " << stockName << " stock. This has yielded some " << money/GOLDTOCOPPER << " gold coins from which I have deducted " << money/10/GOLDTOCOPPER << " in the sake of various sale and accountancy costs. Enclosed to this letter are " << 9* money/10/GOLDTOCOPPER << " gold coins which come down to you."; MailDraft draft("Share Sale", text.str().c_str()); draft.AddMoney(money * 9 / 10); SQLTransaction letter = CharacterDatabase.BeginTransaction(); draft.SendMailTo(letter, MailReceiver(NULL, player.GetCounter()), sender); CharacterDatabase.CommitTransaction(letter); return true; } bool SellStock(Player* plr, int32 stock, Creature* creature) /*SELL ALL THE SHARES OF THE SPECIFIED STOCK */ { QueryResult result2 = WorldDatabase.PQuery("SELECT `OwnedRatio`,`Worth` FROM `stocks` WHERE iD = %u", stock); if (!result2) return false; QueryResult result1 = CharacterDatabase.PQuery("SELECT `1`, `2`, `3`, `4`, `5` FROM `character_stockdata` WHERE iD = %u", plr->GetGUIDLow()); if (!result1) return false; Field* field = result1->Fetch(); float ratio = field[stock - 1].GetFloat(); if (ratio == 0) { plr->GetSession()->SendNotification("You don't own any share of this stock..."); } else //ONLY IF PLAYER OWNS SOMETHING { Field* field = result2->Fetch(); float newownedratio = field[0].GetFloat()-ratio; int worth = field[1].GetInt32(); if (!SendMoneyByMail(plr->GetGUID(), worth*GOLDTOCOPPER*ratio, stock)) return false; std::ostringstream text; text << "I shall make the arragement for the sale, " << plr->GetName() << ", you will receive your money by mail soon enough."; creature->Say(text.str().c_str(), LANG_UNIVERSAL); CharacterDatabase.PExecute("UPDATE `character_stockdata` SET `%u` = 0 WHERE `iD` = %u", stock, plr->GetGUIDLow()); WorldDatabase.PExecute("UPDATE `stocks` SET `OwnedRatio` = %f WHERE `iD` = %u", newownedratio, stock); } return true; } bool CreateLicence(Player* plr) { SQLTransaction trans = CharacterDatabase.BeginTransaction(); trans->PAppend("REPLACE INTO `character_stockdata` (`iD`, `1`, `2`, `3`, `4`, `5`) VALUES (%u, 0, 0, 0, 0, 0)", plr->GetGUIDLow()); CharacterDatabase.CommitTransaction(trans); return true; } bool StockUpdate(int timeMult) { int32 stockWorth[STOCKNUMBER], newStockWorth[STOCKNUMBER]; int32 stockScale[STOCKNUMBER]; float stockOwnedRatio[STOCKNUMBER]; srand(time(NULL)); // Load stock values from DB for (int itr = 0; itr < STOCKNUMBER; itr++) { QueryResult result = WorldDatabase.PQuery("SELECT `Scale`,`OwnedRatio`,`Worth` FROM `stocks` WHERE iD = %u", itr + 1); if (!result) return false; Field* field = result->Fetch(); stockScale[itr] = field[0].GetInt32(); stockOwnedRatio[itr] = field[1].GetFloat(); stockWorth[itr] = field[2].GetInt32(); } // Dicethrows and Upload values to DB for (int itr = 0; itr < STOCKNUMBER; itr++) { char sign; if (stockWorth[itr] + stockScale[itr]*timeMult > 200000) //Don't go over 200.000 gold coins sign = -1; else if (stockWorth[itr] - stockScale[itr]*timeMult < 0) //Nor below 0 sign = 1; else { int dice = (rand() % 101) + floor(10 * stockOwnedRatio[itr]) - 55; sign = dice / abs(dice); } newStockWorth[itr] = stockWorth[itr] + sign*stockScale[itr]*timeMult; WorldDatabase.PExecute("UPDATE `stocks` SET `worth` = %u WHERE `iD` = %u", newStockWorth[itr], itr + 1); } return true; } }; } void AddSC_Stock() { new CS_StockExchange(); } I know this code ain't perfect but I'm still open for suggestions and critics. Have a nice day.
  3. Version


    ADTConverter Convert your ADTs from Wotlk(3.3.5) to WoD(6.x.x)/Legion(7.x.x) Requirements The converter requires NET Framework 4.0 How to use Put your Wotlk ADTs in the data Folder Start the ConvertADTs.cmd Issues Please post your Issues here Thanks PTNGee for the "PTNG_ADT_Converter"
  4. Version 11


    There was a report about this supposedly containing malware, though my PC is clean, the pack is clean, and the reporting person's antimalware was behaving in a very odd and jumpy manner overall. Note that this pack contains couple of apps which are pretty much straight up hacks and many apps from "unknown publishers", there's also file downloading launcher and whatnot - it is susceptible material to being marked by antimalware. It should be clean. But it's up to you whether you trust me on that. As a rule of thumb, please, check README.txt file in any directory where such file is before using that part to ensure you know all the important info. Contents: AmarothTools AmarothsLauncherRelease - a fairly primitive launcher based on reading config files and downloading/uploading changelog, patches and addons from FTP. AmarothsToolkit - old version of my toolkit, later I decided to split the project into the following tools. ClientItem - a pair of tools fo syncing item_template <-> Item.dbc. GobGenerator - generates gobjects in gameobject_template out of models provided in GameObjectDisplayInfo.dbc ListfileCreation - do not use unless you know what are you doing. NPCGenerator - for Creature displayID WMV > DBC > DB pipeline. WMOListFile - for obtaining a full list of files used by ADTs, M2/MDX and WMO in the folders under this. Note that its code sucks and is not 100% perfect. CASC CascView - 32 and 64bit versions of CascView, required for obtaining Blizzard files for conversion into WotLK. Listfile - listfiles for extracting files with CascView. DBC LightMapper - can be used for a great visualisation of lights on a map. WoWSpellEditor_1.8.8 - haven't gotten to actually testing this tool yet, but definitely worth sharing. WDBX Editor - for DBC editing, DBC <-> CSV conversions etc. EnGBBlizzlikeDBCs - just blizzlike DBCs, can be useful as a backup. Map AdtAdder - a small tool for mass copy-pasting ADT for inicial filling of a new map/newly expanded map, don't forget to run offsetfix afterwards as well. ADTGrids - some helpers you can use, reflecting basic grids on ADTs. FuTa - a tool for importing and exporting alpha maps (painting textures on ADTs with Photoshop). GroundEffects - tools for applying, removing or changing ground effects on ADT. GruulMeWDT - my preferred way of editing (editing, not creating!) WDT files. NoggitQt_3_2771 - an up to date test version of map editor. NoggitSDL_3_1408 - this is old SDL version of Noggit. It is non-public release, newer than SDL 1.4, fairly stable, may be able to open something Qt cannot. Rius Zone Masher - I do not really remember why I have not ever been using this tool for creation of new maps - I just know I have not been using this tool :D. Sharing it regardless. Models anim porter - I do not even remember what this is for, do not know wthere it is up to date, nor whether it is still useful at all. M2ModRedux 4.6.1 - same like anim porter. MDLVIS 1.40 - same like anim porter. MDX - same like anim porter. MultiConverter_3.3.0 - Officially Legion > WotLK converter, but seems to do alright with BFA as well. Scripts - a mix of random stuff, same like anim porter. OBJtoM2 could be useful if you for any reasons cannot use WoW Blender Studio. Leaving it here for the time being. WoW Blender Studio - still under development, but should make all the other stuff in Models section outdated and redundant. MPQ FuckItUp.exe - removes (listfile) from MPQ, making files more difficult to extract, and thus edit or steal. MPQEditor.exe - v3.2.0.535 is a very old version, but I found it to be very reliable. I had issues with up to date versions, and rather reverted back instead of risking having files corrupted. Other 010 - scripts and templates for 010 Editor. Mordred_LoginScreen - what I have used to make my own custom login screens. PuTTy_0.73 - for managing the server WMT335a - camera hack, light testing. WMV - couple of versions of WoW Model Viewer. HxDsetup.exe - HxD can be used as an alternative hex editor, unlikely to be useful to any 010 Editor owner. xyz-hack.exe - useful for precise gobject spawning. This is a hack, please, do not abuse. Textures BLPConverterGUI - enables mass PNG <-> BLP converting. BLPPhotoshopPlugin_1.0 - Photoshop BLP file support. README.txt - version, release date, links… Wow.exe - removed MD5 check, enabling UI edits within patches etc. Share this with your players, especially if you want to customize anything in your UI, including the login screen. If you are following my english YT channel, this is a toolpack I will be using there. Overview video: My Eng YT channel HERE
  5. Hello guys! Im looking some guy which know work in 010Editor and he will be so kind to make some Tutorial HOW TO -> fix creatures from Cata/Wotlk/Legion.............. I mean fix Flying (Swinging wings) Just simply change this swiming animation to flying animation. It would be really nice, because im looking for it for so long, can't find nowhere any clue & nobody can help me with this. So if it will be possible, please just left reply in here or contact me on: or im on discord as well : GoldenQo #5577 Thanks! Your GoldenQo
  6. Version 1.0.0


    I made this script to convert multiple models from Legion to Wrath of the Lich King or Warlords of Draenor. Requires 010 editor. The first script removes the unnecessary information before the M2 header and changes its version from 274 to 272 to make it work in WoD. The second one does the same but also runs Philip's converter on the M2 files to make them work in Wotlk. How it works: -Put the models you want to covert inside the folder called "Models". -Run "Legion M2 to Wod/Wotlk.bat" and wait This script can also read all the subfolders inside "models" and convert every M2 inside of them. EXTERNAL LINK: Legion to Wotlk Legion to WoD To make this script work there must be an entry for 010 editor in environment variables (this allows windows to launch 010 editor through the cmd window, otherwise it won't work): -Right click on My computer -> properties -> advanced system settings -> environment variables -> Path -Click edit -Add your 010 editor directory to the list separated from the rest of the entries by a ";" (Example: ;C:\Program Files (x86)\010 Editor) (Detailed guide on this video)
  7. Version 1.02


    //UPDATE 19.11.2018 Now 8th Generation This version has - Removed MD5 / SIG - Allows Air Jumps at all time - You understand to every lang - /follow works simply on everysingle target no matter what target //Update News - Game version changed to 6.6.6 and build to (12345) bcuz i can but its still 335 dont worry - Druid on level 101+ get NO error when opening Base Stats - Every level 101+ can sit on barb Chair without Error - Does not Create CACHE file -Added LUA UNLOCKER you dont need to Manuly Unlock LUA functions via any 3rd party program this Exe has most of them unlocked by itself so far unlocked are (AcceptBattlefieldPort, SetCurrentTitle, UninviteUnit, ReloadUI, FocusUnit, ClearFocus, ... , InteractUnit, CastSpellByName, CastSpellByID, Movement functions ... , CancelLogout AttackTarget (error is still printed)) Attached list of Changes in my Exe vs Blizzards original binary wow.exe
  8. Version 3.0


    This mod adds bloodier combat effects to the game and includes some blood splats similar to those removed during the classic beta. Download: WotLK - Cata (Old version) V2.0: -Fixed crashes. V3.0: -Violence level is now always 2 and cannot be disabled or changed. -Added purple blood (id 5). IMPORTANT: to make it work correctly go to video settings and turn "projected textures" on. Also, set the "Particle Density" to High and set the Texture Filtering to High to avoid visual glitches. If you are using V2, make sure your violence level is set to 2. In-game, type: /console violenceLevel 2 Known bugs: -If you zoom in to first person view, you won't be able to see the blood splats from your character. -If a character morphs into another model, all the blood splats from that character will disappear. -The blood splats change color if your character changes color (curses, venom, etc.). -The blood splats scale changes if the scale of your character changes. -Blood effects do not show if you one-hit kill the target. It's hardcoded into the client and can't be changed as far as I know (happens with the default blood as well). -It's not possible to use this mod in MoP since the game cleans all blood splats each time your character is hit or dies. Note: The splats on the ground disappear after 45 seconds. You can change it by editing the particle lifespan in 010editor. If you think there are too many blood splats to the point they overlap or affects the performance, just change the default particle emissionrate (12) to 7 or less with 010editor. Blood color is set in CreatureModelData.dbc, column 6 (1 = red, 2 = green, 3 = black, 4 = blue, 5 = purple).
  9. Hi, I got the legion creature models from I think Laviathan. But I dont want the mounts, only the creatures. Is there a way to keep the old models for mounts but upgrade the creatures to the new ones? Thanks in advance. If someone can do the job I will be happy to pay I got paypal, or i can do bank transfer.
  10. Version 2.0


    All the patches will be done as non-encrypted soon! This file contains HD characters and NPC models and textures for WotLK. The archive contains 4 patches: patch-w.mpq contains: NPC models Animations BakedNPCTextures patch-x.mpq contains: Character models Animations patch-enUS-w.mpq and patch-enUS-x.mpq contain: DBCs If you have questions/requests feel free to ask it in the comments or by PM, I will answer it as soon as possible. P.S. The previous versions of files by @Roarl were deleted, because of the wrong and non-existed links. All thanks should be given to him.
  11. Version v1


    This script for 010editor converts Wrath of the Lich King .M2 and .SKIN files to Cataclysm, Mists of Pandaria and Warlords of Draenor. Supports: -Cameras. -Particles. -Animation flags. -Projected shadows. -Transparency flags. -Blend mode overrides. Also includes: -Batch file converter. -Shadow remover script. -Sequence flag remover script. -Skin template for 010editor with shadow batches added. DOWNLOAD Some notes and technical information: -make sure you are working on "OVR" mode before running the script. Projected shadows As you may know, projected shadows are stored inside the .skin file since Cataclysm. This script creates shadows for all texture units, including those with additive materials. If you want to remove the shadows from a specific geoset, just open the skin file with 010editor, run the skin template included inside the tools folder and delete the texture batch corresponing to that mesh. If you want to remove ALL shadows from a model, just use the "Cataclysm Shadow Remover" included in the tools folder (it's useful for stuff like fire or lights, that are not supposed to cast a shadow). As you can see, the glow, which is a billboarded square with addivite renderflag, is casting a shadow and the game can't handle shadows with additive materials. To remove it I selected its shadow batch, deleted it and reduced the shadow batch count by 1 in 010editor. More info in this video: Flying mount animations In WotLK, mounts use swimming animations for flying. Since Cataclysm, however, there are separate ids for swimming and flying since flying mounts can now be used as ground mounts and therefore swim. But, if a mount model doesn't have fly animations, the game will use its swimming animations. That's why this script doesn't duplicate them. It's not necessary. WotLK flying mounts should still work perfectly in Cata, MoP and WoD. Reflections This script doesn't convert reflections since there is no exact way to know when a texture unit is used for a reflection, glow, etc. So you must do it by hand. Just open your skin file, convert it to Cata+, go to the texunit with the reflection and change its shader to "144". Here is an example using "Creature\Murloc\": You can change the "texunit" and "texunit2" fields to "0" but it's optional since those fields are unused since Cataclysm, but just in case. Animation sequence flags Sequence flags are 128 digits bigger since Cataclysm. Without these flags some animation frames loop when they shouldn't and sequences don't blend correctly. This script fixes that problem and gives smoothness to the animations. If you want to remove the extra flags for some reason, just run the "Cataclysm Sequence Flag Remover" script included in the tools folder
  12. Version 0.0.1


    Alpha Pack Download Link : Includes : Patch-C : Creature & Textures Patch-I : Item Cata-Mop-WoD Patch-L : Item Legion 7.0.1 > 7.1.5 (Not Fully Added in dbc) Patch-W : Buildings Patch-H : HD Pack (HD Pack Required For 3D Belt) Credits to Thrind Server Side : DBC Server Side : Item_Template SQL -- Update 1 : Added : Spell.dbc (enGB, frFR, enUS) Added : SqlScript.sql Added : Patch-enGB-4.MPQ (Spell for enGB client) Added : Patch-enUS-4.MPQ (Spell for enUS client) Added : CoreScript - Transmog Script for 3D Belt - SpellGeneric.cpp Added : Readme. -- Update 2 : Added Sql for Legion Artifact Weapons PS : Looking for extra hands to work with me on this project. -- Update 3 update Patch-enGB-4/Patch-frFR-4/Patch-EnUS-4 Updated Spell.dbc brings 314 New Compagnon list here : -- Update 4 Patch-W Should no more cause the game to have green texture in some place of azeroth. Say Thanks also help me continue the project ! The Goal : I'm aiming to help every new and old server to get a decent content. Patches won't be encrypted. A Community Top Site will be launched. A Community Launcher is in preparation (in c#) A Community DBC Files Checker is in preparation (so we see if your server is compatible) the idea is that all server / player use this client as a base. and server would only make download their custom maps if they have one. Join the retrolution :
  13. I've spent the past few weeks working on a tool that makes editing LightIntBand.dbc so much easier. You can get it here, along with instructions: And you can get the source here:
  14. Version 1.01


    There are generic .dbc editors available, but they are absolutely not geared towards being good for editing specific .dbc files, the first one I came across being LightIntBand.dbc. So I decided to make a program that is much easier to use, intuitive, and gives you an idea of what your changes will look like. Made with Delphi community edition. Should work on XP, will definitely work on Windows 7, 8, 8.1, and 10. Github repository: It's very simple to use. Here are the steps: 1. Much of the interface is disabled when first run. To enable it, click on File -> Load... -> Select LightIntBand.dbc 2. Now the interface will appear, after freezing for a couple seconds. That's normal, the tree list of all the records just takes a short while to be populated due to all the records present. 2a. If you want to add new records, make sure the tree list is selected, and press the insert key. 2b. If you want to remove records, make sure a node is selected, and press the delete key. 3. Select a record from the list. There is a text box above it where you can enter an ID to go straight to that record. 4. The two text boxes above the 16 GUI entries on the right show the ID of the currently selected record, and the number of entries that will be processed by the client. 5. To change the number of entries that will be processed, click on the text box to the right with the drop-down arrow, and pick a number from the list. 6. To keep your changes, click on the Apply button. Note: This does not save the changes to the file. 7. To save the changes to a file, click on File -> Save... -> Save as LightIntBand.dbc -- There shouldn't be any bugs, as I've tested extensively. If any appear, please report them with as much detail as possible.
  15. Hey guys, i was wondering if this swap was possible and if anyone could give me a heads up on how to if it's possible. Cheers and thanks
  16. Hi! I´ve never had to do with game modding but the work of Finsternis and Uthil has given me something and i´m learning! So what am i trying to do? As the title says, i`m backporting weapons from BFA/Legion to Wotlk more or less successfully. What steps have i reached until now? 1. extracted .m2, .blp, .skin files, particle textures (found in the m2. file with 010 editor) from WOW data successfully 2. converted the .m2 file with aspartans m2 converter 3. (VARIANT 1) changed the names of the new .m2, .blp and .skin files to names of an old Weapon i found in itemdisplay.dbc. So an an old weapon was overwritten with the new weapon 4. packed everything in a custom mpq patch and added that patch to 3.3.5a data folder. 5. I use dmorph for wotlk ( ) to display the Weapons on my character 6. Its working without any problems! So whats the matter? I dont wanna overwrite old Items with the new ones - (VARIANT 2) I want to add the new Weapons to the game without overwriting any items. So i extraced the item.dbc and itemdisplayinfo, added new ItemID`s, added the new Weapons with their original Names (also changed the m2, blp and skin files in my patch to that) and packed that in the patch. So everything works again, EXCEPT ONE THING: When the weapon is steathed on back or is held in hand its OK! But when i enter combat, its animated like my character fights unarmed. the Weapon is still shown on back and handheld but autoattacks are animated like unarmed "swings". Skill attacks, like Crusader Strike or Divine Storm animation use the Weapon as it should be, only autoattack animations are affected. So is there anything else to edit in the dbc files or anything else like that i have forgotten to do for Variant 2? M2 Files should be OK, because otherwise they won´t work in Variant 1 dbc files don´t contain swing animations as i know I Hope someone can help me, maybe then there´s gonna be a patch release one day with all Artifact weapons for wotlk Greetings Asystol EDIT: Renamed the title of that topic so ppl, who are looking for things like that (seen many forum entries searching for legion weapons and so on) have an easier way to find.
  17. Greetings To kick things off i want to say that ill be selling my work here that is locked behind paywall due to amount of time iv spend on it and I feel like i should get paid for it or the second case is that im selling work that someone commisioned me to do and if he paid some money for it im willing to sell it for exactly same amount to others as well unless the one who commision the work to me would say otherwise To buy the model click on PayPal button it will redirect you to CheckOut Site where you can buy the model after payment is done you will be redirected to Download site First item is Sylvanas Windrunner model from Heroes of the Storm ported to WoW This will be testing phase I will add other models later on when I get this system working correctly Price of this Commision was 40$= If you have any problems with buying stuff contanct me via PM or DM on my discord "A2#6767"
  18. Version 2


    Hello there little whelps, I used to use patch made by one guy from Ownedcore which included all M2s and WMOs existing in WoW turned into spawnable gameobjects. That means that you can simply search for model name in game and you will always find gob you can spawn. Its just great thing for gob spammers, I know, but problem is that patch from Ownedcore is just horrible in my opinion. It contains a LOT of completely unneeded objects and displayIDs and also is full of displayIDs with messed up bounding boxes (all copied from one blizzlike one), which leads into gobs lootable from 50yd distances an another funny results. So I made my own patch. Here is MPQ patch, DBC file and SQL dump (for TrinityCore2 revisions after WDBVerified column was renamed to VerifiedBuild). I tryed to make this completely noob-friendly so if you want to use this patch, you don't need to know anything about MPQ patches or DBC files, you just need to know the very basics of running TrinityCore2 server. READ README file. You will find how-to guide there. All gobs with custom displayIDs have [AmPatch] placed behind their postfixes and have entrys 410000 and higher. Their displayIDs are 10000 and higher, meaning that every gob has displayID=entry-400000. Good for searching for displayIDs. Version 1 - light pack This version contains all M2s and WMOs from World and Spell folders as spawnable gameobjects. Others were excluded, because majority of them just can't be used as gobs (they have no hardcoded textures for example - they are white completely ingame). Version 2 - full pack This pack contains really ALL M2s, even character, item, creature... And its needless to say that most of such things are completely useless as gobs. But someone still may preffer this version. If you want to create your own gob patch, you may use my tool I've released. It doesn't give you possibility to filter which gobs you can use, but it works. You will want to use this tool if you are retro-porting models or creating custom ones (in general, if you want to have gobs made of models which are not in blizzlike WotLK client).
  19. This is my collection of five animated login screens with custom music. A random screen will be chosen each time you launch WoW. DOWNLOAD Features Five animated login screens with music that are chosen at random. Dead King’s Crypt The Tauren Chieftains Battle at the Dark Portal Arcadia Algalon the Observer You can adjust how often a specific screen appears by editing the random value range. I currenly have Dead King’s Crypt loading 60% of the time because it’s my favorite. If you want one screen to show every time, just set the rand = X where X is a number in the range of the screen you want in x_vars_init. Trivia These were created manually because the Mordred tool wasn’t compatible with my other login screen modifications, and I wasn’t interested in trying to make it compatible at the time. For some reason, no matter what I did, the bassist in the Tauren Chieftains would not position correctly, so I added a crate to the scene to make it appear like he had his foot on it. \m/ ---------- - StygianCore - My WoW Projects - GitHub
  20. Welcome to this quick guide. ** DISCLAIMER ** This will NOT downport character models Since many of you have been PMing me desperately asking : "How do you downport this shit man??" Here you go. Enjoy. Tools needed: CascExplorer Adspartan's Multiconverter BfA Listfile (put this in your CascExplorer folder) Thanks to Wungasaurus for the correct listfile ------------------------------------------------------- Enjoy your new models, homeboy
  21. Version 1.0.0


    Hiya, Today I would like to share with you my mount patch containing at this point 45 mounts going from Cata to Legion retro-ported to Wrath of the lich king. I work on this patch from time to time so be sure to keep an eye out for newer versions. Happy Modding. Poisonleaf
  22. Hello everyone! I have recently started importing buildings from newer expansions to wotlk and I have had some success however there are still some textures missing and I have no idea where to find them ? I'm going to show you some pictures of object's textures that I can't find. These green flames should not be here and with my knowledge green texture like these means that there's just something missing ? Here is another picture: As you can see in this picture, it looks like my mom's cooking ( I'm kidding. My mom's cooking is amazing ) and i do not want this ewwww texture! ? So Here comes my question and I guess you already knew what I was going to ask... Where can i find these missing textures? Now before you say: "Lol why don't you search for it at its expansion folder blah blah" "Did you get all the textures from dungeons and textures etc..." Because I almost added everything in my custom patches ( I didn't add everything ) I have all Cata, Panda, Wod and legion objects given by our mighty saviour @Poisonleaf ( I salute you, sir or Ma'am ) And you are probably thinking "wow you must be noob if you can't find it" Well I'm glad we all know I'm noob now soooo... Can anyone assist me in finding these missing textures. Thank you for your time and your patience to read this! Happy Modding ? L.
  23. Trinity Item Creator [3.3.5] (Open source)What this application can do Save item as *.sql Copy query to clipboard Import to database Save/Load custom templates Load premade templates DisplayID finder Stats generator Reset all fields Make item.dbc What can you do?Help us maintain the application with latest trinitycore database structure and keep features functional by reporting any issue or request on our github issue tracker [here]. Available LinksOpen source repositoryLatest downloadable version Thanks Sdyees, Freddan962 for contribution
  24. We're a custom progressive realm from Vanilla to Wotlk running TrinityCore 3.3.5. We offer features like Classless, Highrisk, Stat Allocation, Random Enchants, Customizable Racials, Free for All PvP. Here you can see our UI and that the systems are functional! We were originally a Guild on Project Ascension but displeased with the management we decided to create our own server and as you might have guessed that's where most of our inspiration came from. We've tweaked a lot of features, added new ones and made a lot of balance changes. Our servers are not open to players yet but we have about 650ish people in our Discord so there is some proof of interest! If you want more information about us feel free to read through the Information Channels in our Discord! We're currently looking for Developers with experience in C++ and TrinityCore, please contact Xecc or Hermes if you're interested / have any questions!
  25. nvm, i figured out a solution