Pokemon Newbie Hackers Guide Part 1

Page 1

Welcome To The First Newbie Hacking Team Newsletter!! Contents 1.Scripting Lesson 1 2. Spriting Lesson 1 3. Mapping Lesson 1 1.Scripting Lesson 1 A quick intro Scripting is just sticking one command ontop of another. Each command does something different. Usually, just reading the command name tells you what it does. Every script is stored at an "offset" An offset is just a number representing a place in your ROM So if you store your script in 0x800000, then that's your offset In order to store your script you must know where to put it. Well...I usually cheat and let PKSV decide for me xD This is called DYNAMIC offsets, and for this tut, we will only use these Dynamic offsets work like this [Commands start now] #dynamic OFFSET [No more commands] OFFSET is just where PKSV starts looking for a place to store your script Usually, I use "#dynamic 0x740000" That is where a good chunk of free space begins, so we scripters like to use it.


lock 'Locks our player faceplayer 'look at player Lesson 1 A script always starts somewhere So we'll declare a script like this #dynamic 0x740000 #org @start "#org @start" is declaring a dynamic label. the "@start" part of your script is dynamically placed in your ROM based on the offset PKSV found when you used "#dynamic 0x740000" This is how you store an offset to anything if you call a message the syntax looks like this [...] message @textlabel [...] #org @textlabel = Text...what else? xD Scripts, Text, Movements, and Pokemart data are all called in the above manner Okay, whenever you talk to someone you don't want them wondering all over the place right? Wouldn't it be nice to lock them down in chains? Well now you can! With this awesome command your players will never move again! What is the command you ask? Simple! "lock" But that's not all, you also want the speaker to look at the talker


right? This one is simple to! “faceplayer” that's it! Now there are two parts to displaying a message Loading the message And showing it “message @textlabel” will load the message stored in your textlabel “callstd MSG_NORMAL” will show the message just loaded in normal format So now you've shown a message, great! But..your player can't move anymore!, atleast, not yet anyways Before the player can move again, he/she has to be “released” from the “lock” we put on them the command to do this is “release” and finally, to prevent a crash of your ROM we will put “end” “end” is a necessity to your script, just always keep it there and you'll be good to go! So to put it all together #dynamic 0x740000 'Start looking at 0x740000 #org @start 'This is our start label for our script lock ' Keep player from moving faceplayer ' Make the speaker face the player message @offset1 'load the text in the offset1 label into memory callstd MSG_NORMAL 'show the message in memory release 'Let our player move again end 'End the @start label of our script #org @offset1 'This is our text label = So you got it to work eh?\nGood Job! 'I'll explain this in just a second I promise


here are problems with text being to long. The messagebox can hold a max of about 35 characters per line, and 2 lines per “box” So there are “symbols” to get around this \n The text following will be in a new line \l scrolls the bottom line up, and adds the following text in a new line (use only after \n) \p starts a new box \v\h01 Players name \v\h02 buffer 0 \v\h03 buffer 1 \v\h04 buffer 2 \v\h05 buffer 3 \v\h06 Rivals name which means So you got it to work eh?\nGood Job! Would display as So you got it to work eh? Good Job! Spriting Lesson 1 Recolors What you will learn: Colours in sprites, how to change colours This is the first thing you should learn, as you should know how it works before attempting anything else - you'll need to know the basics of this if you're going to be any good at all.

What you see here is a Ruby and Sapphire Scyther sprite - a very typical sprite colour-wise – with its colour palette beside it. Each of the green shades has been given a name; most sprites' colours include analogous shades, and this guide will use the names given here to refer to these shades. The "outline shadows" are always black (or ever-so-slightly off-black) on Pokémon sprites remember this if you want your sprites to look like they could really be in an actual Pokémon game. The Rules of Recolouring 1. There is a reason it has all those shades of green. It's called shading, and it's supposed to be there. Do not recolour two different shades with the same shade, barring a few exceptional cases where the original sprite has too many shades for the colour scheme you're going to give it. Even worse, don't recolour, say, the highlight colour to be darker than the base colour; the relative luminosity of the shades on the original sprite should always be maintained on the new one.


