<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.herc.ws/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.herc.ws/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thanna</id>
		<title>Hercules Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.herc.ws/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thanna"/>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Special:Contributions/Thanna"/>
		<updated>2026-05-02T16:31:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21.11</generator>

	<entry>
		<id>https://wiki.herc.ws/wiki/Quest_Log_System</id>
		<title>Quest Log System</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Quest_Log_System"/>
				<updated>2013-07-03T06:05:55Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: /* Increasing Max Quest DB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest Log System ==&lt;br /&gt;
&lt;br /&gt;
==== Basic Structure of NPC ====&lt;br /&gt;
&lt;br /&gt;
First of all you must have a knowledge on basic scripting, if not please kindly Click [[Basic_Scripting|Here!]].&lt;br /&gt;
&lt;br /&gt;
==== Quest Window ====&lt;br /&gt;
&lt;br /&gt;
The Quest Window or Quest Journal (Opened via Alt+U) allows the player to view all quests their character has started but not yet completed (Except for instance dungeon quests and Battlegrounds instances, which always remain once started).&lt;br /&gt;
To place a quest in the Inactive tab, right click once on it and the name will turn gray. It will then appear on the Inactive tab instead of Active. Right clicking the name again will bring it back to the Active tab. Moving the quest back and forth has no effect on whether you can continue it or not.&lt;br /&gt;
Not every quest has a quest window component. Those quests who have quest window walkthroughs can be found in this category as well as by having their infobox in gold. Additionally, the Quest Window guides are not comprehensive, and do not specify the exact coordinates of the next NPC or location the player must visit. It is highly recommended to continue using the wiki guides along with the in-game walkthroughs.&lt;br /&gt;
&lt;br /&gt;
[[File:QWindow.jpg|center|caption]]&lt;br /&gt;
&lt;br /&gt;
== Quest Database - Adding Quest ==&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quest ID - ID of the quest, must increment and should not be duplicated.&amp;lt;br&amp;gt;&lt;br /&gt;
Time Limit - Time limit for the quest to be finish.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 1 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val1 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 2 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val2 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 3 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val3 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Quest Title - The title of the Quest you made.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
For this example I will make a quest that will require to kill 10 Poring's.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;65000,0,1002,10,0,0,0,0,&amp;quot;Quest - Poring Hunt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client Side Editing ====&lt;br /&gt;
&lt;br /&gt;
You have to edit your questid2display.txt&lt;br /&gt;
&lt;br /&gt;
==== Structure ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QUESTID#Quest Name#FILENAME#LOG_FILENAME#&lt;br /&gt;
Summary description#&lt;br /&gt;
Objective description#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
65000#Quest - Poring Hunt#SG_FEEL#QUE_NOIMAGE#&lt;br /&gt;
Find the monster named Poring and kill 10#&lt;br /&gt;
Hunting 10 Poring#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Quest Log Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Set Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*setquest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place quest of &amp;lt;ID&amp;gt; in the users quest log, the state of which is &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	SetQuest	51,{&lt;br /&gt;
setquest 65000;	// This will add the Quest ID 65000 to your Quest Window.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sample will add the quest &amp;quot;Quest - Poring Hunt&amp;quot; which I stated on the Adding Quest.&lt;br /&gt;
'''Note''': The example is just a simple NPC that will add Quest ID 65000 every time you click it, You can add conditions so that it can only be taken once. &lt;br /&gt;
&lt;br /&gt;
=== Complete Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*completequest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the state for the given quest &amp;lt;ID&amp;gt; to &amp;quot;complete&amp;quot; and remove from &lt;br /&gt;
the users quest log.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CompleteQuest	51,{&lt;br /&gt;
completequest 65000;	// This will change the state of the quest to &amp;quot;complete&amp;quot;&lt;br /&gt;
set zeny,zeny + 100;   //just add line like this if you want to give zeny reward if a player finish the quest.&lt;br /&gt;
getitem 501,1;         //just add line like this if you want to give item reward if a player finish the quest.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erase Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*erasequest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the quest of the given &amp;lt;ID&amp;gt; from the user's quest log.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	EraseQuest	51,{&lt;br /&gt;
erasequest 65000;	// This will remove the quest to your Quest Window.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Change Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*changequest &amp;lt;ID&amp;gt;,&amp;lt;ID2&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove quest of the given &amp;lt;ID&amp;gt; from the user's quest log.&lt;br /&gt;
Add quest of the &amp;lt;ID2&amp;gt; to the the quest log, and the state is &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	ChangeQuest	51,{&lt;br /&gt;
changequest 65000,65001; // This will remove the quest ID 65000 and change it to 65001 with the state &amp;quot;active&amp;quot;.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Check Quest ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;*checkquest(&amp;lt;ID&amp;gt;{,PLAYTIME|HUNTING})&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no additional argument supplied, return the state of the quest: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0  = Quest has been given, but the state is &amp;quot;inactive&amp;quot;&lt;br /&gt;
1  = Quest has been given, and the state is &amp;quot;active&amp;quot;&lt;br /&gt;
2  = Quest completed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CheckQuest	51,{&lt;br /&gt;
&lt;br /&gt;
if(checkquest(65000) == 0) { //Quest is Inactive&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest is Inactive&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == -1) { //Quest Not started yet &lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Not Started&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == 1) { //Quest is Active&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest is Active!&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == 2) {	// Quest finished.&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Finished!&amp;quot;;&lt;br /&gt;
completequest 65000;&lt;br /&gt;
close;&lt;br /&gt;
} &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If parameter &amp;quot;PLAYTIME&amp;quot; is supplied:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0  = the time limit has not yet been reached&lt;br /&gt;
1  = the time limit has not been reached but the quest is marked as complete&lt;br /&gt;
2  = the time limit has been reached&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If parameter &amp;quot;HUNTING&amp;quot; is supplied:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0 = you haven't killed all of the target monsters and the time limit has not been reached.&lt;br /&gt;
1 = you haven't killed all of the target monsters but the time limit has been reached.&lt;br /&gt;
2 = you've killed all of the target monsters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example | Hunting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CheckQuest	51,{&lt;br /&gt;
&lt;br /&gt;
if (checkquest(65000,HUNTING) == -1) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest not Started&amp;quot;,&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 0) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;You haven't killed all of the target monsters and the time limit has not been reached.&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 1) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;You haven't killed all of the target monsters but the time limit has been reached.&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 2) {&lt;br /&gt;
completequest 65000;&lt;br /&gt;
set zeny,zeny+100;      //Zeny Reward&lt;br /&gt;
getitem 501,1;          // Item Reward&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Finished&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show Event ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*showevent &amp;lt;state&amp;gt;, &amp;lt;color&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Show a colored mark in the mini-map like &amp;quot;viewpoint&amp;quot; and an emotion on top &lt;br /&gt;
of a NPC. This is used to indicate that a NPC has a quest or an event to &lt;br /&gt;
certain player/s. &lt;br /&gt;
&lt;br /&gt;
state can be:&lt;br /&gt;
	0 = disable ( Used to disable and remove the mark and the emotion from &lt;br /&gt;
		the NPC. )&lt;br /&gt;
	1 = exclamation emotion ( Used to show an important quest event to &lt;br /&gt;
		certain player. )&lt;br /&gt;
	2 = interrogation emotion ( Used to show an non-important quest event &lt;br /&gt;
		to certain player. )&lt;br /&gt;
Other value may cause client crashes.&lt;br /&gt;
&lt;br /&gt;
color can be:&lt;br /&gt;
	0 = yellow &amp;quot;Quest&amp;quot;&lt;br /&gt;
	1 = orange &amp;quot;Job&amp;quot;&lt;br /&gt;
	2 = green &amp;quot;Event&amp;quot;&lt;br /&gt;
	3 = an MVP flag&lt;br /&gt;
Other values show a transparent mark in the mini-map.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Increasing Max Quest DB ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
trunk/src/common/mmo.h &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find this line and increase the value.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MAX_QUEST_DB 2410       // Max quests that the server will load&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recompile, Cheers!&lt;br /&gt;
&lt;br /&gt;
(If you don't know how to recompile click [[Compiling|Here!]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Quest_Log_System</id>
		<title>Quest Log System</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Quest_Log_System"/>
				<updated>2013-07-03T06:03:45Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: /* Increasing Max Quest DB */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest Log System ==&lt;br /&gt;
