• Welcome Message

There is a more up to date version of this tutorial here






Alright. Finally released? Try. Finally updated. LOL. This tutorial is going to tell you how to make your Antrix server public without having to use Hamachi.


Don't have the latest AC-Web release? Click here.


The tutorial is broken down into parts to make it easy to read and follow. Also, the video tutorial was added for further easyness.

VIDEO: Click here.


Part One:

1. Open your Internet Browser. (Firefox. Internet Explorer.)
2. Go to DynDNS.Com and create and account if you don't already have one.
3. Log In, and click on the "Services" tab.
4. Now, Click on Dynamic DNS.
5. Click on Create Host.
6. Fill out the fields. Leave everything default except wildcard. Make sure it's checked.
7. Click add host, and your done with part one.


Part Two:

1. Go to Start. Then Run.
2. Type. C:\Windows\System32\Drivers\Etc\
3. This will open a folder, Click on Host.file and open it with Notepad/Wordpad.
4. At the end of the file add the following.

Code:
127.0.0.1 (Dynamic DNS)
(Internal IP) (Dynamic DNS)
(External IP) (Dynamic DNS)
Dynamic DNS = The DNS you just created at DynDNS.Com

Internal IP = Your IP of the computer you are running the Antrix server on, This can be found by going to Start, then Run. Typing in CMD, once the Windows command Prompt opens type in "ipconfig". You will get a readout the one you are looking for is "Ip Address" it normally starts with 192.

External IP = You outbound ip assigned by your ISP. You can find this by visiting http://www.whatismyip.com.

5. Save and Quit.


Part Three:


1. Open your AC Web Ultimate Repack folder which is saved in your C:\.
2. Open the Ascent folder.
3. Open your Realms.CONF file with Notepad/Wordpad.
4. Change

Code:
RealmCount ="2"> It should say 2, not 1.
5. Change

Code:
       Address = "YOUR EXTERNAL IP:8129"
Icon = "PVP"
Colour = "1"
Population = "1.0"
TimeZone = "1">

Address = "127.0.0.1:8129"
Icon = "PVP"
Colour = "1"
Population = "1.0"
TimeZone = "1">
That's what it should look like. You should have two realms. If your confuesed, you can watch the video, and it can explain it better.

6. Save and Exit. Your done with part three.


Part Four:

*Note: I know this part confuses A LOT of people.. So, Watch the movie. It's so much easier.*

1. Find out what the IP Address is, which allows you to connect to your router. I know Netgear is 192.168.0.1. If you don't know.. Ask your parents, a friend, or your routers help line.

2. Once you connect, it should ask for a Username & Password. The username is Admin. The password is either admin, or password.

3. Forward the following ports. If you don't know how.. Ask.

*Note: Don't use DMZ! It doesn't work. Period.*

3724 - 3724
80 - 80
3306 - 3306
8129 - 8129
8093 -8093
6112 - 6112
6881-6999
3036 - 3036
8050 -8050

4. If your router has a built in firewall, disable it. Along with any windows firewall you have. Unless you know how to set an exception.


Part Five:

Connecting to your Antrix server.

1. Open your World of Warcraft directory.
2. Copy your realmlist.wtf, and rename the second one to realmlist2.wtf. (This is so you still have the live server addresses.)

3. Open your realmlist.wtf in Notepad/Wordpad.
4. Delete everything, and add "set realmlist 127.0.0.1"
5. Save and Exit. Move on to part six.


Part Six:

Getting your friends to connect to your Antrix server.

1. Have them open their World of Warcraft directory.
2. Have them make a copy of their original realmlist.wtf, so they can still play live WoW.
3. Have them open realmlist.wtf in Notepad/Wordpad.
4. Have them delete everything, and add "set realmlist (Your Dynamic DNS, which you created in part one.)
5. Have them Save, Exit & Connect.

If you did everything correctly. Your server is now public. No Hamachi. Your friends can connect and you can all do whatever you want.

If for some reason, it's not working.. Watch the video. Maybe, you read someting wrong. If you still can't get it to work, Ask. We will be more than willing to help.


*Note: Dynamic DNS's can no longer be bought through the Shop. Since we don't have one anymore. They are still avaliable to VIP users though. *


Thank you,

Thorz

VID DOWNLOAD:
Low quality High quality

_____________________________
Downloads
_____________________________
Palakat's website

