• Content count

  • Joined

  • Last visited

Community Reputation

8 Neutral

About bfx

  • Rank

Personal Information

  • Specialty Serverside
    Software Development

Recent Profile Visitors

1,037 profile views
  1. too many races wtf?!

    Client Make sure that MAX_RACES in charactercreate.lua is set to the correct value IE 12 for your case. Server Update MAX_RACES in shareddefines.h to +1 of the required value for two more custom races it would be set to 13 not 12.
  2. Making a city

    Amaroth is referring to the table points of interest in the world database.   -- To be added in the world database, the 1st value you need to remember as you will be referencing it later in the c++ script -- DELETE FROM `points_of_interest` WHERE `ID` = 465; INSERT INTO `points_of_interest` (`ID`, `PositionX`, `PositionY`, `Icon`, `Flags`, `Name`) VALUES ('465', '23222323', '323232', '7', '99', 'Npc location'); I don't use SmartAI so i can't write the query for you since I'm not familiar with it, however the c++ version can be found below.   #include "ScriptMgr.h" #include "ScriptedGossip.h" enum POI { LOCATION_ONE = 465, // The id registered in points_of_interest table in the world database }; // Point of interest guard script class npc_guard_poi : public CreatureScript { public: npc_guard_poi() : CreatureScript("npc_guard_poi") { } bool OnGossipHello(Player* player, Creature* creature) override { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "Locations", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Goodbye..", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 99); player->SEND_GOSSIP_MENU(100, creature->GetGUID()); return true; } bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { player->PlayerTalkClass->ClearMenus(); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: player->PlayerTalkClass->SendPointOfInterest(LOCATION_ONE); player->SEND_GOSSIP_MENU(100, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 99: player->CLOSE_GOSSIP_MENU(); break; } return true; } }; void AddSC_npc_custom_guards() { new npc_guard_poi(); }  
  3. Making a city

    For guards point of interest (markers on map) If you're using the Eluna lua engine you can do it with Lua Here's a working example i wrote which you can use. -- Guards POI -- local NPC_GUARD = 90351 -- Change this to your NPC id. local Guard = {} function Guard.OnGossipHello(event, player, creature) player:GossipClearMenu() player:GossipMenuAddItem(0, "Locations", 0, 1) player:GossipSendMenu(100, creature, menu_id) end function Guard.OnGossipSelect(event, player, creature, sender, id, code) if (id == 1) then player:GossipClearMenu() player:GossipMenuAddItem(0, "Location One", 0, 2) player:GossipMenuAddItem(0, "Location Two", 0, 3) player:GossipSendMenu(100, creature, menu_id) end if (id == 2) then player:GossipSendPOI(2238, 2995, 7, 75, 0, "Npc or location one") -- X,Y,icon,flags,data player:GossipSendMenu(100, creature, menu_id) end if (id == 3) then player:GossipSendPOI(2238, 2980, 7, 75, 0, "Npc or location two") -- X,Y,icon,flags,data player:GossipSendMenu(100, creature, menu_id) end end RegisterCreatureGossipEvent(NPC_GUARD, 1, Guard.OnGossipHello) RegisterCreatureGossipEvent(NPC_GUARD, 2, Guard.OnGossipSelect)  
  4. Poll - What do you want to see on YouTube

    Terra-forming terrain and texturing for certain with Noggit Wmo creation. Detailed guides for creation of caves and larger structures like fortress/garrison like objects and keeps. Cheers!
  5. Happy new year everyone, all the best for 2017.

  6. Merry Christmas everyone, have a great one!

  7. World Map Icons

    Those icons are called Points of interest check Check how current battleground scripts such as WSG and Arathi Basin handle them.
  8. Capturing PvP Objectives

    Did you convert the file into CSV or used DBCEditor? Converting to CSV can corrupt a file, found this out when trying to do spell visuals. Try using DbcEditor instead if you haven't already done so.
  9. [Release] Noggit SDL 3.1021 BETA

    Brilliant work guys, good job <3
  10. What Are You Working On?

  11. Some results and future goals

    There could be an award for best released resource for a given month.
  12. What Are You Working On?

    Yeah, funny enough I reverted the DBC files to factory settings before the modifications and it worked fine. Simply converting from DBC To Csv and back without modifying anything caused the issue. I guess MyDBCEditor is the only safe way, takes more time however. Cant send the changes because I scrapped them. Cheers.  
  13. What Are You Working On?

    Hey Hyakkimaru, did you do the DBC edits by converting to CSV & back?(This is for the 3D belt visual) Reason I ask is, when I ran the converter on one of the SpellVisual files (I can't recall which one exactly) to CSV and back for testing purposes, it caused a bunch of spell visuals to appear as blue & white boxes. An Example is Nitro Boosts from the engineering enchant. Cheers.
  14. Greetings Model-Changing community, I posted this on Emu-devs not too long ago maybe someone has use for it. How to setup? Create an item in the database with an on use effect, use a test spell such as modify scriptname column to the scriptname of the script and you're done. Limitations When re logging visual of mount is removed and the current mount aura will override it. Tooltip of spell still shows the real mount aura(your mount visual will obviously be different however) enum mount_timer { MOUNT_TIMER = 3000, }; enum MountSpells { SPELL_MOUNT_SPECTRAL_TIGER = 42777, //We use this as the actual mount spell, the display id overrides it via the script. }; enum MountDisplayIds { RABID_BEAR_MOUNT_DISPLAY_ID = 1082, }; /* [Reins Of The Custom Bear] */ class item_reins_of_the_custom_bear : public ItemScript { public: item_reins_of_the_custom_bear() : ItemScript("item_reins_of_the_custom_bear") { } bool OnUse(Player* player, Item* item, SpellCastTargets const& targets) { player->CastSpell(player, SPELL_MOUNT_SPECTRAL_TIGER, false); //A mount spell to modify ground movement speed player->m_Events.AddEvent(new reins_of_the_custom_bear_handler(player), player->m_Events.CalculateTime(MOUNT_TIMER)); // OnUse is instant so we need to delay the changing of mount visual until cast is complete. return true; } class reins_of_the_custom_bear_handler : public BasicEvent { public: reins_of_the_custom_bear_handler(Player* player) : player(player) {} bool Execute(uint64 /*time*/, uint32 /*diff*/) { if (player->HasAura(SPELL_MOUNT_SPECTRAL_TIGER)) //Check if mounted before changing mount visual, prevents bugs { player->Mount(RABID_BEAR_MOUNT_DISPLAY_ID); //The custom mount display id } return true; } Player* player; }; }; void AddSC_item_custom_mounts() { new item_reins_of_the_custom_bear(); }