&lt;br /&gt;
==== Basic Structure of NPC ====&lt;br /&gt;
&lt;br /&gt;
First of all you must have a knowledge on basic scripting, if not please kindly Click [[Basic_Scripting|Here!]].&lt;br /&gt;
&lt;br /&gt;
==== Quest Window ====&lt;br /&gt;
&lt;br /&gt;
The Quest Window or Quest Journal (Opened via Alt+U) allows the player to view all quests their character has started but not yet completed (Except for instance dungeon quests and Battlegrounds instances, which always remain once started).&lt;br /&gt;
To place a quest in the Inactive tab, right click once on it and the name will turn gray. It will then appear on the Inactive tab instead of Active. Right clicking the name again will bring it back to the Active tab. Moving the quest back and forth has no effect on whether you can continue it or not.&lt;br /&gt;
Not every quest has a quest window component. Those quests who have quest window walkthroughs can be found in this category as well as by having their infobox in gold. Additionally, the Quest Window guides are not comprehensive, and do not specify the exact coordinates of the next NPC or location the player must visit. It is highly recommended to continue using the wiki guides along with the in-game walkthroughs.&lt;br /&gt;
&lt;br /&gt;
[[File:QWindow.jpg|center|caption]]&lt;br /&gt;
&lt;br /&gt;
== Quest Database - Adding Quest ==&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quest ID - ID of the quest, must increment and should not be duplicated.&amp;lt;br&amp;gt;&lt;br /&gt;
Time Limit - Time limit for the quest to be finish.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 1 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val1 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 2 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val2 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 3 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val3 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Quest Title - The title of the Quest you made.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
For this example I will make a quest that will require to kill 10 Poring's.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;65000,0,1002,10,0,0,0,0,&amp;quot;Quest - Poring Hunt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client Side Editing ====&lt;br /&gt;
&lt;br /&gt;
You have to edit your questid2display.txt&lt;br /&gt;
&lt;br /&gt;
==== Structure ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QUESTID#Quest Name#FILENAME#LOG_FILENAME#&lt;br /&gt;
Summary description#&lt;br /&gt;
Objective description#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
65000#Quest - Poring Hunt#SG_FEEL#QUE_NOIMAGE#&lt;br /&gt;
Find the monster named Poring and kill 10#&lt;br /&gt;
Hunting 10 Poring#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Quest Log Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Set Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*setquest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place quest of &amp;lt;ID&amp;gt; in the users quest log, the state of which is &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	SetQuest	51,{&lt;br /&gt;
setquest 65000;	// This will add the Quest ID 65000 to your Quest Window.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sample will add the quest &amp;quot;Quest - Poring Hunt&amp;quot; which I stated on the Adding Quest.&lt;br /&gt;
'''Note''': The example is just a simple NPC that will add Quest ID 65000 every time you click it, You can add conditions so that it can only be taken once. &lt;br /&gt;
&lt;br /&gt;
=== Complete Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*completequest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the state for the given quest &amp;lt;ID&amp;gt; to &amp;quot;complete&amp;quot; and remove from &lt;br /&gt;
the users quest log.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CompleteQuest	51,{&lt;br /&gt;
completequest 65000;	// This will change the state of the quest to &amp;quot;complete&amp;quot;&lt;br /&gt;
set zeny,zeny + 100;   //just add line like this if you want to give zeny reward if a player finish the quest.&lt;br /&gt;
getitem 501,1;         //just add line like this if you want to give item reward if a player finish the quest.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erase Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*erasequest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the quest of the given &amp;lt;ID&amp;gt; from the user's quest log.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	EraseQuest	51,{&lt;br /&gt;
erasequest 65000;	// This will remove the quest to your Quest Window.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Change Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*changequest &amp;lt;ID&amp;gt;,&amp;lt;ID2&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove quest of the given &amp;lt;ID&amp;gt; from the user's quest log.&lt;br /&gt;
Add quest of the &amp;lt;ID2&amp;gt; to the the quest log, and the state is &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	ChangeQuest	51,{&lt;br /&gt;
changequest 65000,65001; // This will remove the quest ID 65000 and change it to 65001 with the state &amp;quot;active&amp;quot;.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Check Quest ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;*checkquest(&amp;lt;ID&amp;gt;{,PLAYTIME|HUNTING})&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no additional argument supplied, return the state of the quest: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0  = Quest has been given, but the state is &amp;quot;inactive&amp;quot;&lt;br /&gt;
1  = Quest has been given, and the state is &amp;quot;active&amp;quot;&lt;br /&gt;
2  = Quest completed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CheckQuest	51,{&lt;br /&gt;
&lt;br /&gt;
if(checkquest(65000) == 0) { //Quest is Inactive&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest is Inactive&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == -1) { //Quest Not started yet &lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Not Started&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == 1) { //Quest is Active&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest is Active!&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == 2) {	// Quest finished.&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Finished!&amp;quot;;&lt;br /&gt;
completequest 65000;&lt;br /&gt;
close;&lt;br /&gt;
} &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If parameter &amp;quot;PLAYTIME&amp;quot; is supplied:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0  = the time limit has not yet been reached&lt;br /&gt;
1  = the time limit has not been reached but the quest is marked as complete&lt;br /&gt;
2  = the time limit has been reached&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If parameter &amp;quot;HUNTING&amp;quot; is supplied:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0 = you haven't killed all of the target monsters and the time limit has not been reached.&lt;br /&gt;
1 = you haven't killed all of the target monsters but the time limit has been reached.&lt;br /&gt;
2 = you've killed all of the target monsters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example | Hunting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CheckQuest	51,{&lt;br /&gt;
&lt;br /&gt;
if (checkquest(65000,HUNTING) == -1) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest not Started&amp;quot;,&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 0) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;You haven't killed all of the target monsters and the time limit has not been reached.&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 1) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;You haven't killed all of the target monsters but the time limit has been reached.&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 2) {&lt;br /&gt;
completequest 65000;&lt;br /&gt;
set zeny,zeny+100;      //Zeny Reward&lt;br /&gt;
getitem 501,1;          // Item Reward&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Finished&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show Event ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*showevent &amp;lt;state&amp;gt;, &amp;lt;color&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Show a colored mark in the mini-map like &amp;quot;viewpoint&amp;quot; and an emotion on top &lt;br /&gt;
of a NPC. This is used to indicate that a NPC has a quest or an event to &lt;br /&gt;
certain player/s. &lt;br /&gt;
&lt;br /&gt;
state can be:&lt;br /&gt;
	0 = disable ( Used to disable and remove the mark and the emotion from &lt;br /&gt;
		the NPC. )&lt;br /&gt;
	1 = exclamation emotion ( Used to show an important quest event to &lt;br /&gt;
		certain player. )&lt;br /&gt;
	2 = interrogation emotion ( Used to show an non-important quest event &lt;br /&gt;
		to certain player. )&lt;br /&gt;
Other value may cause client crashes.&lt;br /&gt;
&lt;br /&gt;
color can be:&lt;br /&gt;
	0 = yellow &amp;quot;Quest&amp;quot;&lt;br /&gt;
	1 = orange &amp;quot;Job&amp;quot;&lt;br /&gt;
	2 = green &amp;quot;Event&amp;quot;&lt;br /&gt;
	3 = an MVP flag&lt;br /&gt;
Other values show a transparent mark in the mini-map.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Increasing Max Quest DB ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
trunk/src/common/mmo.h &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find this line and increase the value.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MAX_QUEST_DB 2410       // Max quests that the server will load&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recompile, Cheers!&lt;br /&gt;
&lt;br /&gt;
(If you don't know how to recompile click [[Compiling|Here!]])&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Quest_Log_System</id>
		<title>Quest Log System</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Quest_Log_System"/>
				<updated>2013-07-03T06:02:06Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: Created page with &amp;quot;== Quest Log System ==  ==== Basic Structure of NPC ====  First of all you must have a knowledge on basic scripting, if not please kindly Click Here!.  ===...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quest Log System ==&lt;br /&gt;
&lt;br /&gt;
==== Basic Structure of NPC ====&lt;br /&gt;
&lt;br /&gt;
First of all you must have a knowledge on basic scripting, if not please kindly Click [[Basic_Scripting|Here!]].&lt;br /&gt;
&lt;br /&gt;
==== Quest Window ====&lt;br /&gt;
&lt;br /&gt;
The Quest Window or Quest Journal (Opened via Alt+U) allows the player to view all quests their character has started but not yet completed (Except for instance dungeon quests and Battlegrounds instances, which always remain once started).&lt;br /&gt;
To place a quest in the Inactive tab, right click once on it and the name will turn gray. It will then appear on the Inactive tab instead of Active. Right clicking the name again will bring it back to the Active tab. Moving the quest back and forth has no effect on whether you can continue it or not.&lt;br /&gt;
Not every quest has a quest window component. Those quests who have quest window walkthroughs can be found in this category as well as by having their infobox in gold. Additionally, the Quest Window guides are not comprehensive, and do not specify the exact coordinates of the next NPC or location the player must visit. It is highly recommended to continue using the wiki guides along with the in-game walkthroughs.&lt;br /&gt;
&lt;br /&gt;
[[File:QWindow.jpg|center|caption]]&lt;br /&gt;
&lt;br /&gt;
== Quest Database - Adding Quest ==&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quest ID - ID of the quest, must increment and should not be duplicated.&amp;lt;br&amp;gt;&lt;br /&gt;
Time Limit - Time limit for the quest to be finish.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 1 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val1 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 2 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val2 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Target 3 - Monster ID.&amp;lt;br&amp;gt;&lt;br /&gt;
Val3 - Value of Monster to be killed.&amp;lt;br&amp;gt;&lt;br /&gt;
Quest Title - The title of the Quest you made.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
For this example I will make a quest that will require to kill 10 Poring's.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;65000,0,1002,10,0,0,0,0,&amp;quot;Quest - Poring Hunt&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Client Side Editing ====&lt;br /&gt;
&lt;br /&gt;
You have to edit your questid2display.txt&lt;br /&gt;
&lt;br /&gt;
==== Structure ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QUESTID#Quest Name#FILENAME#LOG_FILENAME#&lt;br /&gt;
Summary description#&lt;br /&gt;
Objective description#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
65000#Quest - Poring Hunt#SG_FEEL#QUE_NOIMAGE#&lt;br /&gt;
Find the monster named Poring and kill 10#&lt;br /&gt;
Hunting 10 Poring#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Quest Log Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Set Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*setquest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Place quest of &amp;lt;ID&amp;gt; in the users quest log, the state of which is &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	SetQuest	51,{&lt;br /&gt;
setquest 65000;	// This will add the Quest ID 65000 to your Quest Window.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This sample will add the quest &amp;quot;Quest - Poring Hunt&amp;quot; which I stated on the Adding Quest.&lt;br /&gt;
'''Note''': The example is just a simple NPC that will add Quest ID 65000 every time you click it, You can add conditions so that it can only be taken once. &lt;br /&gt;
&lt;br /&gt;
=== Complete Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*completequest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the state for the given quest &amp;lt;ID&amp;gt; to &amp;quot;complete&amp;quot; and remove from &lt;br /&gt;
the users quest log.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CompleteQuest	51,{&lt;br /&gt;
completequest 65000;	// This will change the state of the quest to &amp;quot;complete&amp;quot;&lt;br /&gt;
set zeny,zeny + 100;   //just add line like this if you want to give zeny reward if a player finish the quest.&lt;br /&gt;
getitem 501,1;         //just add line like this if you want to give item reward if a player finish the quest.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erase Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*erasequest &amp;lt;ID&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the quest of the given &amp;lt;ID&amp;gt; from the user's quest log.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	EraseQuest	51,{&lt;br /&gt;
erasequest 65000;	// This will remove the quest to your Quest Window.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Change Quest ===&lt;br /&gt;
&amp;lt;pre&amp;gt;*changequest &amp;lt;ID&amp;gt;,&amp;lt;ID2&amp;gt;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove quest of the given &amp;lt;ID&amp;gt; from the user's quest log.&lt;br /&gt;
Add quest of the &amp;lt;ID2&amp;gt; to the the quest log, and the state is &amp;quot;active&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	ChangeQuest	51,{&lt;br /&gt;
changequest 65000,65001; // This will remove the quest ID 65000 and change it to 65001 with the state &amp;quot;active&amp;quot;.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Check Quest ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;*checkquest(&amp;lt;ID&amp;gt;{,PLAYTIME|HUNTING})&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If no additional argument supplied, return the state of the quest: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0  = Quest has been given, but the state is &amp;quot;inactive&amp;quot;&lt;br /&gt;
1  = Quest has been given, and the state is &amp;quot;active&amp;quot;&lt;br /&gt;
2  = Quest completed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CheckQuest	51,{&lt;br /&gt;
&lt;br /&gt;
if(checkquest(65000) == 0) { //Quest is Inactive&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest is Inactive&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == -1) { //Quest Not started yet &lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Not Started&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == 1) { //Quest is Active&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest is Active!&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if(checkquest(65000) == 2) {	// Quest finished.&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Finished!&amp;quot;;&lt;br /&gt;
completequest 65000;&lt;br /&gt;
close;&lt;br /&gt;
} &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If parameter &amp;quot;PLAYTIME&amp;quot; is supplied:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0  = the time limit has not yet been reached&lt;br /&gt;
1  = the time limit has not been reached but the quest is marked as complete&lt;br /&gt;
2  = the time limit has been reached&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If parameter &amp;quot;HUNTING&amp;quot; is supplied:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-1 = Quest not started (not in quest log)&lt;br /&gt;
0 = you haven't killed all of the target monsters and the time limit has not been reached.&lt;br /&gt;
1 = you haven't killed all of the target monsters but the time limit has been reached.&lt;br /&gt;
2 = you've killed all of the target monsters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example | Hunting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;prontera,xx,xx,4	script	CheckQuest	51,{&lt;br /&gt;
&lt;br /&gt;
if (checkquest(65000,HUNTING) == -1) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest not Started&amp;quot;,&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 0) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;You haven't killed all of the target monsters and the time limit has not been reached.&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 1) {&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;You haven't killed all of the target monsters but the time limit has been reached.&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
} else if (checkquest(65000,HUNTING) == 2) {&lt;br /&gt;
completequest 65000;&lt;br /&gt;
set zeny,zeny+100;      //Zeny Reward&lt;br /&gt;
getitem 501,1;          // Item Reward&lt;br /&gt;
mes &amp;quot;[Jelly]&amp;quot;;&lt;br /&gt;
mes &amp;quot;Quest Finished&amp;quot;;&lt;br /&gt;
close;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Show Event ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*showevent &amp;lt;state&amp;gt;, &amp;lt;color&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Show a colored mark in the mini-map like &amp;quot;viewpoint&amp;quot; and an emotion on top &lt;br /&gt;
of a NPC. This is used to indicate that a NPC has a quest or an event to &lt;br /&gt;
certain player/s. &lt;br /&gt;
&lt;br /&gt;
state can be:&lt;br /&gt;
	0 = disable ( Used to disable and remove the mark and the emotion from &lt;br /&gt;
		the NPC. )&lt;br /&gt;
	1 = exclamation emotion ( Used to show an important quest event to &lt;br /&gt;
		certain player. )&lt;br /&gt;
	2 = interrogation emotion ( Used to show an non-important quest event &lt;br /&gt;
		to certain player. )&lt;br /&gt;
Other value may cause client crashes.&lt;br /&gt;
&lt;br /&gt;
color can be:&lt;br /&gt;
	0 = yellow &amp;quot;Quest&amp;quot;&lt;br /&gt;
	1 = orange &amp;quot;Job&amp;quot;&lt;br /&gt;
	2 = green &amp;quot;Event&amp;quot;&lt;br /&gt;
	3 = an MVP flag&lt;br /&gt;
Other values show a transparent mark in the mini-map.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Increasing Max Quest DB ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
trunk/src/common/mmo.h &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find this line and increase the value.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#define MAX_QUEST_DB 2410       // Max quests that the server will load&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recompile, Cheers!&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:QWindow.jpg</id>
		<title>File:QWindow.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:QWindow.jpg"/>
				<updated>2013-07-03T04:16:06Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC</id>
		<title>Building HPM Plugin for MSVC</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC"/>
				<updated>2013-06-04T15:43:39Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: /* Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your MSVC environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
1. Go to '''src/plugins/''' folder, create a new '''.c''' file, e.g. '''dance.c''' (this name will be used throughout this guide)&lt;br /&gt;
[[File:step1.JPG|center|750px]]&lt;br /&gt;
2. Open dance.c and paste this code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;quot;../common/HPMi.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/script.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/pc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HPExport struct hplugin_info pinfo =&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@dance&amp;quot;,		// Plugin name&lt;br /&gt;
    SERVER_TYPE_MAP,// Which server types this plugin works with?&lt;br /&gt;
    &amp;quot;0.1a&amp;quot;,			// Plugin version&lt;br /&gt;
    HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
ACMD(dance)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (!message || !*message) {&lt;br /&gt;
		  clif-&amp;gt;message(fd, &amp;quot;usage: @dance 1-9&amp;quot;);&lt;br /&gt;
return -1;&lt;br /&gt;
   }&lt;br /&gt;
   if ( atoi(message) == 1 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 413, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 2 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 414, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 3 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 415, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 4 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 426, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 5 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 458, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 6 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 466, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 7 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 501, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 8 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 540, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 9 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 550, ALL_CLIENT);&lt;br /&gt;
   }&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
	clif-&amp;gt;message(fd, &amp;quot;usage: @dance 1-9&amp;quot;); &lt;br /&gt;
	}&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Server Startup */&lt;br /&gt;
HPExport void plugin_init (void)&lt;br /&gt;
{&lt;br /&gt;
    clif = GET_SYMBOL(&amp;quot;clif&amp;quot;);&lt;br /&gt;
    script = GET_SYMBOL(&amp;quot;script&amp;quot;);&lt;br /&gt;
    skill = GET_SYMBOL(&amp;quot;skill&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    HPMi-&amp;gt;addCommand(&amp;quot;dance&amp;quot;,ACMD_A(dance));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Open your MSVC project (e.g. '''Hercules-10.sln'')&lt;br /&gt;
[[File:step2.JPG|center|750px]]&lt;br /&gt;
4. Go to the '''Solution Explorer'''&lt;br /&gt;
[[File:step3.JPG|center|750px]]&lt;br /&gt;
5. Right click the Hercules project (first item in '''Solution Explorer'''), and click '''Add-&amp;gt;New Project'''&lt;br /&gt;
[[File:step4.JPG|center|750px]]&lt;br /&gt;
6. Select '''General''', and pick '''Empty Project'''.&lt;br /&gt;
[[File:step5.JPG|center|750px]]&lt;br /&gt;
7. Enter the name of your plugin in the '''Name''' field, and click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. In the solution explorer it'll display the new project.&lt;br /&gt;
[[File:step6.JPG|center|750px]]&lt;br /&gt;
9. Right click the new project, and open '''Add-&amp;gt;Existing Item'''&lt;br /&gt;
[[File:step7.JPG|center|750px]]&lt;br /&gt;
10. Browse to '''src/plugins/''' and select the '''dance.c''' file, and hit OK.&lt;br /&gt;
[[File:step8.JPG|center|750px]]&lt;br /&gt;
11. It will place the '''dance.c''' file under the '''Source Files''' folder, drag it to the project you created and drop it (in a manner it be placed out of the source files folder.)&lt;br /&gt;
[[File:step9.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step10.JPG|center|750px]]&lt;br /&gt;
12. With the '''dance.c''' out of the folders, delete the 3 of them (select the 3, hit delete, hit ok)&lt;br /&gt;
[[File:step11.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step12.JPG|center|750px]]&lt;br /&gt;
13. Right click the project you created, open '''Properties'''&lt;br /&gt;
[[File:step13.JPG|center|750px]]&lt;br /&gt;
14. Under '''Configuration Properties''' click '''General''', change '''Output Directory''' to '''..\plugins''', '''Intermediate Directory''' to '''$(ProjectName)\$(ConfigurationName)''' and  '''Configuration Type''' to '''Dynamic Library (.dll)'''&lt;br /&gt;
[[File:step14.JPG|center|750px]]&lt;br /&gt;
15. Under '''Configuration Properties''' click '''C/C++''' and open '''General''', change '''Additional Include Directories''' to '''..\src\common;..\3rdparty\msinttypes\include'''&lt;br /&gt;
[[File:step15.JPG|center|750px]]&lt;br /&gt;
16. Under '''Configuration Properties''' click '''Linker''' and open '''General''', change '''Output File''' to '''$(OutDir)\dance.dll''' (change dance.dll with your actual name, if you used a different one)&lt;br /&gt;
[[File:step16.JPG|center|750px]]&lt;br /&gt;
17. Done, just add your code to the '''dance.c''' file, and then right-click the project you created, and select '''Build'''&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* This guide is probably the worst I've ever written, if you can do better please hit the 'Edit' button, will be most welcome. - Ind&lt;br /&gt;
* I used MSVC 2008 when testing this guide.&lt;br /&gt;
&lt;br /&gt;
= New Note =&lt;br /&gt;
* Sorry for editing this page, I added step by step images for other people to follow so they can easily follow one of the best feature Hercules have, the HPM. - Thanna&lt;br /&gt;
* The tutorial is tested on MSVC 2010.&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC</id>
		<title>Building HPM Plugin for MSVC</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC"/>
				<updated>2013-06-03T16:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your MSVC environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
1. Go to '''src/plugins/''' folder, create a new '''.c''' file, e.g. '''dance.c''' (this name will be used throughout this guide)&lt;br /&gt;
[[File:step1.JPG|center|750px]]&lt;br /&gt;
2. Open dance.c and paste this code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;quot;../common/HPMi.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/script.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/pc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HPExport struct hplugin_info pinfo =&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@dance&amp;quot;,		// Plugin name&lt;br /&gt;
    SERVER_TYPE_MAP,// Which server types this plugin works with?&lt;br /&gt;
    &amp;quot;0.1a&amp;quot;,			// Plugin version&lt;br /&gt;
    HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
ACMD(dance)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (!message || !*message) {&lt;br /&gt;
		  clif-&amp;gt;message(fd, &amp;quot;usage: @dance 1-9&amp;quot;);&lt;br /&gt;
return -1;&lt;br /&gt;
   }&lt;br /&gt;
   if ( atoi(message) == 1 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 413, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 2 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 414, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 3 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 415, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 4 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 426, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 5 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 458, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 6 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 466, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 7 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 501, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 8 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 540, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 9 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 550, ALL_CLIENT);&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Server Startup */&lt;br /&gt;
HPExport void plugin_init (void)&lt;br /&gt;
{&lt;br /&gt;
    clif = GET_SYMBOL(&amp;quot;clif&amp;quot;);&lt;br /&gt;
    script = GET_SYMBOL(&amp;quot;script&amp;quot;);&lt;br /&gt;
    skill = GET_SYMBOL(&amp;quot;skill&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    HPMi-&amp;gt;addCommand(&amp;quot;dance&amp;quot;,ACMD_A(dance));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Open your MSVC project (e.g. '''Hercules-10.sln'')&lt;br /&gt;
[[File:step2.JPG|center|750px]]&lt;br /&gt;
4. Go to the '''Solution Explorer'''&lt;br /&gt;
[[File:step3.JPG|center|750px]]&lt;br /&gt;
5. Right click the Hercules project (first item in '''Solution Explorer'''), and click '''Add-&amp;gt;New Project'''&lt;br /&gt;
[[File:step4.JPG|center|750px]]&lt;br /&gt;
6. Select '''General''', and pick '''Empty Project'''.&lt;br /&gt;
[[File:step5.JPG|center|750px]]&lt;br /&gt;
7. Enter the name of your plugin in the '''Name''' field, and click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. In the solution explorer it'll display the new project.&lt;br /&gt;
[[File:step6.JPG|center|750px]]&lt;br /&gt;
9. Right click the new project, and open '''Add-&amp;gt;Existing Item'''&lt;br /&gt;
[[File:step7.JPG|center|750px]]&lt;br /&gt;
10. Browse to '''src/plugins/''' and select the '''dance.c''' file, and hit OK.&lt;br /&gt;
[[File:step8.JPG|center|750px]]&lt;br /&gt;
11. It will place the '''dance.c''' file under the '''Source Files''' folder, drag it to the project you created and drop it (in a manner it be placed out of the source files folder.)&lt;br /&gt;
[[File:step9.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step10.JPG|center|750px]]&lt;br /&gt;
12. With the '''dance.c''' out of the folders, delete the 3 of them (select the 3, hit delete, hit ok)&lt;br /&gt;
[[File:step11.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step12.JPG|center|750px]]&lt;br /&gt;
13. Right click the project you created, open '''Properties'''&lt;br /&gt;
[[File:step13.JPG|center|750px]]&lt;br /&gt;
14. Under '''Configuration Properties''' click '''General''', change '''Output Directory''' to '''..\plugins''', '''Intermediate Directory''' to '''$(ProjectName)\$(ConfigurationName)''' and  '''Configuration Type''' to '''Dynamic Library (.dll)'''&lt;br /&gt;
[[File:step14.JPG|center|750px]]&lt;br /&gt;
15. Under '''Configuration Properties''' click '''C/C++''' and open '''General''', change '''Additional Include Directories''' to '''..\src\common;..\3rdparty\msinttypes\include'''&lt;br /&gt;
[[File:step15.JPG|center|750px]]&lt;br /&gt;
16. Under '''Configuration Properties''' click '''Linker''' and open '''General''', change '''Output File''' to '''$(OutDir)\dance.dll''' (change dance.dll with your actual name, if you used a different one)&lt;br /&gt;
[[File:step16.JPG|center|750px]]&lt;br /&gt;
17. Done, just add your code to the '''dance.c''' file, and then right-click the project you created, and select '''Build'''&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* This guide is probably the worst I've ever written, if you can do better please hit the 'Edit' button, will be most welcome. - Ind&lt;br /&gt;
* I used MSVC 2008 when testing this guide.&lt;br /&gt;
&lt;br /&gt;
= New Note =&lt;br /&gt;
* Sorry for editing this page, I added step by step images for other people to follow so they can easily follow one of the best feature Hercules have, the HPM. - Thanna&lt;br /&gt;
* The tutorial is tested on MSVC 2010.&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC</id>
		<title>Building HPM Plugin for MSVC</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC"/>
				<updated>2013-06-03T16:52:05Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: /* Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your MSVC environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
1. Go to '''src/plugins/''' folder, create a new '''.c''' file, e.g. '''dance.c''' (this name will be used throughout this guide)&lt;br /&gt;
[[File:step1.JPG|center|750px]]&lt;br /&gt;
2. Open dance.c and paste this code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;quot;../common/HPMi.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/script.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/pc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HPExport struct hplugin_info pinfo =&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@dance&amp;quot;,		// Plugin name&lt;br /&gt;
    SERVER_TYPE_MAP,// Which server types this plugin works with?&lt;br /&gt;
    &amp;quot;0.1a&amp;quot;,			// Plugin version&lt;br /&gt;
    HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
ACMD(dance)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (!message || !*message) {&lt;br /&gt;
		  clif-&amp;gt;message(fd, &amp;quot;usage: @dance 1-9&amp;quot;);&lt;br /&gt;
return -1;&lt;br /&gt;
   }&lt;br /&gt;
   if ( atoi(message) == 1 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 413, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 2 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 414, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 3 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 415, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 4 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 426, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 5 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 458, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 6 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 466, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 7 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 501, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 8 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 540, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 9 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 550, ALL_CLIENT);&lt;br /&gt;
   }&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Server Startup */&lt;br /&gt;
HPExport void plugin_init (void)&lt;br /&gt;
{&lt;br /&gt;
    clif = GET_SYMBOL(&amp;quot;clif&amp;quot;);&lt;br /&gt;
    script = GET_SYMBOL(&amp;quot;script&amp;quot;);&lt;br /&gt;
    skill = GET_SYMBOL(&amp;quot;skill&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    HPMi-&amp;gt;addCommand(&amp;quot;dance&amp;quot;,ACMD_A(dance));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Open your MSVC project (e.g. '''Hercules-10.sln'')&lt;br /&gt;
[[File:step2.JPG|center|750px]]&lt;br /&gt;
4. Go to the '''Solution Explorer'''&lt;br /&gt;
[[File:step3.JPG|center|750px]]&lt;br /&gt;
5. Right click the Hercules project (first item in '''Solution Explorer'''), and click '''Add-&amp;gt;New Project'''&lt;br /&gt;
[[File:step4.JPG|center|750px]]&lt;br /&gt;
6. Select '''General''', and pick '''Empty Project'''.&lt;br /&gt;
[[File:step5.JPG|center|750px]]&lt;br /&gt;
7. Enter the name of your plugin in the '''Name''' field, and click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. In the solution explorer it'll display the new project.&lt;br /&gt;
[[File:step6.JPG|center|750px]]&lt;br /&gt;
9. Right click the new project, and open '''Add-&amp;gt;Existing Item'''&lt;br /&gt;
[[File:step7.JPG|center|750px]]&lt;br /&gt;
10. Browse to '''src/plugins/''' and select the '''dance.c''' file, and hit OK.&lt;br /&gt;
[[File:step8.JPG|center|750px]]&lt;br /&gt;
11. It will place the '''dance.c''' file under the '''Source Files''' folder, drag it to the project you created and drop it (in a manner it be placed out of the source files folder.)&lt;br /&gt;
[[File:step9.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step10.JPG|center|750px]]&lt;br /&gt;
12. With the '''dance.c''' out of the folders, delete the 3 of them (select the 3, hit delete, hit ok)&lt;br /&gt;
[[File:step11.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step12.JPG|center|750px]]&lt;br /&gt;
13. Right click the project you created, open '''Properties'''&lt;br /&gt;
[[File:step13.JPG|center|750px]]&lt;br /&gt;
14. Under '''Configuration Properties''' click '''General''', change '''Output Directory''' to '''..\plugins''', '''Intermediate Directory''' to '''$(ProjectName)\$(ConfigurationName)''' and  '''Configuration Type''' to '''Dynamic Library (.dll)'''&lt;br /&gt;
[[File:step14.JPG|center|750px]]&lt;br /&gt;
15. Under '''Configuration Properties''' click '''C/C++''' and open '''General''', change '''Additional Include Directories''' to '''..\src\common;..\3rdparty\msinttypes\include'''&lt;br /&gt;
[[File:step15.JPG|center|750px]]&lt;br /&gt;
16. Under '''Configuration Properties''' click '''Linker''' and open '''General''', change '''Output File''' to '''$(OutDir)\dance.dll''' (change dance.dll with your actual name, if you used a different one)&lt;br /&gt;
[[File:step16.JPG|center|750px]]&lt;br /&gt;
17. Done, just add your code to the '''dance.c''' file, and then right-click the project you created, and select '''Build'''&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* This guide is probably the worst I've ever written, if you can do better please hit the 'Edit' button, will be most welcome. - Ind&lt;br /&gt;
* I used MSVC 2008 when testing this guide.&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step16.JPG</id>
		<title>File:Step16.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step16.JPG"/>
				<updated>2013-06-03T16:22:36Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step15.JPG</id>
		<title>File:Step15.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step15.JPG"/>
				<updated>2013-06-03T16:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step14.JPG</id>
		<title>File:Step14.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step14.JPG"/>
				<updated>2013-06-03T16:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step13.JPG</id>
		<title>File:Step13.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step13.JPG"/>
				<updated>2013-06-03T16:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step12.JPG</id>
		<title>File:Step12.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step12.JPG"/>
				<updated>2013-06-03T16:20:54Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step11.JPG</id>
		<title>File:Step11.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step11.JPG"/>
				<updated>2013-06-03T16:20:27Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step10.JPG</id>
		<title>File:Step10.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step10.JPG"/>
				<updated>2013-06-03T16:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step9.JPG</id>
		<title>File:Step9.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step9.JPG"/>
				<updated>2013-06-03T16:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step8.JPG</id>
		<title>File:Step8.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step8.JPG"/>
				<updated>2013-06-03T16:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step7.JPG</id>
		<title>File:Step7.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step7.JPG"/>
				<updated>2013-06-03T16:18:19Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step6.JPG</id>
		<title>File:Step6.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step6.JPG"/>
				<updated>2013-06-03T16:17:51Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step5.JPG</id>
		<title>File:Step5.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step5.JPG"/>
				<updated>2013-06-03T16:17:23Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step4.JPG</id>
		<title>File:Step4.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step4.JPG"/>
				<updated>2013-06-03T16:16:48Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step3.JPG</id>
		<title>File:Step3.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step3.JPG"/>
				<updated>2013-06-03T16:16:15Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step2.JPG</id>
		<title>File:Step2.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step2.JPG"/>
				<updated>2013-06-03T16:15:13Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/File:Step1.JPG</id>
		<title>File:Step1.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/File:Step1.JPG"/>
				<updated>2013-06-03T16:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;Thanna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thanna</name></author>	</entry>

	</feed>