LINK(emupedia)
_____________________________
Asenov Ascent Website Project AAWP

LINK(ragezone)
_____________________________
ASCENT CMS

LINK (emupedia)
_____________________________
New Stylish registration page

LINK
_____________________________
SiPex's website (Panex team)

LINK
_____________________________
Terranet Website | V1.5

Download: Link is dead so any1 who already downloaded this site plz give me the files
Preview: http://img142.imageshack.us/img142/430/websitekx7.gif

_____________________________
ElderGod's website(remade by him)

Download: http://filebeam.com/d0f96859d49e969aaa18c3438aa24a3e

Preview: http://images24.fotosik.pl/16/34cd4902a77b025c.jpg
NOTICE: preview is a bit different from real website cos its from adobe golive cs2
chrispeee's 2nd version of this website


Download: http://www.megaupload.com/?d=65OOVMVV Mirror: http://filebeam.com/212f9770eda0540c655f5933605ef771

Preview: http://img221.imageshack.us/img221/3168/untitledhj4.jpg
_____________________________
SPORA (Simple Page Of Registration of Accounts)by mirage666, Kandyman and Unclemo

Download: http://filebeam.com/f3a6ff466cfb80b2ed842205d9d76b64
Theme pack: http://www.ac-web.org/forum/showthre...t=10923&page=3
Preview: http://img373.imageshack.us/img373/552/demooe3.jpg

Features:
+ Account registration (Username, Password and Email Saved)
+ Checkbox for users if wish to enable TBC
+ Account signup and players online all shown on the one page
+ Shows total number of players online
+ Displays list of all players online with name, race, class and level and zone location
+ Distinguish race icon between males and female genders
+ Ability to sort by either name, class, race, level or location
+ Checks for existing login names upon account creation and prevents duplicate login names
+ Allows blocking registration of excess accounts by ip address (helps protect mass account creation spam)
+ Allows naming of the title of your server in configuration


_____________________________
EthernalQ Website v2


Download: http://filebeam.com/72151ef7ae1e43b53fa3d0fe589abe87

Rar Password: EthernalQ

Preview: http://img74.imageshack.us/img74/6382/revolutionnl7.png
______________________________
EthernalQ Website v1:

Download: http://filebeam.com/894f1a9f0ebb5c8d42d8117506010615

Rar Password:ethernalq

Preview:http://img505.imageshack.us/img505/8985/regpagejw1.png
_______________________________
Danerf's Webiste


Download: http://filebeam.com/2955957132c42240929acc2be40d8089

Preview:http://whoa.wh.funpic.de/images/543421accpage.jpg
_______________________________
ElderGod's Website

Download: http://filebeam.com/f93a79bd946a32e509c97d000e867b5e

Rar Pass:emupedia.com

Preview: http://haysead.ha.funpic.org/web/antrix/
_______________________________
EthernalQ's Website(remade by Szela_93) v3 Ultimate

Download:Megaupload Mirror: Rapidshare
Preview:http://images29.fotosik.pl/19/4aae5be9e17f5adb.jpg
Features:
*New animated Flash Logo
*Mp3 Player from Krillin's website
*Gallery with images from Krillin's website
*Player map
*Forum
*Stats page
*Arcade
Notice: website is quite big cos there r some mp3's and quite big (8mb) animated flash also there r some images (abt 100 with thumbs abt 200) they r abt 10mb


_______________________________
EthernalQ's Website(remade by Szela_93) v2

Download: http://filebeam.com/b956e51e5dfb59ae74daff99a12ef490
Preview: http://images29.fotosik.pl/17/6c89429d9f5fb998.jpg

_______________________________
EthernalQ's Website(remade by Szela_93)

Download:http://filebeam.com/63233bbfe688f4c88edf3fc63027b87b

Preview:http://images23.fotosik.pl/12/d92d8b8a902fd423.jpg
_______________________________
BLIZZLIKE FRONT END

LINK(ragezone)
Installation:
Read the install.txt

___________________________

Getting Antrix Website Stats Page to Work (by SiPex)
a)Go to your server directory folder (C:\AC Web Ultimate Repack). and open up the antrix folder.
b)Find the antrix.conf file and open it.
c)Find the part in the .conf file that looks like this

d)Change it to this

NOTICE: other websites can hav stats somewhere else and can be called also in other way, u can notice stats by .xml extension
e)Restart your server and your website.
f)Congratulations, you have just set up your AC Ultimate Repack stats page!