2. There is a reason all the shades on the main body are green, too. Don't make the highlights blue and the base colour red; it makes no sense and is eye-hurting. 3. The outline base and outline highlight colours are also colours. When you're recolouring, you must also recolour the outlines. It isn't always very noticeable when the sprite isn't zoomed in, but a trained eye will see it and it looks extremely unprofessional once you do zoom in. 4. The outlines must be reasonably dark. If you're recolouring a sprite in a relatively light colour, be careful to make the outline base colour sufficiently dark to make the outlines clear. If the sprite you're recolouring has considerable use of the shadow colour as an outline highlight colour, then recolouring it to be very light may look odd; in such cases, you should either stick with the outline base colour in all but the very lightest areas or create a separate outline highlight colour that's darker than the shadow colour. 5. Do not use the Paint default colours to recolour under any circumstances. If you're using paint, go to Colours > Edit Colours > Define Custom Colours... and there you can make your own colour. Be very careful not to make it too bright. Your best bet is in fact usually to find yourself some other sprite of a normal or shiny PokĂŠmon that has approximately the colour you're looking for - that will ensure the colours look decent. If you can't find any other sprite that has quite the right colour, pick the sprite's base colour with the colour picker. Go to the advanced colour selection menu (in Paint, it's Colours > Edit Colours > Define Custom Colours... as I said earlier; in Photoshop or ImageReady, you just click the foreground colour in the toolbar). Now play around with the Hue value until you've found the colour you want; remember or write down the current value. You can also raise or lower the Brightness/Luminosity or Saturation values, but if you do, remember how much you raise or lower them. Paint a pixel or small square of this colour somewhere beside the sprite, and then do the same for the other colours in the sprite - change the hue to the same value as you changed the first colour to (or possibly something slightly in the blue direction from there for shadows) and lower/raise the brightness/luminosity by the same number as you did for the first colour, if you did at all. Then put a pixel/square of it next to the previous colour. If the colour doesn't look quite right after doing this, you can tweak it slightly. Of course, you won't have to do this for the black, and I recommend not raising the brightness of the base outline colour if you've been doing that for the other colors, since like I mentioned above, most of the outline should generally be quite dark. Obviously, if you're taking the colours from another PokĂŠmon, you can take them straight from the other sprite and don't need to make a colour palette. When you've picked all your colours, move on to recolour the sprite accordingly. In better paint programs, it is possible to set the Paint Bucket tool so that it paints all pixels of the same colour (in Photoshop or ImageReady, you check off the Contiguous option). In Paint, there is a rather complicated trick. First, select the colour picker and left-click the highlight colour on the sprite you're recolouring. Then, again with the colour picker, right-click the highlight colour you're going to use. Next select the Eraser tool, make it the biggest it can get and right-click and drag over the whole sprite. The old highlight colour will magically be replaced with the new one everywhere you touched it with the eraser, while all other colours will be unchanged. Repeat this for the other shades too. As per rule 3, make sure not to forget the outline base. . 3. Mapping Lesson 1 First of all you should know how to open Roms and Maps in Advance Map. Opening a Rom is quite logical and there shouldnt be problems: Go to "File" -> "Load Rom" and select your Rom. Another way of doing this is the context menu for which a registry key is needed. This registry key should be in the folder in which you installed Advance Map, named AMKontextMenu.dll.


Just copy it to C:\\\\Windows\\system32\\ . Then click the windows start button and then "run". enter the following: regsvr32.exe "c:\\windows\\system32\\AMKontextMenu.dll" now it should be registered and you can open a rom in advmap via right click. Once youve opened your Rom, there will be three points appearing at the left tab.

