• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

thethethethe's Scripting Tutorial

Hey the4 , I was reading through this tut on the special2 section, but there was one question I had to post. Is there a way to remove a pokemon from your party? Not just relocating them to your PC , but basically removing them from the game. There was something going on in my hack where I wanted to imput the option to choose between keeping or releasing a pokemon that you've already purchased, but I now realize removing a pokemon isn't the same as releasing an item.
 
I don't actually think you can remove a Pokemon, I remember in shinygold you cant access your pokemon anymore, but that was just a simple command. If this was possible I would be interested in it aswell. But since there is nothing identical to that feature in an actual game, it would be extremely hard to decipher.
 
It would be a shame if that wasn't possible. If not, then is there a way to simulate trading with NPC's in the games? I'm not sure if it was in R/S, but I remember being able to do that in the Color/Metal Generations (I've never played FR or LG, so I dunno if it was there).
 
Hey thethethethe, Its been awhile.

I was doing some setvar scripts but they don't work.
Everything is correct, its just that I think it has something to do with the advance map values,
like var number, var value and unknowns.

I'd upload the script but, I don't want to spoil anything for my hack, so PM me instead.
Great Tutorial, Learned a lot by the way.

-cooley
 
Very nice, this covers the basics and the semi-advanced things in an easy to understand manner. 'Grats to you and keep it up.

EDIT: This is my script, It wont work. It is for a lady that keeps you from leaving without a pokemon. It freezes when you step on it.
Code:
#org $start
checkflag 0x828
if B_true goto $done
message $wait
boxset 6
applymovement 0x01 $move
pausemove 0x0
applymovement 0xFF $youmove
pausemove 0x0
message $poke
boxset 6
applymovement 0x01 $move2
release
end

$done
release
end

#org $move
#raw 0x1F 0x1F 0x1F 0x1D 0xFE

#org $youmove
#raw 0x17 0xFE

#org $move2
#raw 0x20 0x20 0x20 0x1E 0xFE

#org $wait
$wait 1 = WAIT!!!!

#org $poke
$poke 1 = You need a pokemon to go\nout!
 
Last edited:
Sorry, I kinda, forgot about this thread.



Am I too late?
It's these ones.
79=
7A=[D]
7B=[L]
7C=[R]

U for Up
D for Down
L for Left
R for Right


Honestly, I don't know what the problem is. The "Shiny Hack" isn't something I've done lately. Sorry.

Ok, no prob, i will use "Pokemons Tools" that adds the shiny hack in the hex automatically Lol ^^
 
how do I Set flags so An event can happen even after not having it in the same script. Like meeting your friend then being able to access a certain area
 
you can be sure, it IS 0xFF. Like explained in the tut ;)

