Tutorial Advanced Maze Tutorial

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Advanced Maze Tutorial

I know my other tutorial sucked. But this one i've tried much harder!
Introduction

- Hello, welcome to maze tutorials advanced. In this tutorial you will be learning ice slide, unit whirl, terrain kill (deathregions), and converting tft triggers to RoC triggers. After this tutorial you should know all the advanced triggers to put in your mazes. (REQUIRES A BASIC MAZE MAKING EXPERIENCE)!

- Unit Whirl - It's a offset basically, that moves in a circles around a point or an object. (You can call it a wisp whirl)
- Ice Slide - This is also basically an offset. It just slides your unit to the angle of where your demonhunter is facing. But you may turn with the " Turn " trigger.
- Terrain Kill - Really simple way to have death regions. Except they are not regions, it compares to the type of terrain you put down in the trigger. For RoC players with TFT installed, I encourage you to go to try converting custom text!
Creating The Whirl Trigger!

-- Start off with some variables.


- Whirl1 - Real - 90.00 or 100.00

Create about 4 - 5 of the same triggers. Whirl2, Whirl3, etc.

Now for the trigger! Set whirl 1 for your first whirl of units or doodads.
Whirl
Events
Time - Every 0.09 seconds of game time
Conditions
Actions
Set whirl1 = (whirl1 - 2.50)
Unit - (unit) move instantly to ((Center of region (where u want whirl around) <gen>) offset by 100.00 towards whirl1 degrees)
Unit - (unit) move instantly to ((Center of region (where u want the whirl around)<gen>) offset by 200.00 towards whirl1 degrees)

Ok, their it is. But now you've got to understand it. When it say's offset, it sets it that distance from the whirl region. Pretend I have 2 units. One of them is 100.00 offset. The other one is 200.00. The offset 200.00 would be just behind the first unit.

If you want more units. Try creating more of those unit - move instant, triggers.
I encourge you to use this trigger. It is an exciting trigger.

Ice Sliding
Ok, lets all start out with the variables again!

- slide_on - boolean array [1] - False (Default)
- Slide_Unit - Unit Array [1] - none -

Now that you have gotten your variables in, let's write down the triggers!
Set Units
Events
Map initialization
Conditions
Actions
Set Slide_Unit[1] = Daylight Demon 0000 <gen>
Set Slide_Unit[2] = Daylight Demon 0001 <gen>
Set Slide_Unit[3] = Daylight Demon 0002 <gen>
Set Slide_Unit[4] = Daylight Demon 0003 <gen>
Set Slide_Unit[5] = Daylight Demon 0004 <gen>
Set Slide_Unit[6] = Daylight Demon 0005 <gen>
Set Slide_Unit[7] = Daylight Demon 0006 <gen>
Set Slide_Unit[8] = Daylight Demon 0007 <gen>
Set Slide_Unit[9] = Daylight Demon 0008 <gen>
Set Slide_Unit[10] = Daylight Demon 0009 <gen>
Set Slide_Unit[11] = Daylight Demon 0010 <gen>

Turning On Slide
Events
Unit - A unit enters slideon3 <gen>
Unit - A unit enters slideon4 <gen>
Unit - A unit enters slideon2 <gen>
Unit - A unit enters slideon1 <gen>
Conditions
(Unit-type of (Triggering unit)) Equal to Daylight Demon
Actions
Set slide_on[(Player number of (Owner of (Triggering unit)))] = True
For the uniter enters trigger. Have the unit enter where u want him to start the slide. Be sure to put regions 1 movement away from eachother. For example, if i have a #1#2 region close together (touching). Spread them a bit to make it #1 #2
Turning Off Slide
Events
Unit - A unit enters slideoff4 <gen>
Unit - A unit enters slideoff3 <gen>
Unit - A unit enters slideoff2 <gen>
Unit - A unit enters slideoff1 <gen>
Conditions
(Unit-type of (Triggering unit)) Equal to Daylight Demon
Actions
Set slide_on[(Player number of (Owner of (Triggering unit)))] = False
As I have said previously. Spread your slide on region ONE movement over from the slide off.
Slide
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
For each (Integer A) from 1 to 10, do (If (slide_on[(Integer A)] Equal to True) then do (Unit - Move Slide_Unit[(Integer A)] instantly to ((Position of Slide_Unit[(Integer A)]) offset by 7.00 towards (Facing of Slide_Unit[(Integer A)]) degrees)) else do (Do nothing))

