---------------------------------- Guide to A Map Type Battle System ---------------------------------- By Raios To use this guide you must have at least an above average or better understanding of fork options, switches, enter passwords, and variables(especially those concerning x and y coordinates). I wouldn't suggest this for an amateur as it may be confusing, try it if you want. Everthing is not exactly perfect, and although I've found a few ways to improve on this system the programming for one monster is almost tremendous. Hope you have some free time if you want to make an entire game world of this type. I've tried to keep a formal type of communication so as to avoid any confusion, I apologize if things get repetitive. STEP A-Ascertaining the Heroes Position 1-Create a Common Event and Name it something to the effect of HeroCoordinates. 2-Make sure it is set to Parallel Process with no Appearance Conditions Switch. 3-Set a Change Variable. Name=HeroX Set Event Hero X Coordinate 4-Set a Change Variable. Name=HeroY Set Event Hero Y Coordinate 5-Set a Change Variable Name=HeroFace Set Event Hero Beyond Facing NOTE-For those of you who do not know, the Heroes facing is stored as a number connected to the way he is currently facing. There's no way to set the number, it seems to simply be programmed into the RPG Maker itself. Up(North)=8 Right(East)=6 Left(West)=4 Down(South)=2 Keep those numbers in mind. I'll be repeating them most likely, but for future reference write it down somewhere. I found these through trial and error, don't know if they are in a help file anywhere as I've never checked. Step B-Creating the Weapon 1-Create a Test Map of Any Kind and Get yourself a nice big area to run around in. Map settings don't matter, just as long as its 30x30 or bigger(I like having a wide space to work with). 2-Create a Blank event on the map and name it something such as "Attack". Set it to Parallel Process and make sure that it is either above or below the hero so that he does not run into it. This will serve both as the event which Carries the Graphic for the Heroes attack, and the event which sets where it is at any given time. If you didn't understand that, hopefully you will in a little while. For now we have a few things this event needs to do. We must Set it so that this event stays one space ahead of the character in the direction he's facing. First part is as so on this event. Set Event Position this event By Variable X=(New Variable)AttackX Y=(New Variable)AttackY 3-Go back into common events. Create a New common Event named AttackPosition or something to that effect. Make it a Parallel Process. 4-Here is a long string of Fork Options. Bear with me. When I indent it means within the fork option above. Put these all in the common event. Fork Option Variable Heroface same as 2 Variable Changes(3 of them) AttackX same as HeroX AttackY same as HeroY AttackY + 1 Fork Option Variable Heroface same as 4 Variable Changes AttackX same as HeroX AttackY same as HeroY AttackX - 1 Fork Option Variable Heroface same as 6 Variable Changes AttackX same as HeroX AttackY same as HeroY AttackX +1 Fork Option Variable Heroface same as 8 Variable Changes AttackX same as HeroX AttackY same as HeroY AttackY-1 It should now always stay one space ahead of you in the direction your facing. To test this, go and give the Attack event a Graphic of anykind. If you can't decide which, pick the flame on Crown 7 and make sure that the event is below or above the hero(it might change when you give it a graphic). Now Test your game and walk about some, it should stay in front of you. If it does, Woohoo! Unfortunately this was technically the easy part, let's move on. Step C-Programming the Battle 1-Here's where I'm hoping you know how to use enter password. If you don't, there's a good Tutorial on Don's site somewhere I think. Anyways, go to common events. Create a new Common Event, set it to Parallel Process with no Switch needed, and put the following on it. Enter Password Place Password to Variable AttStart Wait Until Key Hit Checked Decision(5) 2-Go back onto the map and onto the Attack Event. Put a Fork Option in as such. Fork Option Variable AttStart same as 5 Show Battle Animation Hit A Change Variable AttStart set to 0 3-Your not going to understand why yet, but create another parallel event that's blank anywhere in the corner of the map, beneath hero. Set it to Parallel Process with 2 pages. Put the following on the first page. Change Switch ArenaInit=ON Wait 0.1 Change Switch ArenaInit=OFF Change Switch ArenaInitDone=ON Set the second page to Needing the ArenaInitDone Switch to be On and leave it blank. 4-Now we create the Monster. This little guy is going to have 3 Pages, and he's going to be the focus of all your programming. You need to repeat most of the steps from this point on for every monster your ever going to make, so I wish you again good luck at finding the time to do so. Each Page has a switch in it's events conditions. Set Page 1 to ArenaInitDone, Set Page2 to KnightDead(New Switch), and Set Page 3 to ArenaInit. 5-On the third page there's simply one action, make sure it's parallel process with no graphic and below hero. Change Variable KnightHP set to 6 6-On the second page there is no actions at all. Just make sure it has no graphic and is below hero. 7-Here's the fun part. Go into common events, and if need be get out some paper. Make yet another parallel process common event with no switch requirement. Change Variables HeroSouth set to HeroY HeroSouth + 1 HeroNorth set to HeroY HeroNorth - 1 HeroWest set to HeroX HeroWest - 1 HeroEast set to HeroX HeroWest +1 Got that? There should be a total of 8 Change Variable Commands. If you've read other guides for this sort of thing then you have probably encountered the same problem I have, most ask you to have the monster set to below hero and have the monster hurt the hero when he's able to touch him. I've found this is nearly impossible to do, at least for me. Instead here we are setting 4 variables to show the locations One step to the South, North, West, and East of the hero respectively. What we are going to do next is make it so that the monster causes the hero damage if he is able to step into one of these 4 locations. 8-Before we program the monster hurting the hero, let's do the easier part and show how the hero is going to hurt the monster. On the first page, set the graphic to the knight in one of the Monster Sets. Put the following procedures in(Not many for now, don't worry there is PLENTY more). Change Variable (New Variable)KnightX Set to Event This Event X Coordinate Change Variable (New Variable)KnightY Set to Event This Event Y Coordinate Change Variable (New Variable)KnightFace Set to Event This Event Beyond Facing Fork Option Variable AttStart=5 Fork Option AttackX=KnightX Fork Option AttackY=KnightY Flash Character, This Event, 0.4 secs Change Variable KnightHP-Hero Level Move Event, This Event MveSpdUp MveSpdUp MveSpdUp Stop Animation Fix Direction Step Away From Hero Step Away From Hero Cancel Fix Direction Resume Animation MveSpdDown MveSpdDown MveSpdDown 9-Your going to have quite a row of END CASE Marks. Skip past all those to the bottom blank space and put in the following. Fork Option KnightHP smaller than 1 ChangeEXP + 3(Or any other number) ChangeGold + 5(Or any other number) Play SE Cold8(Or any other sound effect) Flash Screen 0.6 secs Change Switch KnightDead On 10-Now, the monster needs to chase after the Hero. Set it's Movement speed to 2: 4x Slower(I find it works very well for monsters you want to display as a Little slow but still a threat. I wouldn't recommend setting it to anything above 3: 2x Slower unless your going to give it a serious pause in it's route.) Set it's movement type to by it's route and frequency to 8. Go into edit route and do the following. Step Toward Herox6 Wait a Momentx8 11-Test your game. You should be able to damage and kill the monster by walking up to it and pressing the Decision Button 6 times. Unfortunately at the moment it won't damage you, but we will take care of that in a second. Step D-Programming the Battle Part 2 1-Go back onto the first page of the monsters event. Beneath all of the other stuff you put on there, insert the following. Fork Option HeroSouth=KnightY Fork Option HeroX=KnightX Fork Option KnightFace=8 Battle Anim-Sword A-Hero Change HP-All Members-Decrease 3 Move Event-Hero Move Spd Up Fix Dir Up Up Cancel Fix Dir Move Spd Down Wait 0.3 Fork Option HeroWest=KnightX Fork Option HeroY=KnightY Fork Option KnightFace=6 Battle Anim-SwordA-Hero Change Hp-All Members-Decrease 3 Move Event-Hero Mve Spd Up Fix Dir Right Right Cancel Fix Dir Move Spd Down Wait 0.3 Fork Option HeroEast=KnightX Fork Option HeroY=KnightY Fork Option KnightFace=4 Battle Anim-SwordA-Hero Change Hp-All Members-Decrease 3 Move Event-Hero Mve Spd Up Fix Dir Left Left Cancel Fix Dir Move Spd Down Wait 0.3 Fork Option HeroNorth=KnightY Fork Option HeroX=KnightX Fork Option KnightFace=2 Battle Anim-SwordA-Hero Change Hp-All Members-Decrease 3 Move Event-Hero Mve Spd Up Fix Dir Down Down Cancel Fix Dir Move Spd Down Wait 0.3 2-Test your game. Does it work? If it does, send me an E-mail at GoreforpresILN@cs.com I'd love to here about anyone who can successfully get my Tutorial to work. Good Luck! Step E-Tips and Pointers 1-Make all Monsters work off the same ArenaInit and ArenaInitDone commands. 2-Take note of which direction the monster is facing when deciding which direction to move the hero upon damage. 3-Always insert a wait Command after The monster attacks the Hero. Otherwise it can literally hit you half a dozen times in a moment or two unless you react instantly. If the thing is doing 50 damage a hit, this can be serious. 4-Haste spells take on a new meaning when your in Map View. Instead of Increasing Agility, it makes sense that you could move faster. You need to Parallel Common events, but they aren't that difficult so don't worry. Create a Skill named Haste that turns On the switch "Haste". The first event should be a parallel process which requires Haste to be on. The second should also be a parallel process which requires HasteNext to be on. Event1 Goes as follows. Set Timer-30 seconds Start Timer Move Event-Hero Mve Spd Up Change Skills-Forget Haste Change switch HasteNext On Change switch Haste Off HasteNext should be as follows Fork Option Timer Less than 0m.01s Move Event-Hero Move Spd Down Change Skills-Memorize Haste Change Switch HasteNext Off And there you go. I'm still working on the slow spell, and I have it working on a lot of my monsters although it takes 16 more fork options per...(shivers). Good luck if you want to try and use it, I won't include it here. If your really interested in it then send me a Mail, my address is listed just above this section. Bon Voyage, and Good Rp Making!