(btw don't forget the 0xFE after the movements, I did this xD)

how do I Set flags so An event can happen even after not having it in the same script. Like meeting your friend then being able to access a certain area

Well, you have to set a free setflag (not used in the original game) into the script (meeting your friend).
Then you set a checkflag at the begin of the script of the area entrace (checkflag needs the same number as setflag in the other script).

Hope I'm right, correct if I' wrong ^^
 
Wow this is the best tut i have been on just one question will this script work?

#org $begin
lock
faceplayer
checkflag 0x200
if b_true goto $done
applymovement 0x06 $move
pausemove
message $cele
boxset 6
Wildbattle 251 5 0
fadescreen 0
#raw 0x53 0x0F 0x80
Setflag 0x200
release
end

#org $done
release
end

#org $move
#raw 0x10 0x10 0x10 0xFE

#org $cele
$cele 1 =Biiiii.
 
ok

but this script has gone strange

#org $start
lock
faceplayer
checkflag 0x200
if b_true goto $done
message $1
boxset 5
compare 0x800D 0x1
if 0x1 goto $check
message $2
boxset 6
release
end

#org $check
checkitem 0x4
#raw 0x05 0x00
compare 0x800D 0x1
if 0x4 goto $got
message $2
boxset 6
release
end

#org $got
message $3
boxset 6
warp 0x2 0x60 0x1
setflag 0x200
release
end

#org $done
message $4
boxset 5
compare 0x800d 0x1
message $3
boxset 6
warp 0x2 0x60 0x1
release
end

#org $1
$1 1 =Would you like to goto\nCinnabar island?

#org $2
$2 1 =Ohhh. Sorry you can't go yet.

#org $3
$3 1 =ALL ABOARD!!!

#org $4
$4 1 =Would you like to goto\nCinnabar island?

on this script instead of warping to map 2.60 warp number 1 (i made a warp and map) but instead The screen just turns blank Why might this be?

Also how do i make a script which gives yo a badge without having to battle so it will be you goup to a guy who says your a new trainer so you wont be strong enough for a battle so he just gives you the badge how can i do this??
 
Last edited:
thethethethe, for the MoveSprite, how can you get the Player to move?

Like they said, you use the people no. of the Player which is 0xFF

ok

but this script has gone strange

#org $start
lock
faceplayer
checkflag 0x200
if b_true goto $done
message $1
boxset 5
compare 0x800D 0x1
if 0x1 goto $check
message $2
boxset 6
release
end

#org $check
checkitem 0x4
#raw 0x05 0x00
compare 0x800D 0x1
if 0x4 goto $got
message $2
boxset 6
release
end

#org $got
message $3
boxset 6
warp 0x2 0x3C 0x1
setflag 0x200
release
end

#org $done
message $4
boxset 5
compare 0x800d 0x1
message $3
boxset 6
warp 0x2 0x3C 0x1
release
end

#org $1
$1 1 =Would you like to goto\nCinnabar island?

#org $2
$2 1 =Ohhh. Sorry you can't go yet.

#org $3
$3 1 =ALL ABOARD!!!

#org $4
$4 1 =Would you like to goto\nCinnabar island?

on this script instead of warping to map 2.60 warp number 1 (i made a warp and map) but instead The screen just turns blank Why might this be?

Also how do i make a script which gives yo a badge without having to battle so it will be you goup to a guy who says your a new trainer so you wont be strong enough for a battle so he just gives you the badge how can i do this??

I can't remember if I mentioned converting values to hex. Maybe I should have.
But You have two options with that warp command.
warp 2 60 1
or
warp 0x2 0x3C 0x1

If there's a "0x" in front of it, then you have to make it a hexadecimal value, if it isn't in front of the number it's a decimal number or a 'normal' number.
 
How do I have The script react to another I didn't get it in the flags part of you tutorial
 
OK, I feel really noobish for saying this...but HOW do you make scripts in the first place?

I looked all over the place to do it, and I couldn't find it out....so I just started typing in the window that pops up when I double click on Poket Script...and it starts giving me error messages!

Could someone please help me?

EDIT: Never mind, I figured out how to do it...
 
use notepad
if you don't have notepad wellllllllll
well your done for
so its NOTEPAD!
 
Yeah, I figured that out (thanks anyway).

I'm trying to implement this into a game, so I can test it out...but I'm not sure how. I looked at other tutorials, but no one was really clear about it. Could someone please explain it?
 
https://www.pokecommunity.com/threads/81691

Save you script as a .rbc file, then right click and "compile". Alternatively, you can open "BufRite.exe", file->import->find you script. Then you follow the instructions in the above thread (first tut) on how to Assign to the rom and then Burn (save) to the rom.

It would be at this point that you open Advance Map and set the script offset on an event (character).
 
Like they said, you use the people no. of the Player which is 0xFF



I can't remember if I mentioned converting values to hex. Maybe I should have.
But You have two options with that warp command.
warp 2 60 1
or
warp 0x2 0x3C 0x1

If there's a "0x" in front of it, then you have to make it a hexadecimal value, if it isn't in front of the number it's a decimal number or a 'normal' number.

i will test it out and see if any changes

also how do you make someone give you a badge without battleing?
 
Back
Top