Get the module from this website https://www.azerothcore.org/catalogue/
Clone it using git (recommended) or just download it
I'll use this for Exmple: https://www.azerothcore.org/catalogue/details.html?id=177019524.
Once you downloaded it or cloned: ( Extract it, you will have than Folder looks like this :
Copy this folder you will have to paste it in next steps:
Now go in your AzerothCore folder (for example C:\azerothcore-wotlk-master)
When you are there, you will see there folder named modules like on this image:
Open that folder modules -> It will look like this :
Paste there your downloaded module ( That we use in step 4., in my case we use : NPC Services Module
And it will look like this when you paste it there :
Than, open Cmake -> Press Configure
Than press Generate :
And you are done. P.S You have also to check in the module folder (SQL folder) if there is any .sql file required to be executed in your database ( Like on this image ) :
then World :
this module has an SQL file which needs to be executed in your World Database :
Let's do it :
DELETE FROM `creature_template` WHERE `entry` = 55003;
Set @NpcName = "Visual Weapon NPC",
@NpcSubname = "AzerothCore",
@NpcEntry = 55003,
@NpcDisplayID = 31833,
@NpcLevel = 80;
INSERT INTO `creature_template` (`entry`, `modelid1`, `name`, `subname`, `minlevel`, `maxlevel`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `unit_class`, `unit_flags`, `unit_flags2`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `HoverHeight`, `HealthModifier`, `ManaModifier`, `ArmorModifier`, `RacialLeader`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `VerifiedBuild`) VALUES
(@NpcEntry, @NpcDisplayID, @NpcName, @NpcSubname, @NpcLevel, @NpcLevel, 35, 1, 1, 1.14286, 1, 1, 0, 2000, 2000, 2, 0, 2048, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 50, 50, 1, 0, 0, 1, 0, 0, 'npc_visualweapon', 12340);
So, We have to run (paste) this query in the Database, Let's do it.
Open your DB Program ( Example : Navicat, HeidiSQL ) and run our code there, in this way :
We are done now. Go in game and spawn this NPC with command .npc add 55003 @NpcEntry = 55003 <---- This is our NPC ENTRY