Ok hello everybody this is my first tutorial here and I hope you enjoy!

Ok then first of all you will want to download Wamp here : Download WampServer 2 - Download PHP, apache, MySQL

just download it then install.
It should be installed into your c:

Next choose the page you want (or make your own page) for what you want your server to be. I use this one : DOWNLOAD NOW!

Extract the contents to :
C: > Wamp > www
Then in the www folder make a folder called "img" and place all the images in there!

Then you'll want to setup the index file.

$lang="en"; // Language ("en" - english, "ru" - russian)
$host="localhost"; // HOST for Antrix database
$user="root"; // USER for Antrix database
$password="ascent"; // PASS for Antrix database
$db="logon"; // NAME of Antrix database
$hostr="localhost"; // HOST for Login database
$userr="root"; // USER for Login database
$passwordr="ascent"; // PASS for Login database
$dbr="logon"; // NAME of Login database
$database_encoding = 'CP1251'; // Set encoding
$img_base = "img/"; // Image dir
$server = "localhost"; // Antrix Server Address
$port = "8129"; // Antrix Server Port
$title="Dark Specteral WoW"; // Insert the title of your server here
$lock_acc=0; // Lock created account to IP address (1 - on, 0 - off)
$lock_reg=0; // Registration only one (or more) account from one IP address
// 0 - not limit, 1 - one acc, 2 - two acc, etc...

It is self explanitory.
Then just run WAMP and you're set to go just type in the DNS you use for your WoW server OR you could go to DynDNS: DNS Hosting, Email Delivery and Other Services and make a new DNS for your account creation page such as DarkShrine-WoW.isgreat.org (a dns example.)

I hope you liked this mini guide and my first one made here.

Thanks for reading!

If I missed anything or could change things to improve it please let me know.





Compile ArcEmu Core

Posted by WowPsTut On 11:36 0 comments

This guide is not a repost, it is not copied, I've made it from my personal experience within the last week or so of learning this. I will also make a guide on how to compile NCDB so that there is no longer a need for repacks! Well, I mean.... unless you don't want to do this.

First, you need to download these two programs:
1. TortoiseSVN downloads | TortoiseSVN
2. Visual C++ 2008 Express Edition


Next, you should create a new folder on your Desktop and name it anything you wish. Then, right click the folder and after you've installed both programs above, you should be able to right click and press SVN Checkout...

Then you type in:

Quote:
arcemu.info/svn
One it's done downloading all of those files, navigate to your folder directory and enter: trunk/win : and then open "arcemuVC90" using Microsoft C++ Express Edition with SP1.

Then, at the top of the program, make sure where it says "debug" you click the dropdown arrow and switch to "Release".

Once there, you can right click "Solution VC90 (1 project)" then click, Build Solution.




Once, this is completed, you should see it at the very bottom. It should say,

"4 succeeded, 0 failed, and something else"

Now, move on to
Quote:
"trunk/src/scripts"
and open up scripts2008 and do the EXACT SAME THING for this file as you did with arcemuVC90.

Once that one is done, simply do it for ExtraScripts2008 and you're done with the hard part. Now, if you're making a new repack, navigate to "trunk/bin/release" and all you have to do is copy and paste the DBC, Maps, vMaps, arcemu-logonserver.exe and arcemu-world.exe, scripts_bin into the new folder for your server.

Also, go into:
Quote:
trunk/src/scripts
again and copy the entire lua_scripts folder into your server folder and also copy and past the config folder in there as well.
Quote:
trunk/src/configs
I think....

If you're not making a fresh repack, then simply copy the arcemu-logonserver and world and your scripts and script_bin into your server folder.

Let me know if I left anything out or you're having troubles!

Credits to:
ArcEmu - for releasing the BEST WoW Emulator EVUH!!! (IMO)
Simzy - for teaching me how to compile ArcEmu.
Me - for posting this guide.

Do not add me on msn, send me an email as i will not respond to live chat anymore also, make sure you check my new followup guide which you can find Here

Overview
1 - Things you need
2 - Getting started
3 - Sample code (complete code)
4 – Personalizing the code
5 – Design the form
6 - finalizing
7 - Notes!! (important!!)



1
Quite logically you need visual basic 2008 .net since we will work in it. To get it simply download it from Microsoft, its completely free link is: Downloads
Now you will need some images for the background etc. Just some material really, its not “needed” but if you want it to look good, it needs some images lets continue, shall we?