Turn
Events
Unit - Daylight Demon 0000 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0001 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0002 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0003 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0004 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0005 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0006 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0007 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0008 <gen> Is issued an order targeting a point
Unit - Daylight Demon 0009 <gen> Is issued an order targeting a point
Conditions
slide_on[(Player number of (Owner of (Triggering unit)))] Equal to True
Actions
Unit - Move (Triggering unit) instantly to (Position of (Triggering unit)), facing (Target point of issued order)
Unit - Make (Triggering unit) face (Target point of issued order) over 0.00 seconds

Now that you've gotten all that in. I sure hope you all understand how I've gotten that. If not, be sure to comment, and ill try to edit that problem.

Terrain Kill
Thank's to the owner of the basic mazing tutorial. This trigger was in that tutorial. Trust me it's fast and much easier then placing all of them region down!

Terrain Kill
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units of type Daylight Demon) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at (Position of (Picked unit))) Equal to Lordaeron Summer - Dirt
Then - Actions
Unit - Kill (Picked unit)
Else - Actions
Custom script: call DestroyGroup(GetLastCreatedGroup())
Converting Text Steps
- Get TFT installed.
- Open your world editor.
- Open your trigger editor.
- Make a really simple short trigger for testing.
- Go to the top of trigger editor.
- Click edit and go close to the bottom where it says, Convert to Custom Text
-- Enjoy --
Thank's for reading my tutorial. Please post and tell me what I have done wrong. Their might be a few memory leaks!

~ Mr.Tutorial
 

The Helper

Necromancy Power over 9000
Staff member
Reaction score
1,698
You have a hotmail email address and hotmail spam filters block vbulletin forum emails - such as the confirmation of registration email you never replied to because you use hotmail. I finished your registration and you should be able to edit your post now.
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Thanks Helper, hehe. That took off a lot of stress. Ok, I encourage you guys to comment on this tutorial, and comment on what I have done wrong. :) enjoy
 

ragingspeedhorn

Is a Banned Asshole
Reaction score
94
This could need alot more content, but it's good for a beginning. You could include some screenshots aswell. Also what is this whirl thingy? Do you mean a wisp wheel?
 

N2o)

Retired.
Reaction score
51
you should mention that there are memory leaks, and for the slide thing 0.03 is perfect, you should also research 'sliding' as there are alot of easier ways to do it.
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Well how do u hook a map too it? I decided that, I can put those triggers in 1 map, and let people look at it. But i dont know how to put a map in that tutorial.

Yes, i do mean wisp wheel, by saying Whirl.
 

The Helper

Necromancy Power over 9000
Staff member
Reaction score
1,698
If the map is small enough you can just attach it to the post. If it is too big for that you could post it at rapidshare.de or some other free file host and just link to it in your tutorial.
 
M

Mythic Fr0st

Guest
hmm

Your ice slide, is unusual, never seen one like it before, but
it leaks alot, you should fix that

Example of a leak