"From Header" displays the maps from the Rom, "From INI" displays the original Maps saved in an INI which you got with Advance Map and "Map Files" displays Maps saved in the Maps Folder in the folder where Advance Map is installed. I never used anything else than "From Header"... I never needed them^^ So now just doube click on "From Header" and there will be a long list popping up. Either its a list of Map Banks, Map Names or Tilesets. You can change the way theyre ordered at the top:

I recommend using "Sort by Map Name". So now just open one of the categories, eg Pallet Town and there will be more options appearing. Those are the maps. Double Clicking on one of them will open it. Now you will see the map or its movement permission or Event or whatever Tab youre currently in. You can change the Tabs easily by clicking on them. Theyre located above the big Tab:

Now ill explain the different Tabs and other Functions of Advance Map. 2. Map Tab The Map Tab is the most important Tab of all, since you build the maps in there. It is divided into two tabs, one with the map and the other one with the Block Palette. You can choose which Block you draw on the map by simply clicking on it in the Block Palette. But you can also draw so-called Big-Blocks, which consist of many small Blocks. To create such a big Block, hold down CTRL, right-click and hold it on the block where you want to start the selection and then move the mouse over the blocks you want to select. You will see a preview of the Big Block appearing on the Window. When you release the right mouse button and CTRL you can now draw this Big Block with a left click. The Tile you click on will be the upper left one of the big block.


This is the preview Window of the Big Block, mapping forests and cities is way faster this way since you can create buildings for example with one click. Another thing you will notice in the Map Tab is the Border-Block Field above the Block Palette. The tiles you put in here will create the border, so when the heros gets to the border of the map he will see those tiles. Most often those are trees or normal mountain ground. In the Pro-Header View you can expand the Border-Tile so it is bigger than 2x2, but ill come back to that later. Sometimes im wondering why so many people dont understand the movement permissions correct and dont know how to use them... Well, placing them is the same as in the Map Tab: Select one from the palette and click on the map. The different Types of movement permissions are explained in advance Map, even though many ppl dont seem to notice it! They say D is a sign, or 0 is a ladder... that is wrong! 1 is the easiest of all, its just not walkable... impossible to enter this tile. Now there is kind of a level system: C is Level 2, it is the normal walking permission. 10 is Level 3, 14 is Level 5, 18 is Level 6 and so on... You can not walk from one Level to another one. There are other Bytes for each Level which will do exactly the same as 1, so theyre kinda pointless... The only Special Things are the following three bytes: 0 -> It is the crrossing of different Levels. If you want to make your Hero get from Level 2 to Level 3 you must place a 0 between the C and the 10 or the Hero wont be able to go there. The next special Byte is 4. It is Level 1, which means it is water, you can surf on it. And the last one is 3C, i espacially like this one: It means the Tile is passable from above and below. To understand this you have to understand how Blocks work with their Top and Bottom Layer. To make it short: Each Block has a Bottom Layer of tiles which will be dispalyed UNDER the hero and a top layer which will be displayed OVER the hero. But this happens only if the hero is on level 2 or below. If he is higher he will be displayed above the top layer as well. So for certain Blocks like bridges you need 3C, which means you can walk under and over them. If you enter a tile with 3C movement permission it will remember which permission youve been on before and the 3C Tile will behave as if it had that Movement Permission. That makes it possible to make one tile be passable from above and below. I know this is kinda confusing... Ill show you an example from a map of Legend of Fenju:


As you can see i made the tile where the bridge is above the mountain 10 and the tiles before that 0, so the player can walk on the level 3 (10) tiles. When he continous walking on the 3C Tiles he will be on/above the bridge and unable to enter the tiles with C Movement Permission. But he will be able to enter the ones with a 10 at the end. When hes coming from below, he will walk under the bridge cause he will remain on Level 2. By the way, the meaning of each Movement Permission is displayed at the bottom left when you hover above it with the mouse.

That’s All For Now.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.