2

Now, you’re done downloading Vb.net, you’ll have to install it, now ill let YOU figure out how to do this. Once your done, you start up Vb.net now step by step:
1. Click “files”
2. Click “new project”
3. By default it should select “windows forms application” if it hasn’t, select it.
4. Name: something you want.
5. Now you will see a “form” called “Form1” this is the form you will “design” for your application/launcher.

3

Now you double click the form, and a code window will appear. This is where the code will be entered. The code tells the application what to do when something happens, fx. If user clicks button1.

Press Ctrl + a, and delete all the code in there. Now copy past this in

Code:
Imports System.IO
Imports System.Environment


Public Class Form1

Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As New FileStream("realmlist.wtf", FileMode.Create, FileAccess.Write)
Dim s As New StreamWriter(fs)
s.WriteLine("set realmlist winter-wow.servegame.org")
s.Close()

Dim ss As String = startgame("HKEY_LOCAL_MACHINE\SOFTWARE\blizzard entertainment\world of warcraft", "installpath", "WoW.exe")

If ss <> String.Empty Then
My.Settings.wow = ss
My.Settings.Save()
End If
End Sub

Private Function startgame(ByVal RegPath As String, ByVal RegValue As String, ByVal ExeFile As String) As String
Dim retval
Dim installpath As String = String.Empty
installpath = My.Computer.Registry.GetValue(RegPath, RegValue, Nothing)
If Directory.Exists(installpath) Then

ChDir(installpath)
retval = Shell(ExeFile, 1)
Else
With OpenFileDialog1
.InitialDirectory = GetFolderPath(Environment.SpecialFolder.ProgramFiles)
.Title = "Please Select " & ExeFile
.Filter = "Windows Executable *.Exe|*.exe"
.FileName = ExeFile
If .ShowDialog() = Windows.Forms.DialogResult.OK Then
Process.Start(.FileName)
Return .FileName
End If


End With


End If

Return String.Empty
End Function

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class

Now this might look VERY confusing, and it is if you’ve never worked with Vb.net, but ill help you guys break it down.

4

Lets start personalizing the code, as you properly don’t want your launcher to connect all your players to winter-wow (hehe ) so find:

s.WriteLine("set realmlist winter-wow.servegame.org")

In the code, and change the content between “” to match what you need. Fx. “Set realmlist myserver.org” Just leave the rest, as that is mainly the code to start wow when button1 is clicked.
Also go into “project” -> “[name] properties” and then select the tab called “settings”
Inside “settings” you change the first box saying “setting” to “wow” then you click the x and when it asks if you want to save changes, you click yes. Now you should be back in the code window.

5

Now we are going to design the form! There is a lot of things you can do, but for now, lets add a cool background image, and some buttons!
1. Go back to your design by clicking the bar saying “form1[design]”.
2. In the lower right corner you will see a properties window.
3. Inside the properties window you can change tons of things, but for now, we will change the background. So find “background image” and mark it by a single click
4. Now click the little buttons with the 3 dots (…) a window saying “select resources” will pop up. Chose local resource, and click import.
5. Now browse to your picture and mark it, and click open, it will then add it as your background
6. Under “background image” in the properties window, you will see “background image layout” this determines weather your image is stretch or centered or what ever. Consider changing it to what you like.
7. Now, lets change the name of the window, because “form1” isn’t that cool is it?
8. Go to the button of the properties window, there you will find “text” now, change text to what you want your window to display in the top left corner.
9. Also, that ugly icon isn’t cool is it? Lets change it! Scroll up a bit and you will find “icon” now it’s the same as with the background image, once done, you will notice your new icon followed by the name you entered in “text”
10. When your done, you will get an .exe file, but we don’t want it to say the default beneath it do we? (no we don’t) so go to “project” in the top bar, and click the last thing in the menu it will be “{name) Properties”
11. Now a settings window will appear, so lets get down to business. In the tab called “application” you click on “assembly information” now you can change what you like, just not the GUID nor the native language.
12. You may notice it has a little box saying “icon” now go ahead and change it, this is the icon your .exe file will have when its inside your world of warcraft folder or your desktop or what ever.
13. Assembly name, you should change that to {name) Launcher. Fx. Winter WoW Launcher or “Toxic WoW launcher” or what ever, you know what I meen.
14. once done changing what you want, just click the little x.
15. Now we are back on the form again, lets add a button! In the left you can see your “toolbox” this is where you can get all the nifty stuff, now click on button, and draw a button on your form.
16. If you click on the button 1 time, you will notice the properties window changes, so that now you can edit the button, go ahead, change the button settings to your liking fx. An image on it (cos the traditional button isn’t very wowish is it?)
17. now in the toolbox find “open file dialog” and add one of those to the form, don’t worry about it not showing up, it adds it self to the “code” so to say, as it’s a dynamic item.
18. Now you can add a “label” to your form, just like with the button, you can find it in the toolbox. A label is used to have text on your form like “Thank you for using our launcher and playing on our server” or what do I know. Once again, you can modify it in the properties window.
19. This is all you have to have for the application to work (the label isn’t needed)

