Step 1 ok first off lets just make a small practice instance cause this is a test kinda do this to learn and then do yours for real so were gonna do Mag to make our custom instance so put some thought into a cool storyline and find a way to tell about it like on your site or makea custom quest for it(i will be doing a quest guide in future if you guys want)
Step 2 GO completely through the instance and delet every single mob in there ever last one of them ok DELETE DELETE DELETE
Step 3
WE create Mobs
Okay i know a lot of people don't know how to do this (I didnt). I just figured it out from messing around with the tables in the database. So here it goes. Step 1.Connect to your database with your database tool (SQLyog, Navicat, heidi etc..)
Step 2.Click on the Creature_names table and go to your table editor.
Step 3.Make a new row. For entry id, use something thats not already taken by an other npc (this will be .npc spawn <id you chose>)
Subname is the text you see under the creature name in <brackets>
Set flags1 to 0
Type = 0
Family = 0
Rank = 0
unk4 = 0
SpellDataID = 0
For display id, go to [Only registered and activated users can see links. ] and type in the name of the npc that you want your custom mob to look like. Once you've found the NPC you like, look at the number at the end of the url it should be something like 5858 (Greater Lava Spider). Next go to your database tool and look in creature_names for the entry id that you found on wowhead. Once you've found it, look at the display id that it has, and put that same display id (in the Greater Lava Spider's Case 7510) into your custom mob's display id column.
unk2 = 1
unk3 = 1
Civillian = 0
Leader = 0
Whew! where done with creature_names
Step 4.Go to the Creature_proto table in your database tool.
Step 5.For entry ID, put the same number you put in for the entry id in creature_names(If you dont do this, it wont work)
Level = Your desired Level
Faction = 14
Health = Your desired Health Ammount
Mana = Your desired Mana Ammount
Scale = Your desired mob size
npcflags = 0
attackTime = Your desired attack time
mindamage = Your desired Minimum Damage
maxdamage = Your desired Maximum Damage
rangedattacktime = Your desired attack time
rangedmindamage = Your desired minimum ranged damage
rangedmaxdamage= Your desired maximum ranged damage
**NOTE** I havent found the ranged attack speed/dmg to affect the damage of the mob, but I would put it in just in case.
Mountdisplayid = 0
All of the itemslot/displayid/info = 0
Respawn time = Your desired respawn time (miliseconds i think) Default is 360000
All resistances0-6 = Your desired mob resistances
Combat reach = 0
Bounding radius = 0
Auras = Leave it blank
Boss = 0
Money = Your desired ammount of money dropped by the mob
Wewt we're done with creature_proto
Step 6.Now we will add the mob's loot.
Index = Use 9999999 To be safe (Yes, that many 9's )
Entry = Your Custom Mob's entry id (999999)
Item ID = Entry id for the item you want your mob to drop. (For mulitple drops, use the same creature id but a different index number)
Percentchance = Your desired item drop rate.
mincount = Your desired minimum ammount of how many times the item drops per kill.
maxcount = Your desired maximum ammount of how many times the item drops per kill.
*This was all copied from Cossy so go here to + rep him even though he doesn't know it he helped my guide lol Thanks cossy
+rep him here http://www.mmowned.com/forums/emulat...creatures.html *
Ok thats your mob and thanks again Cossy ill +rep you for your guide
Step 4
Ok now we just kinda think about where you will place your mobs but make sure your have atleast 2 mobs and a boss like me
heres my list
70000 mob
70001 mob
70002 Boss
Since mag is so small i only have a few of the stuff
ok make sure your mobs are set in a way that they wont get pwned in .7 seconds lol make them set in a way that blizzard might set them
Step 5
Ok now lets start with an easy step of LUA scripting
function Mob_Spell1(unit)
unit:CastSpell(Spell ID[/COLOR])
unit:SendChatMessage(12, 0, "What do you want your mob to say when he cast this spell")
end
function Mob_OnEnterCombat(unit)
unit:SendChatMessage(12, 0, "Message for mob to say on combat entry.")
unit:RegisterEvent("Mob_Spell1",23000, 0)
RegisterEvent(MobEntryID,1,Mob_OnEnterCombat)
// the 23000 is the milliseconds between everytime it cast that spell to convet seconds to milliseconds just add 000 after it 50s = 50000ms //
do one of those (or more if u wish) for each of your mobs.
Step 6
Ok well now we will look at scripting the finaly boss here is the set up
function Boss_Spell1(unit)
unit:CastSpell(Spell ID)
unit:SendChatMessage(12, 0, "Message to say when boss cast this spell.")
end
function Boss_Spell2(unit)
unit:CastSpell(Spell ID)
unit:SendChatMessage(12, 0, "Message to say when boss cast this spell.")
end
function Boss_Spell3(unit)
local plr = unit:GetClosestPlayer()
if (plr ~= nil) then
unit:CastSpellOnTarget(Spell ID, plr)
end
end
function Boss_SunderArmor(unit)
local plr = unit:GetClosestPlayer()
if (plr ~= nil) then
unit:FullCastSpellOnTarget(30901, plr)
end
end
function Boss_OnEnterCombat(unit)
unit:SendChatMessage(12, 0, "Message for boss to say on combat entry.")
unit:RegisterEvent("Boss_Spell1",23000, 0)
unit:RegisterEvent("Boss_SunderArmor",10000, 0)
unit:RegisterEvent("Boss_Spell2",50000, 0)
unit:RegisterEvent("Boss_Spell3",120000, 0)
end
// the 23000 is the milliseconds between everytime it cast that spell to convet seconds to milliseconds just add 000 after it 50s = 50000ms //
function Boss_OnLeaveCombat(unit)
unit:RemoveEvents()
end
function Boss_KilledTarget(unit)
unit:SendChatMessage(12, 0, "Message to say when boss kills a player.")
unit:RemoveEvents()
end
function Boss_OnDied(unit)
unit:SendChatMessage(12, 0, "Message to say when boss dies")
unit:RemoveEvents()
end
RegisterUnitEvent(EntryID of boss, 1, "Boss_OnEnterCombat")
RegisterUnitEvent(EntryID of boss, 2, "Boss_OnLeaveCombat")
RegisterUnitEvent(EntryID of boss, 3, "Boss_OnKilledTarget")
RegisterUnitEvent(EntryID of boss, 4, "Boss_onDied")
and thats pretty much it if people dont understand this ill go off and break down this command here
Step 7
well thats pretty much everything just restart server and go test it thanks for looking at this guide and please leave feedback if u need help with this guide tell me and ill do my best to solve your problem. well +rep if u like and dont forgot to get cossy to if u can