<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>D3scene - Warcraft 3 forum</title>
		<link>http://www.d3scene.com/forum/</link>
		<description>A Warcraft 3 community forum for everyone that is interested in WC3. We welcome you to join our discussions related to everything about Warcraft III.</description>
		<language>en</language>
		<lastBuildDate>Fri, 20 Nov 2009 23:25:03 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.d3scene.com/forum/images/bullet/misc/rss.jpg</url>
			<title>D3scene - Warcraft 3 forum</title>
			<link>http://www.d3scene.com/forum/</link>
		</image>
		<item>
			<title>Offering Warcraft 3 Keyset</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33593-offering-warcraft-3-keyset.html</link>
			<pubDate>Thu, 12 Nov 2009 02:40:36 GMT</pubDate>
			<description>Offerring 100% working on bnet warcraft 3 keyset or starcraft/broodwar key, need diablo 2 keyset 100% working on bnet, please pm me, trade will be...</description>
			<content:encoded><![CDATA[<div>Offerring 100% working on bnet warcraft 3 keyset or starcraft/broodwar key, need diablo 2 keyset 100% working on bnet, please pm me, trade will be made with trusted mediators ONLY!</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>Satanic</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33593-offering-warcraft-3-keyset.html</guid>
		</item>
		<item>
			<title>Free ROC/TFT original cdkey</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33589-free-roc-tft-original-cdkey.html</link>
			<pubDate>Wed, 11 Nov 2009 23:14:13 GMT</pubDate>
			<description>The first cdkey is free.. whoever want more he must whisp me or send me email for trade/sell 
 
 
----alexander got it-----</description>
			<content:encoded><![CDATA[<div>The first cdkey is free.. whoever want more he must whisp me or send me email for trade/sell<br />
<br />
<br />
----alexander got it-----</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>Ginzo</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33589-free-roc-tft-original-cdkey.html</guid>
		</item>
		<item>
			<title>Question about sense of using Loss/Abuse bot?</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33572-question-about-sense-using-loss-abuse-bot.html</link>
			<pubDate>Wed, 11 Nov 2009 10:31:21 GMT</pubDate>
			<description><![CDATA[*ehh... new forum and I'm fired with my first post. Sorry, I'll repost in proper sub-forum obviously.*]]></description>
			<content:encoded><![CDATA[<div><b><font color="Red">ehh... new forum and I'm fired with my first post. Sorry, I'll repost in proper sub-forum obviously.</font></b></div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>Morfi717</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33572-question-about-sense-using-loss-abuse-bot.html</guid>
		</item>
		<item>
			<title>How do i host games on battle.net for Warcraft 3</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33539-how-do-i-host-games-battle-net-warcraft-3-a.html</link>
			<pubDate>Tue, 10 Nov 2009 06:57:24 GMT</pubDate>
			<description>I setted up ports....... and all that. Then that didnt work and then i downloaded a bot. Well it didnt work and it was reigns bot?</description>
			<content:encoded><![CDATA[<div>I setted up ports....... and all that. Then that didnt work and then i downloaded a bot. Well it didnt work and it was reigns bot?</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>iseeblue</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33539-how-do-i-host-games-battle-net-warcraft-3-a.html</guid>
		</item>
		<item>
			<title>Account for sale - Northrend</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33508-account-sale-northrend.html</link>
			<pubDate>Sun, 08 Nov 2009 21:19:37 GMT</pubDate>
			<description>Hello 
 
Im selling wc3 accounts @ northrend : 
 
Frozen Throne - Northrend - wannabeloved - Player Profile...</description>
			<content:encoded><![CDATA[<div>Hello<br />
<br />
Im selling <acronym title="Warcraft 3">wc3</acronym> accounts @ northrend :<br />
<br />
<a href="http://classic.battle.net/war3/ladder/W3XP-player-profile.aspx?Gateway=Northrend&amp;PlayerName=wannabeloved" target="_blank">Frozen Throne - Northrend - wannabeloved - Player Profile</a><br />
<br />
Clan wNo, Pitlords tournaments ico, 547 Wins                                                                         194 Losses                                                                          73.82 % Wins overall, and about tournaments its even better.<br />
<br />
Prize is 20 &#8364;, think its fair, can renegociate.<br />
<br />
And another account,<br />
<br />
<a href="http://classic.battle.net/war3/ladder/W3XP-player-profile.aspx?Gateway=Northrend&amp;PlayerName=wtf3-fanat" target="_blank">Frozen Throne - Northrend - wtf3-fanat - Player Profile</a><br />
<br />
Its insane account really, prize is 15 &#8364; from the hand (its cheap enought imho)<br />
<br />
If you are not interested, then please let me be no flame no offense<br />
ps. I know tradeland would be better place, but from my experience i know that most of players doesnt not check that so im posting here, and on marketplace.<br />
<br />
Gl guys, Love ya all :* !!<br />
<br />
<br />
edit<br />
<br />
Cheaper accounts, with lower %<br />
<br />
Another accounts for sale : MieleC. <br />
This one got little under 50%, and illidan ico, so the prize is veryvery low (5&#8364;)<br />
<br />
<a href="http://classic.battle.net/war3/ladder/W3XP-player-profile.aspx?Gateway=Northrend&amp;PlayerName=mielec" target="_blank">Frozen Throne - Northrend - mielec - Player Profile</a>.<br />
<br />
The next one is Roc+tft account, <br />
On roc it got 2518 wins,  																		2825 looses that gives 47 %.<br />
It got deathwing icon + many others.<br />
On tft its around 1132 wins with 47%.<br />
It costs 10 &#8364;<br />
<br />
<a href="http://classic.battle.net/war3/ladder/war3-player-profile.aspx?Gateway=Northrend&amp;PlayerName=dowhateveruwant" target="_blank">Warcraft III - Northrend - dowhateveruwant - Player Profile</a>  		 		  		  		 		  		 		 			 				__________________</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>WaitForUfo</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33508-account-sale-northrend.html</guid>
		</item>
		<item>
			<title>Trigger Questions Answered Here</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33361-trigger-questions-answered-here.html</link>
			<pubDate>Mon, 02 Nov 2009 20:34:54 GMT</pubDate>
			<description>If you have any questions about triggers(triggering) just ask it here and i will answer it pretty fast. If i do not have the answer i will post a...</description>
			<content:encoded><![CDATA[<div>If you have any questions about triggers(triggering) just ask it here and i will answer it pretty fast. If i do not have the answer i will post a link to where is a answer or i will ask a fellow :loved3:er.<br />
<br />
If i do solve your problem make sure you +rep me</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>fogest</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33361-trigger-questions-answered-here.html</guid>
		</item>
		<item>
			<title>Basic Triggering Techniques 1</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33359-basic-triggering-techniques-1-a.html</link>
			<pubDate>Mon, 02 Nov 2009 17:41:15 GMT</pubDate>
			<description>This tutorial is meant to be a guide for people who have little or no experience in working with triggers. The concepts will be extremely basic, but...</description>
			<content:encoded><![CDATA[<div>This tutorial is meant to be a guide for people who have little or no experience in working with triggers. The concepts will be extremely basic, but hopefully thorough and written in a language that will help people new to working with triggers gain the fundamentals they need to know to create simple triggers and build their way up to more advanced trigger functions. The tutorial will use a series of simple examples of real-game events and actions to show how to develop triggers you can use to make maps. <br />
<br />
Let's start with some basic terminology and some basic things about the editor.  <br />
<br />
<b><font color="orange">Section 1: Triggers - Events, Conditions, &amp; Actions</font></b><br />
<br />
<font color="orange"><b>Trigger:</b></font> A trigger is a function or series of functions that are programmed to happen in a map. Triggers have 3 parts: Events, Conditions, and Actions. All triggers have these three components; although not all triggers require Events or Conditions (any trigger that is going to do something in the map must have at least one action, however). <br />
<br />
<font color="orange"><b>Events:</b></font> Events are things that happen - simple as that. Triggers don't have to have events that occur within the actual trigger, but they must have some sort of event, or else nothing would ever occur. Triggers can also have more than one event (something people don't always think of). In other words, two different things could cause the same thing to happen in your map. Think: cause and effect. If you never have a cause, you will never have any effect. Ever. Period. If you don't have some kind of event, nothing happens, no matter how many actions you put in. <br />
<br />
<b><u>Examples of events:</u></b><ul><li>A unit dies (a unit is killed)</li>
<li>A unit enters a region (a unit steps across the boundary of a region)</li>
<li>Map Initialization (the start of a game)</li>
<li>Elapsed time (some amount of time elapses from the beginning of the game)</li>
<li>Player chat event (someone types something into chat)</li>
<li>A player hits the ESC key</li>
<li>A player selects a unit</li>
</ul><br />
<font color="orange"><b>Conditions: </b></font>Conditions are just that, things that must be true or met in order for the trigger to actually happen. Conditions are used to discriminate <b>a general event</b> from the <b>specific event you are interested in</b>. Like events, triggers can have more than one condition. Multiple conditions are always joined by an AND operator, unless you specifically make a condition that tells the trigger to use an OR operator. If you aren't familiar with logical operators, this will be covered at length in a bit. What you need to know about conditions is this: if the condition(s) are not met, the actions will never happen.<br />
<br />
<b><u>Examples of conditions:</u></b><ul><li>Unit type comparison (a specific type of unit is making an event happen)</li>
<li>Player Comparison (a specific player is doing something)</li>
<li>Integer Comparison (a variable is set to a specific integer-type number, ie 1, 2, 3, 4, 7)</li>
<li>Real Comparison (a variable is set to a specific real-type number, ie 1.90, 0.09, 5.00)</li>
</ul><br />
<font color="orange"><b>Actions:</b></font> Actions are what happens when the event occurs AND the conditions are met. If and event occurs but the conditions are not met, nothing happens. If an event happens, the conditions listed for that event are met, and then the triggers actions will start. Something that seems very obvious, but may not be to some newer map-makers is that Events and Conditions have no order to them. How they are listed does not matter. If you have 5 events, any one of them will work. If you have 9 conditions, all 9 must be met. In both cases, order is not important. Actions, however, are <b>always consecutive</b>. The first one listed happens, then the next, then the next, then the next, until the actions are all done. Every time a trigger starts, the actions will play consecutively until they are all worked through. There are some more advanced techniques for skipping actions or forcing the actions to take a small break before continuing, but the actions, once started, will eventually try to go all the way through.<br />
<br />
<b><u>Examples of actions:</u></b><ul><li>Make unit face angle - turns a unit so that it is facing a specific direction</li>
<li>Move unit (instantly) - moves a unit immediately from where it is to where you tell it to go.</li>
<li>Order unit targeting a point - allows you to give the unit a specific command related to a point on the map.</li>
<li>Defeat player - just like it sounds, kicks someone out of the game with a defeat message</li>
<li>Create special effect on a unit - you pick the effect and the unit, boom.</li>
</ul><br />
Ok, so those are the parts of a trigger. If you open the trigger module, you will find that those are the three fields for each trigger. Let's talk a little bit about Event Responses. <br />
<br />
<font color="orange"><b>Event Responses:</b></font> Event Responses are basically specific things that are referred to by the trigger when an event happens. They can be any type of variable that the event refers to. Before you get confused by this terminology, it is actually very simple, so let's go over some examples. <br />
<br />
 	Code:<br />
 	Event: A unit dies<br />
Condition: Unit of the type (dying unit) = Grunt<br />
Action: Defeat Player 1 (Red) <br />
Here is a trigger - silly, simple, but a trigger none-the-less. What does it do? It waits for the event of any unit dying (a generic unit event), then when one dies, it checks to see what type of unit it is that dies, and if that unit is a Grunt, game over for player 1. In this case, it doesn't matter what Grunt dies - because if ANY Grunt-type unit dies, Player 1 is defeated. Not very sensible in most cases, but for our illustrative purposes, it's fine.<br />
<br />
In this case, the Event Response is (dying unit). It refers to the unit that dies in the event. If your event was Map Initialization and your Condition was the same as the one listed here, nothing would happen. If your event were <b>A unit is attacked</b> and your condition is the same as the one listed here, nothing happens. Even if when the unit is attacked, that unit dies. Also, obviously, if your dying unit isn't a Grunt, the actions won't happen either. <br />
<br />
Event responses MUST match the event listed. This is probably one of the most common mistakes that people who are new to map-making in WarcraftIII make. If your trigger isn't working like you expected it to, the event responses are usually the first thing you should check. If you want to track a unit dying, you need a <b>unit dies</b> event. If you want to track a unit being attack, you use <b>unit is attacked</b> as an event and (attacking unit) or (attacked unit) as your event responses. As you can see from the last example, some events have <b>more than one event response</b>. In this case, you can track the unit being attacked and/or the unit that is attacking. The specific response that matches an event usually says something in the subtext about what event it goes with.<br />
<br />
One note, there are many different event responses in the editor and often you can substitute <b>triggering unit</b> for another that is more specific. Triggering unit will generally work with any event that mentions a unit, because that unit is the triggering unit - but you need to be careful with this and make sure you are referencing the correct unit, because as was discussed above, some events can have multiple event responses; triggering unit in <b>A Unit is Attacked</b> refers <b>only</b> to the unit being attacked - to reference the attacking unit, you need to use the event response <b>attacking unit</b>. <br />
<br />
Now let's modify this very simple trigger so that it is a bit more practical and we can discuss some issues with specific vs. generic unit events, logical operators and conditions, if/then/else actions, and events that happen <b>outside of the trigger</b>.<br />
<br />
In our silly example, any Grunt-type unit that dies causes Player 1 (Red) to be defeated. In multiplayer games, this isn't so good, unless there is only one Grunt-type unit in the entire map and you happen to know that it must be owned by Red (or somehow other players are responsible for keeping Red in the game). So, let's modify our trigger very slightly to make it so when a Grunt-type unit owned by Red dies, Red is defeated. Still a silly trigger, but something a bit more usable. To do so, we add another condition:<br />
<br />
 	Code:<br />
 	Event: [Generic Unit Event] A unit dies<br />
Condition: [Unit-type comparison] Unit of the type (dying unit) = Grunt<br />
Condition: [Player comparison] Owner of (dying unit) = Player 1 (Red)<br />
Action: [Game] Defeat Player 1 (Red) <br />
Now, in this case, when a unit dies, the trigger will check the conditions. Is the unit a Grunt-type unit AND is that unit owned by Player 1? If both conditions are met, then Red is defeated. Now, the reason I made such a big deal about AND is that both conditions must be met for the actions to happen. If any unit dies owned by Red that isn't a Grunt-type unit, nothing happens. If any unit dies that is a Grunt but not owned by Red, nothing happens. Both conditions met, Red is defeated. Follow? This is called a logical operator. Logical operator is a fancy word for how these two conditions are related to each other. In our case above, they are joined (or related) by an AND clause, meaning condition 1 AND condition 2 must both be met. An OR operator would work in the following fashion: either condition 1 or condition 2 could be met and the event would trigger the actions. If our two conditions were joined by an OR, and our Grunt unit died, both conditions would still be met, so our event would happen, but of course any time the conditions were met in conjunction with a unit dying, our event would also happen, and we don't want that. <br />
<br />
If you are having trouble getting a trigger to do what you expect it to and you've already checked that the event and event responses are set correctly, you should consider looking at your conditions and make sure tthat there isn't some conflict between two conditions or how they are joined. For example, a unit can't be owned by both Red and Blue, so maybe you meant to have a condition that checks Red or Blue. Conflicting or incorrect conditions are usually the culprit if you know the event is working but none of the actions seem to be happening.<br />
<br />
<font color="orange"><b>Generic vs. Specific Units:</b></font> Now, I have used the terms generic and specific unit events a couple times without really going over them. I will do that now. A generic unit event is an event that can make a trigger run when any unit on the map does it. A unit dies, for example, isn't talking about a specific unit. It could be any unit. Sometimes you want this, sometimes you don't. A specific unit event would be Grunt #012 dies. It would only happen when a specific grunt that is already in place on the map dies. That unit only - no other units can make the event/trigger occur in this case. Generic and Specific unit events are fairly similar, practically any event that is a Specific Unit Event can be done by using Generic Unit Events, but there are some tricky events that only work for Specific units. There are some clever tools to allow you to get around this restriction, but for the most part, generic units are used for any unit that is spawned after the map starts (and those in the map already placed) but specific units are basically only those that you can select specifically while you are working in the editor.<br />
<br />
When you can use specific events, it is generally better to use them. In other words, if your trigger really on involves the actions of one specific unit in your map that is already placed, it is in your best interested to use specific unit events. Why force the computer to check conditions every time some unit dies when what you are interested in is one particular unit that dies? The same thing goes for events that are limited by the player. If you only care about Red's units that die, use the event that goes off when a specific player's units die, rather than the generic event - there is no reason to make the computer check conditions if it isn't necessary.<br />
<br />
<b><font color="orange">Section 2: Special Actions - If/Then &amp; Run Trigger</font></b><br />
<br />
Now, generally speaking, your events, conditions, and actions are separated into their individual areas, however actions are a bit more fluid. You can use, for example, a condition within an action to let the trigger figure out what to do depending on a specific condition. You can also use a special action that forces another trigger to run - so it basically acts like an event and as a result you can have triggers with no events that are simply run by other triggers.<br />
<br />
<font color="orange"><b>If/Then/Else:</b></font> This is an action that only runs when certain conditions are true. You would use an if/then/else action when it make more sense to bundle a series of actions together and only have some of them run under certain conditions.<br />
<br />
As an example, we will continue with our dying grunt triggers from above, but now we want one action to happen when a grunt dies and another to happen when all of the grunts owned by that player are dead. Because both scenarios have the same event, it makes sense to bundle them together and just check for the specific case of no more living units (let's just assume there are 5 grunts) - and under those conditions we will defeat player 1.<br />
<br />
How would that look as a trigger? Like this:<br />
<br />
 	Code:<br />
 	Grunt Dies<br />
    Events<br />
        Unit - A unit owned by Player 1 (Red) Dies<br />
    Conditions<br />
        (Unit-type of (Dying unit)) Equal to Grunt<br />
    Actions<br />
        Game - Display to (All players) the text: A grunt has died!<br />
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)<br />
            If - Conditions<br />
                (Number of living Grunt units owned by Player 1 (Red)) Equal to 0<br />
            Then - Actions<br />
                Game - Defeat Player 1 (Red) with the message: Defeat!<br />
            Else - Actions <br />
If/then/else works in the following fashion - it is treated just like any other action, sequential, driven by your existing trigger, and when the sequence reaches this action, it will check IF some condition is met THEN it will do some specific action, and if not then ELSE it will do some other action. If you do not fill in any actions for a then or an else, the trigger will do nothing when it gets to that case.<br />
<br />
In our example above, we want to defeat Red when all of the Grunt-type units are dead. As you can see, when a unit owned by Red dies, it first checks to make sure that the conditions are met, if so, it prints a message to the screen for all players that says &quot;A grunt has died!&quot; This message will be printed to the screen for every grunt unit that is owned by Red dies, but when all of the grunts are dead, the if/then conditions are met and only then is Red defeated.<br />
<br />
<font color="orange"><b>Run Trigger:</b></font> One last thing on this topic, before we move on to more advanced issues: running an trigger without an event in that trigger. I mentioned it before - all triggers must have some sort of Event, but not all triggers need to have an event in the actual trigger itself. How is that possible? Well, one of the actions you can select is Trigger - Run Trigger (Checking Conditions). This is an action that (when the trigger tells it to do so) runs another trigger that you have selected. <br />
<br />
In our example, let's say we wanted to use Run Trigger to make our current trigger run another trigger. Why we might want to do this may become more obvious to you later, but for now, we will use a trivial example and rather than Defeat Red in this trigger, we will put Defeat Red in another trigger (let's pretend Red has more than one way of losing and we want to keep the action separated because there is some other complexities that are involved with Red losing (like you want to give all of his gold to another player before he leaves, but you don't want to have to keep making the same actions over and over elsewhere in your other triggers). <br />
<br />
So, to do this, it is quite simple, we cut and paste or Defeat Player 1 (Red) action into a new trigger that we will call <b>Red Loses</b>. <br />
<br />
 	Code:<br />
 	Events:<br />
Conditions:<br />
Actions: Defeat Player 1 (Red) <br />
There's our trigger: one action, no conditions, no event. On its own, like it is listed here, it will never do anything. Because there is no event listed, nothing ever will happen by the trigger alone that will cause Red to be defeated. We need to use Run Trigger in another action to force this trigger to run, defeating Red. Now we just add our action to the If/Then/Else action in the other trigger:<br />
<br />
 	Code:<br />
 	Grunt Dies<br />
    Events<br />
        Unit - A unit owned by Player 1 (Red) Dies<br />
    Conditions<br />
        (Unit-type of (Dying unit)) Equal to Grunt<br />
    Actions<br />
        Game - Display to (All players) the text: A grunt has died!<br />
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)<br />
            If - Conditions<br />
                (Number of living Grunt units owned by Player 1 (Red)) Equal to 0<br />
            Then - Actions<br />
                Run Trigger (Red Loses) checking conditions<br />
            Else - Actions <br />
Simple. Now this action will run the other trigger as an event and this trigger will still act exactly as it did before.<br />
<br />
Congratulations, you now know the most basic parts of triggering. Basic things like Actions, Events, Conditions, and Event Responses should no longer seem like some sort of nebulous jargon. They are simple, really. <br />
<br />
Making a trigger work for you - and do what you want it to is not really that hard, but sort of like painting a wall isn't very hard, there are good and bad ways to do things and just because you can paint with your fingers doesn't mean that is the most effective way to get the paint on the wall. Making a good trigger that does what you want when you want it is not always easy. Making it clean and efficient and making it work well with your other triggers to get the job done is often more like art than science. But, in the long run (and especially when you are first starting out) getting it to work is the most important part - making it pretty and clean and efficient can come with practice. You need to know what tool for what job and probably the most daunting part about the WE is that it isn't always easy to find the thing you were looking for. <br />
<br />
Next section we will cover a very important and amazingly useful tool for beginners and even experts: debugging. Why cover it now? Well, I want to spare you the agony of wasting countless hours trying to figure out why your trigger won't work when you think it should. Triggers can be extremely frustrating when things go wrong and if you learn to debug as you learn to program, you are going to be a much happier map-maker.<br />
<br />
<b><font color="orange"><u>Section 3: Debugging Triggers</u></font></b><br />
<br />
First off, let's discuss what is involved with debugging. Debugging is a term that basically means to find problems with your triggers and attempt to resolve them. Debugging is an essential part of map-making, which is why I have included it in with the basic triggering section of these tutorials. <br />
<br />
<font color="orange"><b>Debugging</b></font><br />
<br />
For most debugging, you will only really require one extra step and only one action (although I will cover some other cases). Primarily when you debug, you are revisiting the logic of your triggers and attempting to find the place where you got off track. Sometimes it is not something obvious and in order to make actions more obvious, the simplest tool to use is the <font color="orange"><b>Game - Display Text</b></font> action.<br />
<br />
 	Code:<br />
 	Game - Display to (All players) the text: Hey! <br />
Here is an example of a simple debugging Game - Display Text action. In this case, when the trigger runs, and this action is included in the trigger, it will put a short text message up on the screen. As silly as this is, you can insert this one line of code into your action and it will tell you every time this trigger runs by putting 'Hey!' up on the screen. <br />
<br />
Why would you care to do this? Well let's pretend we have a series of events similar to the triggers we have been working with, in this instance we are using the one with the Run Trigger action as part of an If/Then/Else, but for some reason the trigger isn't working quite the way we were expecting it to and you are uncertain that the Run Trigger action is actually occurring. In this case, we could insert the simple Game - Display Text action above into the 'Red Loses' trigger and when Red should lose, if we don't see our message displayed, we know that the trigger is not being run, meaning that something is wrong with the mechanics of our design. <br />
<br />
Now, I know this seems dumb and most of the people reading this might not see this as being particularly useful, but sometimes the easiest way to debug a trigger (or series of triggers), especially if they are complex, is to use a simple Game - Display Text action such as this one and gradually move the action down through your trigger, starting with making sure the event is happening, and then that the conditions are correct, and then testing each of the actions involved until something that should run does not. The more complex the trigger, the more difficult it is to spot any errors in the trigger chain and even masterful trigger gurus sometimes are forced to resorting to this approach.<br />
<br />
As I mentioned earlier in this tutorial, if your trigger fails, speaking from experience of my own triggering AND years of helping people with triggering problems, that generally the problem is related to one of two things: the <b>trigger response</b> (in other words, the programmer forgot to change (triggering unit) into something else, like say (Last Created Unit) or the conditions are set wrong. Another common problem is that the expected event and the actual event are mismatched. By this I mean that the programmer needed to choose 'Starts the Effect of an Ability' and instead they chose 'Begins Casting' or some other similarly close but incorrect event for the actual event. The good part about all of these issues is that they are almost always possible to spot by using a simple Game - Display Text debug approach.<br />
<br />
In the case of a mismatched event, the trigger will never actually run, because the event you are expecting to happen never happens, and as a result, you never see the 'Hey!' message show up on the screen no matter where it is placed in your series of actions. This problem occurs quite often with WE programming, primarily because Blizzard's notes and events don't always work the same for all events/event responses and they also don't always work the way you think that they should. Fortunately, you can use Game - Display Text in this simple fashion to isolate events that are not triggering and then simply try a number of events (it is usually fairly obvious once you realize that the trigger is not firing when it should) until one makes your 'Hey!' message appear when the event occurs. <br />
<br />
For incorrect event responses, where you have an event response that is mismatched with your event, a simple Game - Display Text may or may not work, depending on the event. In some cases, you may want to consider a slightly more useful approach of using the Game - Display Text action, which is to have the action <b>convert some part of the trigger into a string</b> and then display this string on the screen. (If you aren't familiar with the term 'string', strings just mean text (as opposed to integers, real numbers, unit types, or any number of other variables that you may encounter in the editor). <br />
<br />
You can use the Game - Display Text action to convert many of these variable types into text and then have it display these on the screen. This is an extremely useful method of debugging if you happen to have actions in your trigger that relate to one of these convertible variables. Common things that can be converted to text and shown on screen include:<br />
<ul><li>Integers (1, 2, 3, 4, 5)</li>
<li>Real Numbers (1.05, 20.68, 0.03)</li>
<li>Orders (Smart, Stop, Attack)</li>
<li>Unit-Types (the computer's name for unit types)</li>
<li>Destructible (Tree, Bridge, Barricade)</li>
<li>Chat String (Text entered by players in-game)</li>
<li>Hero (Proper names of Heroes)</li>
<li>Item (Names of Items)</li>
<li>Multiboard Title</li>
<li>Player (Names of players in the game)</li>
<li>Unit Name (Names of units, in this case that name you see in the editor)</li>
<li>Ability Name</li>
</ul><br />
To use any of these, instead of filling in the text in the text field where the message would normally go, you click on the drop down next to function. You can also display actual variables for any variables that are the same types as these but selecting the variable you want to display from the drop down next to variable in the action.<br />
<br />
Often when there are problems that can't be solved by simple Game - Display Text debugging, this is the best approach to finding the issue. If you have a trigger that is not working, sometimes the issue is related to the fact that some variable you thought you had assigned earlier in the programming sequence is actually not assigned to anything or perhaps mistakenly assigned to something else. Most of the time when you have an event response that seems to not be working in your trigger, this is the best approach for debugging the problem. <br />
<br />
In some cases, you can't use either of these approaches (often because your trigger is not failing because of events failing or one of the event responses failing). Sometimes the easiest way to determine if your triggers are working correctly is to use another tool. Often when I am editing triggered spells, I find it easier to use <font color="orange"><b>Create Special Effect</b></font> to help me find the bugs, because points are not something you can convert into text and sometimes the sequence is more obvious when you use special effects.<br />
<br />
Both Create Special Effect actions (on a unit or a point) can be very useful, in part because you can create special effects on units as part of a trigger to see if a unit is being affected by an ability or if your trigger is targeting the right unit. I tend to use the ! effect on the overhead of units, but in reality you can insert any sort of special effect action on a unit to see if it is the correct unit (for example, you have assigned a variable and you want to test to see which unit is assigned to that variable - you can make a simple trigger that will create the effect on a unit when you type '-test' or whatever and it will show you the unit in question.) You can do the same thing with creating effects on points. One thing that is good to know about points is that if no point is assigned, the game will default to the center of the map. This means if you goofed somewhere, it is often a good idea to check out the center of the map when your event occurs and see whether or not you effect is occurring there as opposed to the point you expected it to be created. <br />
<br />
Debugging can be very time consuming, particularly if you are not a careful trigger person, who tests their triggers in stages to see if they have everything working before moving on to the next stage. I would highly recommend attempting to use this approach if you have the patience, because you will save yourself a lot of heartache later on if you debug after every several steps of your trigger and make sure that you haven't missed an event response somewhere along the way while the trigger is still small and finding the error is a simple task.<br />
<br />
There are very few examples that I can think of where you cannot use one of these three techniques to find bugs in your triggers. At the very least, you should be able to use these techniques to isolate which part of the trigger is failing and then when/if you need to seek help, you can make your guru's life a lot easier by having already narrowed it down from the simple stuff to something far more vexing. <br />
<br />
Some things simply take experience with the trigger editor to figure out and when it comes to those sorts of problems, you have to hope that you know someone who has been programming long enough to be able to get you out of the jam you are in or (failing that) you can always try to make your trigger in a different way. Sometimes the work-around approaches can actually spawn new or more interesting triggers. <br />
<br />
Whatever else, try not to become too frustrated with your triggers.<br />
<br />
<br />
<font color="Red"><font size="7">NOTE/CREDITS: I did NOT make this. Everything is copy pasted from CHUNK (<a href="http://war3.incgamers.com/forums/showthread.php?t=40956" target="_blank">Basic Triggering Techniques I - The Unofficial Warcraft III Forums</a>)</font></font><br />
<br />
 		  		  		 		  		  		  		  	   	 		<a href="http://war3.incgamers.com/forums/images/statusicon/user_offline.gif" rel="lytebox[posts]"><img src="http://war3.incgamers.com/forums/images/statusicon/user_offline.gif" border="0" alt="" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" /></a></div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>Zo8</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33359-basic-triggering-techniques-1-a.html</guid>
		</item>
		<item>
			<title>RoC key</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33177-roc-key.html</link>
			<pubDate>Mon, 26 Oct 2009 17:10:50 GMT</pubDate>
			<description>NEB6WK-Y7CX-667FW6-HTJZ-MNM42N 
Works as of when i posted it personal key i no longer need have at it</description>
			<content:encoded><![CDATA[<div>NEB6WK-Y7CX-667FW6-HTJZ-MNM42N<br />
Works as of when i posted it personal key i no longer need have at it</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>JadedRain</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33177-roc-key.html</guid>
		</item>
		<item>
			<title>Garena Bans Maphack Users and Fifth Batch</title>
			<link>http://www.d3scene.com/forum/warcraft-3/33168-garena-bans-maphack-users-fifth-batch.html</link>
			<pubDate>Mon, 26 Oct 2009 08:06:27 GMT</pubDate>
			<description>Garena Bans Maphack Users 
 
 
20 Oct 2009 – We are banning the accounts that have been discovered to be violating our Terms of Service, by using...</description>
			<content:encoded><![CDATA[<div><div align="center"><font color="red"><font face="Verdana"><font size="5">Garena Bans Maphack Users</font></font></font><br />
<font color="#ffffff"><br />
</font></div><font color="#ffffff"><br />
</font><br />
<font color="black">20 Oct 2009 – We are banning the accounts that have been discovered to be violating our Terms of Service, by using maphacks on Garena. The bans on the accounts will be effective immediately. This is to continue to safeguard the platform against abusive gamers and create a better environment for the rest of the Garena community. <br />
</font><br />
<font color="black"><br />
</font><br />
<font color="black">You can download the list of banned users' UID in the <font color="red">attachment</font>. This round we have banned over 7000 accounts.<br />
</font><br />
<font color="black"><br />
</font><br />
<font color="black">Here are some helpful tips you can take to avoid getting banned.</font><br />
<font color="black"><br />
</font><br />
<font color="black">1) Practice caution in letting other people use or borrow your account. They might be using a cracked version on the game. If they logged in your account using a cracked version, your account will get banned as well.</font><br />
<font color="black"><br />
</font><br />
<font color="black">2) Check out the Garena version being used in cyber or LAN cafes. If it's a cracked version, <b>DO NOT LOG IN</b> with your account. You can help other gamers by informing the cafe owners to uninstall the cracked version and use the official Garena platform.</font><br />
<font color="black"><br />
</font><br />
<font color="black">3) Avoid visiting Garena crack websites. As it's in the nature of their website to defraud and attack other programs, they might be aiming for your account as well.</font><br />
<br />
<font color="black">4) Never try any maphacks.</font><br />
<font color="#ffffff"><br />
</font><font color="#ffffff"><font color="black">Always remember to download the official Garena version from website</font>, <a href="http://www.garena.com/forum/www.garena.com" target="_blank"><font color="darkorange"><b>www.garena.com</b></font></a>. </font><font color="black">Do not accept any files sent to you claiming to be official versions. This might compromise your account and lead to a ban. If you are unsure of your version, you can uninstall and re-download the Garena client on the website.</font><br />
<font color="black"><br />
</font><br />
<font color="black">Take note that the Time on the ban info page is only the time when we do the manual banning. This is not the time using the cracks</font><br />
 <br />
 <br />
<a href="http://www.garena.com/forum/viewthread.php?tid=847106" target="_blank">Garena Bans Maphack Users - Garena News &amp; Announcements - Garena Gaming Community | Esports platform| Dota platform| Cod4 platform| CS | CSS | AOE | GGC | GG Client - Powered by Discuz!</a><br />
<br />
just posting..</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>boyrock</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33168-garena-bans-maphack-users-fifth-batch.html</guid>
		</item>
		<item>
			<title><![CDATA[[BUG] In dota 6.64! must see:)]]></title>
			<link>http://www.d3scene.com/forum/warcraft-3/33089-bug-dota-6-64-must-see.html</link>
			<pubDate>Fri, 23 Oct 2009 22:21:44 GMT</pubDate>
			<description>Watch this :) this happened to me today. I posted it on youtube. I am the Alchemist... 
 
Watch _YOUTUBE_...</description>
			<content:encoded><![CDATA[<div>Watch this :) this happened to me today. I posted it on youtube. I am the Alchemist...<br />
<br />
Watch <a href="http://www.youtube.com/watch?v=Q2m_h8APDTs" target="_blank"><u>YOUTUBE</u></a><br />
<br />
<br />
Enjoy :D<br />
</div>

]]></content:encoded>
			<category domain="http://www.d3scene.com/forum/warcraft-3/">Warcraft 3 forum</category>
			<dc:creator>KavanaK</dc:creator>
			<guid isPermaLink="true">http://www.d3scene.com/forum/warcraft-3/33089-bug-dota-6-64-must-see.html</guid>
		</item>
	</channel>
</rss>