6

Now, if you did all of this correctly, go to “file” “Save As” and change “location” to where you want it, I normally save mine in c:\ fx c:\winterwow\ or c:\ult launcher\ or something. When you’ve done that, you go to “build” and “build [name]”
When its done building (will take like 1 second or something) you go to your location. Fx. C:\winterwow\Winterwow\Winterwow\bin\Release\ and in there I can see “Winter wow launcher.exe” because that is what I’ve chosen to call my application!

I hope this was fairly easy to understand, now I will show you how mine ended up looking. Have fun messing around with Vb .net, and congratulations with making your first programmed application!

7

Please note, that when you click the button, it creates a new realmlist.wtf for you, so you need to have the .exe file in your world of warcraft folder, but you can make a shortcut to the desktop 

How to Create Custom Content

Posted by WowPsTut On 11:32 0 comments

Ok this will be an updated guide to creating custom content by Warkill
I will be showing you how to make custom Items/Vendors and Making Mobs drop whatever you want. Also I will be showing you the templates I made/use so you don't have to script yourself.

Creating a Weapon/Armor

1) Think first of a Name then the stats you will want it to have

2) Gather important information like available Entry ID's in your DB and CORRECT Display ID's or else you will wind up with a checkered blue box.

3) To find correct Display ID you can look them up on Allakhazam.com look for the Item you wish it to look like (Ill be using Thunderfury as an Example) then look JUST under the item tooltip and it will say LINKS go to XML and scroll down until you see this

Code:

30606
So to clarify things Thunderfury's Item ID is 19019 BUT its display ID is 30606 I dont want anyone confused about the difference between the two. Alternatively you can use this text document if you know the Item ID and just want to know the Display ID

4) Since I know you don't know how to script it yourself I wont be giving you my template for them you can go to www.wow-v.com there just fill out the information and select "Antrix Core" once you're done and download the SQL-Batch File.

5)To add the item to your Database If you are using NavicatSQL (Make sure MySql is running) Open up Navi and If you havent set up a connection use THIS AS A GUIDE (its for Heidi but connection input is the same) ok then once Navi is open click on your connection then Antrix then Tables now hit Query and then New Query Now you have a Query Window open hit Load then RUN reload items or restart server and the item will be in your Server repeat as many times as needed if you get an Error in SQL Syntax you did something wrong in the last steps go back and follow them exactly.