Code:
Unit - (unit) move instantly to ((Center of region (where u want whirl around) <gen>)

Moving instantly to a region, makes a leak

you need to

Code:
set Point = center of region < Your Region >
unit move instantly to point blah blah
call RemoveLocation(udg_Point)

Code:
For each (Integer A) from 1 to 10, do (If (slide_on[(Integer A)] Equal to True) then do (Unit - Move Slide_Unit[(Integer A)] instantly to ((Position of Slide_Unit[(Integer A)]) offset by 7.00 towards (Facing of Slide_Unit[(Integer A)]) degrees)) else do (Do nothing))

Should be For each integer A from 1 to 11

Do you have RoC or something? and, you need to set Points = position of the units, then move them to Points, etc.., cus it leaks, and well, makes a long ending screen, its easier to use "For each integer a from x to x do MULTIPLE functions, as you can easily edit it, unlike the one you have above ^_^

Code:
Terrain Kill
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units of type Daylight Demon) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at <LEAK>(Position of (Picked unit)))<LEAK> Equal to Lordaeron Summer - Dirt
Then - Actions
Unit - Kill (Picked unit)
Else - Actions
Custom script: call DestroyGroup(GetLastCreatedGroup())
call DestroyGroup(GetLastCreatedGroup()) I belive is for creating them, like a Unit Group variable, set UnitGroup1 = Units of type daylight demon
then DestroyGroup(udg_UnitGroup1) or get last created group

Thats it I think, you should fix those, and then it'd probably be an informative tutorial for noobs, ^_^

^_^
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
?????

Well, that ice trigger has never leaked for me. I've made about 30 ice triggers this exact one. Nothing has happened. Just feels like a normal ice trigger!
 

lh2705

Just another Helper
Reaction score
111
Well, it would be better if the triggers were arranged better, as in directly copied from the trigger editor and not written free-handed, but it doesn't matter that much. There are leaks...Try to fix them..Mostly Point Leaks..
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Yeah, i've never gotten a leak, so I dont know what to do with them, and I don't know what they do. Yes, I use RoC, but I can just convert the tft triggers to RoC anyways.....
 

chovynz

We are all noobs! in different states of Noobism!
Reaction score
130
Is this a good tutorial for a starter?

Honestly? No.

Sorry to say but this is a basic mazing tutorial with lots of problems, and lots of things left out for mazing. Things like Creeping, Creep Placement, Gates, Side Quests, Maze Terraining, Using Pathing Blockers. If your going to call this an advanced tutorial I think you need to go play some more maze games and make some more other types of maps. Maybe even play some other games for a while and get some new ideas. o_O You could go for a walk down town and see if there are mazing concepts you could use from the traffic or shopping patterns!

Effectivly all you have done with this tutorial is copy 3 basic concepts from a single type of maze map (ice? - maybe polar escape?).Where's the advanced stuff? How about a desert maze? or a doodad maze? or a maze of maize? How about you're in a house and your a mouse? or you can transform depending on the type of obstacle before you?

Now I have a personal question for you. Your name on this forum is Mr.Tutorial. So far you have made 2 tutorials. And good on you for trying!
But why are you trying to make tutorials? Is it for Rep? Are you doing to genuinely help people? Should you be making tutorials? Is there a place for this (fill in the blank) tutorial about (a subject) or has it already been done? I actually think you need to ask yourself these questions.

IMO, if a tutorial is made simply because the author wants rep, thats not a good enough reason.

Please dont take this as flaming or what have you, but take it as constructive criticism. Like I said before good on you for trying!

Address some of the things that people have said about it and you'll get there yet. Here's a couple of good starts:
Reducing lag by Darthfett
emjlr3's Memory Leak / Custom Script Guide
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Ok, most people don't know those triggers. Plus, im a RoC player, so I don't know much tft stuff
 

seph ir oth

Mod'n Dat News Jon
Reaction score
262
My suggestion: give a short explination of what each thing is. An example: "what is a whirl trigger? well, it is blah blah blah..." Honestly, before I read the coding, I didnt know what you meant by whirl, lol.
 

chovynz

We are all noobs! in different states of Noobism!
Reaction score
130
Ok, most people don't know those triggers. Plus, im a RoC player, so I don't know much tft stuff

Maybe so, but if you say "Advanced" map of any description, I'd expect there to be no memory leaks. The leaks go for RoC as well as TFT. You can have just as much lag / leak in Roc as TFT.

And "most people don't know those triggers" is exactly why those guides were written. So that "most" people would get to know and be able to do something about or with them.

I've said enough. I really hope you continue making tutorials. :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top