To add Custom Content If you are using HeidiSQL (Make sure MySQL is running) Open up heidi (if you havent set up a connection us THIS AS A GUIDE Once you have a connection Select your Connection go to Import then Load Sql-file.. select whatever file you want to ad then select Execute and the item should be in your Database, reload items or restart server for them to take effect.

Creating a Vendor


Ok to make a vendor I will have you use my Template here it is:
Code:
INSERT INTO creature_names
(entry, creature_name, Subname, Flags1, type, Family, Rank, unk4, SpellDataID, displayid, unk2, unk3, Civilian, Leader)
VALUES
(91000, "NAME", "GUILDNAME", 0, 4, 0, 3, 0, NULL, 19019, 1, 1, 1, 0);

INSERT INTO creature_proto
(entry, level, faction, health, mana, scale, npcflags, attacktime, mindamage, maxdamage, rangedattacktime, rangedmindamage, rangedmaxdamage, mountdisplayid, item1slotdisplay, item1info1, item1info2, item2slotdisplay, item2info1, item2info2, item3slotdisplay, item3info1, item3info2, respawntime, resistance0_armor, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, combat_reach, bounding_radius, auras, boss)
VALUES
(91000, 70, 120, 10000, 5000, 1, 4, 1000, 300, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 5, 5, 5, 5, 5, 1, 1, "", 0);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90057", 1);
ALL you have to change whatever I highlighted which is his Entry ID, NAME,GUILDNAME,Display ID In that order (which is indicated with 19019# this will dictate how the vendor looks) I've already made the vendor friendly with both Horde/Alliance. To add items to the vendor simply replace the blue highlighted area with the ID of the weapon you want him to sell weather its Blizz made or Custom. To add more than one Item just copy paste
Code:
INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90057", 1);
Only replacing the Blue part . The red highlighted area tells the DB which Vendor sells that item. Untill your Final result looks something like this
Code:
INSERT INTO creature_names
(entry, creature_name, Subname, Flags1, type, Family, Rank, unk4, SpellDataID, displayid, unk2, unk3, Civilian, Leader)
VALUES
(91000, "CUSTOM CLASS SETS", "Liquid Gears Team", 0, 4, 0, 3, 0, NULL, 19019, 1, 1, 1, 0);

INSERT INTO creature_proto
(entry, level, faction, health, mana, scale, npcflags, attacktime, mindamage, maxdamage, rangedattacktime, rangedmindamage, rangedmaxdamage, mountdisplayid, item1slotdisplay, item1info1, item1info2, item2slotdisplay, item2info1, item2info2, item3slotdisplay, item3info1, item3info2, respawntime, resistance0_armor, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, combat_reach, bounding_radius, auras, boss)
VALUES
(91000, 70, 120, 10000, 5000, 1, 4, 1000, 300, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 5, 5, 5, 5, 5, 1, 1, "", 0);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90057", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90056", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90055", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90054", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90053", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90052", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90051", 1);

INSERT INTO vendors
(vendorGuid, itemGuid, amount)
VALUES
("91000", "90050", 1);
With only the ItemGuid's Changing to keep adding more Items to the vendor. To add the to the DB its the same way as I explained earlier with Navicat/Heidi and the weapons so follow that guide.

Creating Custom Drops/Drop Rate

Here is the template you can use to create the the drop table for the mob:

Code:
INSERT INTO creatureloot
(entryid, itemid, percentchance)
VALUES
("11583", "19019", 100);
The Number Indicated in Blue is the Creatures Entry ID you wish to drop the item In this case Nefarian from BWL, then the number in Red is the Items Entry ID which happens to be Thunderfury in this case. The number in Yellow is the Percent Chance to Drop you can change it to whatever you would like.

For now this is all I will post Donators will have access to a video guide showing this and alot more video guides on more custom content

[C++] Scripting an Npc/Boss.

Posted by WowPsTut On 11:32 1 comments

As to start of, this is the first Tutorial released from AuxProductions, mind that I rather do not retain flaming.
This guide will contain how to script simple NPC's. (A SIMPLE guide so.)

Let's begin,

As some of you might already know,

Code:
//
gives the start of a so called 'comment'. Imo with
Code:
/*
the only diffrence is the // only comments that line, whilst /* comments everything between the second /*. I'll show you.

Code:
//AuxProductions first guide.
Code:
/*Auxproductions first
guide
made by
Auxilium.*/
I've explained you the use of 'Comment Brackets' because it might come in handy when you're scripting an NPC or any other kind of boss.

Now, let's start the actual script.

We'll instantly use what I've just tought you guys, so.

Code:
/* My first script.
Credits to : Myself.
*/
Now, you've made the 'intro' and you've given yourself the credits which you want. Now we can start by scripting the actual boss.

Start Code.

Code:
#include "StdAfx.h"
#include "Setup.h"
#include "Base.h
"
Should always be underneath your credits.

Quote:
Lines beginning with a hash sign (#) are directives for the preprocessor. They are not regular code lines with expressions but indications for the compiler's preprocessor.
^ Hope that explains what it the hashes do. This basicly includes the commands that you'll be using in the future to script the boss, which you're working on.

The red hashes should always be included !

Defining spells & the Npc's id.


As the title says, now we'll be doing basicly the same as the Local = lua function. You'll be defining the spells that the NPC will be able to cast/wont be able to cast. Imo for the ID (Meaning that the NPC his ID will be defined here.)

It's fairly easy, just watch :

Defining the NPC id.
Code:
//My First Boss.
#Define Auxilium 123
  • The 'Auxilium' will have to be replaced by the name of your own boss.
  • The 123 is the ID of the npc.

Defining the spells that the NPC will be using.
Code:
//Auxilium's Spells.
#Define Spellname Spellid.
You can do this as many times as you want.
  • The 'Spellname' stands for the actual spellname, for example Death Touch.
  • The Spellid stands for the ID of the spell that the NPC will be casting. (Can be found on wowhead; thotbott, ..)

Your script should now look like this :

Code:
/*****************************************
*All Credits go to Auxlium *
* *
* *
*Name Of Boss : X *
******************************************/

#include "StdAfx.h"
#include "Setup.h"
#include "Base.h"

// X ID
#define Auxilium ID

// Auxilium Spells
#define SPELL SPELLID
The actual script.

When you have defined your spells, you can insert :

Code:
class AuxiliumAI : public ArcScriptBossAI
{
ARCSCRIPT_FACTORY_FUNCTION(AuxiliumAI, ArcScriptBossAI);
AuxiliumAI(Creature* pCreature) : ArcScriptBossAI(pCreature)
{
Underneath your spells / Npc id.

As you see, the 'Auxilium' = Name of the boss you recently defined, is inserted here in a AI form. You can just replace 'Auxilium' by the name of your boss.

As soon as you reached this point, you can start adding spells underneath the codeline you have just inserted, for example :

Adding spells.

Code:
class ZZZZZAI : public ArcScriptBossAI
{
ARCSCRIPT_FACTORY_FUNCTION(ZZZZZZAI, ArcScriptBossAI);
ZZZZZZAI(Creature* pCreature) : ArcScriptBossAI(pCreature)
{
AddSpell(Lolwoot, Target_Self, 35, 0, 10);
}
}
You can keep adding spell lines which you defined above like that as much as you want.

Your current script should look like this now :

Code:
/*****************************************
*All Credits go to Auxlium *
* *
* *
*Name Of Boss : X *
******************************************/

#include "StdAfx.h"
#include "Setup.h"
#include "Base.h"

// X ID
#define Auxilium ID

// Auxilium Spells
#define SPELL SPELLID

class ZZZZZAI : public ArcScriptBossAI
{
ARCSCRIPT_FACTORY_FUNCTION(ZZZZZZAI, ArcScriptBossAI);
ZZZZZZAI(Creature* pCreature) : ArcScriptBossAI(pCreature)
{
AddSpell(Lolwoot, Target_Self, 35, 0, 15);
AddSpell(Rofl, Target_RandomPlayer, 45, 2, 10);
Let me explain what the AddSpell function did.

The

35 & 45 define the amount of chance it has to hit/proc.
0 & 2 define the Casttime. In seconds.
10 & 15 will define the interval. Meaning that it'll cast spell X each 10 & 15 seconds.


Adding Emotes.
Same as when you're adding spells, you'll be using the Add.. function.

Example :

Code:
AddEmote(Event_OnCombatStart, "Auxilium's guide.", Text_Yell, 0);
Again,

The orange part defines when he says it. (This can be variable from OnCombatStart / OnDied / OnTargetDied / OnLeaveCombat)

& The '0' at the end, is reffering to the SoundID that it'll play when your npc announced the emote.


Phases.

Code:
void AIUpdate()
{
if(GetHealthPercent()<=90) //TestPhase
{
AddSpell(X)


}
Is the way on how to define correct phases.
You can add phases on similar ways as with this one,
for example :

Code:
void AIUpdate()
{
if(GetHealthPercent()<=90) //TestPhase
{
AddSpell(X)
if(GetHealthPercent()<=80) //TestPhase2
{
AddSpell(Y)
When you're done with adding phases, you can just add a

Code:
        ParentClass::AIUpdate();
ParentClass::AIUpdate();
}
};
To the end of the phase part.

Example :
Code:
void AIUpdate()
{
if(GetHealthPercent()<=90) //TestPhase
{
AddSpell(X)


}
ParentClass::AIUpdate();
ParentClass::AIUpdate();
}
};
Now, you've learned on how to add phases, emotes & spells. You're almost done with your script now, just end the script by using :

Code:
void SetupAuxilium(ScriptMgr* pScriptMgr)
{
pScriptMgr->register_creature_script(Auxilium, &AuxiliumAI::Create);
}



I hope that you enjoyed my guide, if you have any questions please post them here and I'll reply onto them as soon as possible.