PHO - Pokémon Hackers Online
Go Back   PHO - Pokémon Hackers Online > Hacking Suite > Resources and Tutorials > Generation 3 (Traditional)

Notices

Generation 3 (Traditional) Traditionally, Generation 3 is hacked using tools, hex editors and patches. This is for you if you do that.

User Tag List

Reply
 
Thread Tools Display Modes
Old 3rd March 2018, 03:19 AM   #1
Mystelex
Nostalgia Trash
 
Mystelex's Avatar
 
Join Date: Apr 2015
Location: North Carolina
Posts: 6
Mystelex
Default The Miscellaneous Script Thread

Quote:
Originally posted by Spherical Ice on pokecommunity.com

The Miscellaneous Script Thread

Scripts are XSE-compatible only!

Welcome to The Miscellaneous (XSE) Script Thread! The purpose of this thread is simple; it is an archive of numerous, pretty random, scripts available for you to use in your hack if you are having difficulties scripting it yourself (or are too lazy. ^.^).

If you wish to see one of your threads up on this post, please use the following form:

Code:
[B]Name:[/B]
[B]ROM info:[/B]
[B]Effect:[/B]
[B]Script:[/B]
[B]Comments & Bugs:[/B]
[B]Credits:[/B]
For example, you could post this:


Of course, you shouldn’t really bother submitting a simple script as easy as that – if you think people can’t do that, than you must be a pessimist!


The Scripts:


Egg Shop Script:
Spoiler:

Spoiler:
#dynamic 0x<offset>

#org @start
lock
faceplayer
showmoney 0x0 0x0 0x0
msgbox @msg1 MSG_KEEPOPEN
closeonkeypress
multichoice 0x14 0x1 0x<mcnumber> 0x0
compare 0x800D 0x0
if 0x1 goto @common
compare 0x800D 0x1
if 0x1 goto @uncommon
compare 0x800D 0x2
if 0x1 goto @rare
hidemoney 0x0 0x0
release
end

#org @common
checkmoney 0x1388 0x0
compare 0x800D 0x0
if 0x1 goto @notenough
paymoney 0x1388 0x0
updatemoney 0x0 0x0 0x0
fanfare 0x13E
msgbox @msg3 MSG_KEEPOPEN
closeonkeypress
waitfanfare
hidemoney 0x0 0x0
random 0x5
compare 0x800D 0x0
if 0x1 goto @1
compare 0x800D 0x1
if 0x1 goto @2
compare 0x800D 0x2
if 0x1 goto @3
compare 0x800D 0x3
if 0x1 goto @4
compare 0x800D 0x4
if 0x1 goto @5
release
end

#org @1
giveegg 0x<species>
release
end

#org @2
giveegg 0x<species>
release
end

#org @3
giveegg 0x<species>
release
end

#org @4
giveegg 0x<species>
release
end

#org @5
giveegg 0x<species>
release
end

#org @notenough
hidemoney 0x0 0x0
msgbox @msg2 MSG_KEEPOPEN
closeonkeypress
release
end

#org @uncommon
checkmoney 0x2710 0x0
compare 0x800D 0x0
if 0x1 goto @notenough
paymoney 0x2710 0x0
updatemoney 0x0 0x0 0x0
fanfare 0x13E
msgbox @msg3 MSG_KEEPOPEN
closeonkeypress
waitfanfare
hidemoney 0x0 0x0
random 0x5
compare 0x800D 0x0
if 0x1 goto @k1
compare 0x800D 0x1
if 0x1 goto @k2
compare 0x800D 0x2
if 0x1 goto @k3
compare 0x800D 0x3
if 0x1 goto @k4
compare 0x800D 0x4
if 0x1 goto @k5
release
end

#org @k1
giveegg 0x<species>
release
end

#org @k2
giveegg 0x<species>
release
end

#org @k3
giveegg 0x<species>
release
end

#org @k4
giveegg 0x<species>
release
end

#org @k5
giveegg 0x<species>
release
end

#org @rare
checkmoney 0x61A8
compare 0x800D 0x0
if 0x1 goto @notenough
paymoney 0x61A8 0x0
updatemoney 0x0 0x0 0x0
fanfare 0x13E
msgbox @msg1 MSG_KEEPOPEN
closeonkeypress
waitfanfare
hidemoney 0x0 0x0
random 0x3
compare 0x800D 0x0
if 0x1 goto @rare1
compare 0x800D 0x1
if 0x1 goto @rare2
compare 0x800D 0x2
if 0x1 goto @rare3
release
end

#org @rare1
giveegg 0x<species>
release
end

#org @rare2
giveegg 0x<species>
release
end

#org @rare3
giveegg 0x<species>
release
end

#org @msg1
= Hello, welcome to our Egg Shop!\pWhich kind of Egg would you like?

#org @msg2
= You don't have enough money.

#org @msg3
= [black_fr][player] received a [red_fr]Pokémon Egg[black_fr]!

Comments: Here is an egg shop script. Feel free to change any of the text and any of script. Give credit to Manipulation, okay? The Multichoice box at the top should contain 'Uncommon, Common and Rare'.


Rock Climb (Vine Whip):
Spoiler:

From down:
Spoiler:
#dynamic 0x800000

#org @1
#raw 0x7C 0x16 0x00
compare 0x800D 0x06
if 0x1 call @end
#raw 0x9D 0x00 0x0D 0x80
message @ha
boxset 5
compare LASTRESULT 0
if 0x1 goto @end
#raw 0x68
#raw 0x9C 0x25 0x00
waitstate
#raw 0x17 0x00 0x80 0x01 0x00
goto @jump
#org @jump
compare 0x8000 0x01
if 0x4 goto @move
release
end
#org @end
release
end
#org @move
applymovement 0xFF @move1
waitmovement 0x0
#raw 0x18 0x00 0x80 0x01 0x00
goto @jump

#org @ha
= It's some climbable rocks!\pWant to use VINE WHIP to\nclimb up them?

#org @move1
#raw 0x1E 0x1E 0x1E 0xFE

From up:
Spoiler:
#dynamic 0x800000

#org @1
#raw 0x7C 0x16 0x00
compare 0x800D 0x06
if 0x1 call @end
#raw 0x9D 0x00 0x0D 0x80
message @ha
boxset 5
compare LASTRESULT 0
if 0x1 goto @end
#raw 0x68
#raw 0x9C 0x25 0x00
waitstate
#raw 0x17 0x00 0x80 0x01 0x00
goto @jump
#org @jump
compare 0x8000 0x01
if 0x4 goto @move
release
end
#org @end
release
end
#org @move
applymovement 0xFF @move1
waitmovement 0x0
#raw 0x18 0x00 0x80 0x01 0x00
goto @jump

#org @ha
= It's some climbable rocks!\pWant to use VINE WHIP to\nclimb down them?

#org @move1
#raw 0x1D 0x1D 0x1D 0xFE

Credits: Hiche

Headbutt Trees (Headbutt):
Spoiler:
1)
Spoiler:
Spoiler:
#dynamic 0x800000

#org @headbutt
#raw 0x7C 0x1D 0x00
compare 0x800D 0x06
if 0x1 jump @could
#raw 0x9D 0x00 0x0D 0x80
#raw 0x7F 0x00 0x0D 0x80
#raw 0x82 0x01 0x1D 0x00
message @question
boxset 0x5
compare 0x800D 0x00
if 0x1 jump @end
message @used
boxset 0x6
#raw 0x68
#raw 0x9C 0x25 0x00
waitstate
jump 0x1Be06F

#org @could
message @you
boxset 0x6
release
end

#org @end
release
end

#org @question
= This tree could have a Pokemon\nin it. Use HEADBUTT?

#org @used
= \v\h02 used \v\h03!

#org @you
= This tree could be HEADBUTTed!

Credits: Hiche, Dabomstew


2)
Spoiler:
Spoiler:
#org @headbutt
lock
checkattack 0x1D
compare 0x800D 0x6
if 0x1 goto @release
bufferpokemon2 0x0 0x800D
bufferattack 0x1 0x1D
message @head
boxset 0x5
compare 0x800D 0x0
if 0x1 goto @release
message @used
boxset 0x4
closeonkeypress
goto @treeshake
end

#org @treeshake
random 0xamount
compare 0x800D 0x0
if 0x1 goto @wildbattle offset
compare 0x800D 0x1
if 0x1 goto @wildbattle offset2
[the random amount is how many different ones you can add]


#org @used
= [buffer1] used HEADBUTT.

#org @head
= Pokemon live in this tree. Using\nHEADBUTT may cause them to come out.\pDo you want to use HEADBUTT?

Credits: Dratii


3)
Spoiler:
Spoiler:
//-------------------------------------
//Preperations
//-------------------------------------

#dynamic 0x800000
#define cAttack 0x1D //Change this value to use another attack

//-------------------------------------
//Main Script
//-------------------------------------

#org @Main
lockall //Lock everything from moving
checkattack cAttack //Stores the first Pokémon who knows the attack into the variable 0x800D
compare 0x800D 0x06 //Makes sure a Pokémon knows the attack...
if 0x01 goto @NotKnown //If the value is 6 then no Pokémon knows the attack
setanimation 0x00 0x800D //The Pokémon animation is set with the Pokémon who knows the attack
bufferpartypokemon 0x00 0x800D //Puts the Pokémon who knows the attack into [buffer1]
bufferattack 0x01 cAttack //Puts the attack name into [buffer2]
msgbox @Message1 0x05 //A Yes/No box appears with the message
compare 0x800D 0x00 //Checks in "No" was selected
if 0x01 goto @DoNotWant //If it was, quit
msgbox @Message2 0x04 //"[buffer1] used [buffer2]!" >> Keep open
closeonkeypress //Close the msgbox when a key is pressed
doanimation 0x25 //Shows the Pokémon animation
waitstate //Waits for the animation to complete
setvar 0x8004 0x01 //Set up to shake screen
setvar 0x8005 0x01
setvar 0x8006 0x0C
setvar 0x8007 0x02
special 0x136 //Shake screen
pause 0x20 //Wait 1~ second
special 0xAB //Call a random battle from the "Tree" section of wild Pokémon
compare 0x800D 0x00 //Checks if a wild battle happened
if 0x1 goto @DoNotWant //If not, quit
waitstate //Wait for the battle to complete
releaseall //Allow the player to move freely again
end //End the script

//-------------------------------------
//Sub Scripts
//-------------------------------------

#org @NotKnown
msgbox @Message3 0x03
end

#org @DoNotWant
releaseall
end

//-------------------------------------
//Messages
//-------------------------------------

#org @Message1
= This tree may contain a Pokemon.\nUse the move [buffer2]?

#org @Message2
= [buffer1] used [buffer2]!

#org @Message3

= This tree may contain a Pokemon.\nIt may be able to be knocked out.

Credits: Dartharon


Braille Script:
Spoiler:
Spoiler:
#dynamic 0x[your offset]
#org @start
lock
faceplayer
msgbox @3
boxset MSG_NORMAL 'Must be a msgbox!
braille @4
waitkeypress
release
end

#org @3
= There is something strange on the stone...

#org @4
#braille something 'the braille words

Credits: liuyanghejerry


Move Tutor Script:
Spoiler:
Spoiler:
#org @start
lock
faceplayer
checkflag 0x200
compare LASTRESULT 0x1
if 0x1 goto @AlreadyLearnt
msgbox @WantToLearn
boxset 0x5
compare LASTRESULT 0x0
if 0x1 goto @DontWant
setvar 0x8005 0x1 ' 0x[Move number]
special 0x18D
setflag 0x200
release
end

Credits: liuyanghejerry


'Wishing' Well Script
Spoiler:
Spoiler:
#dynamic 0x800000

#org @start
lock
random 0xA
compare LASTRESULT 0x9
if 0x1 goto @lucky
msgbox @nothing 0x6
release
end

#org @lucky
msgbox @jackpot 0x6
giveitem 0x1A 0x1 0x0
release
end

#org @nothing
= [PLAYER] reeled up the bucket...\p...\pNothing!

#org @jackpot
= [PLAYER] reeled up the bucket...\p...\pJackpot!


Credits: The Master, HackMew (fixing up script)


Bike Stand Script
Spoiler:
Spoiler:

#dynamic 0x800000

#org @begin
lock
faceplayer
checkitem 0x168 0x1
compare LASTRESULT 0x1
if 0x0 jump @no
message @mount 0x5
compare LASTRESULT 0x0
if 0x1 goto @no
special 0x157
release
end

#org @no
release
end

#org @mount
= Do you want to mount your bike?

Credits: The blob of blobs, HackMew (fixing up script)


Honey Tree Script:
Spoiler:
Spoiler:

#dynamic 0x0FF5E1

#org @start
lock
checkflag 0x200
compare LASTRESULT 0x1
if 0x1 call @already
msgbox @honeytree MSG_NORMAL
checkitem ITEM_HONEY 0x1
compare LASTRESULT 0x1
if 0x1 call @honey
setflag 0x200
release
end

#org @honey
msgbox @hunny MSG_QUESTION
compare LASTRESULT 0x1
if 0x1 call @ona
return

#org @already
msgbox @pokemon MSG_NORMAL
random 0x0A
compare LASTRESULT 0x0
if 0x1 call @1
compare LASTRESULT 0x1
if 0x1 call @2
compare LASTRESULT 0x2
if 0x1 call @3
compare LASTRESULT 0x3
if 0x1 call @4
compare LASTRESULT 0x4
if 0x1 call @5
compare LASTRESULT 0x5
if 0x1 call @6
compare LASTRESULT 0x6
if 0x1 call @7
compare LASTRESULT 0x7
if 0x1 call @8
compare LASTRESULT 0x8
if 0x1 call @9
compare LASTRESULT 0x9
if 0x1 call @10
clearflag 0x200
release
end

#org @1
wildbattle PKMN_WURMPLE 0x8 0x0
return

#org @2
wildbattle PKMN_COMBEE 0xD 0x0
return

#org @3
wildbattle PKMN_WURMPLE 0x7 0x0
return

#org @4
wildbattle PKMN_WURMPLE 0xA 0x0
return

#org @5
wildbattle PKMN_MUNCHLAX 0xE 0x0
return

#org @6
wildbattle PKMN_HERACROSS 0x8 0x0
return

#org @7
wildbattle PKMN_AIPOM 0x8 0x0
return

#org @8
wildbattle PKMN_COMBEE 0x8 0x0
return

#org @9
wildbattle PKMN_CHERUBI 0x8 0x0
return

#org @10
wildbattle PKMN_CHERUBI 0x8 0x0
return

#org @ona
removeitem ITEM_HONEY 0x1
msgbox @hungry MSG_NORMAL
return

#org @pokemon
= Huh?\pIt looks like there's a POKéMON on\nthe HONEY TREE!

#org @honeytree
= It's a HONEY TREE.

#org @hunny
= Would you like to slather the bark\nwith HONEY?

#org @hungry
= [player] slathered the bark with\nHONEY.


Comments:You need to make a different flag for all the honey trees, unless you want to slather one tree and catch Pokemon on another. If you want, you can replace the Pokémon with ones that you prefer.
Also, you need the item Honey. In the example, Berry Juice has been replaced, but again, it is up to what you prefer.

Credits: Colorful Summer


Random Weather Script:
Spoiler:
Spoiler:

'---------------
#org 0x(offset)
random 0x0A
compare LASTRESULT 0x0
if 0x1 goto @1
compare LASTRESULT 0x1
if 0x1 goto @2
compare LASTRESULT 0x2
if 0x1 goto @3
compare LASTRESULT 0x3
if 0x1 goto @4
compare LASTRESULT 0x4
if 0x1 goto @5
compare LASTRESULT 0x5
if 0x1 goto @6
compare LASTRESULT 0x6
if 0x1 goto @7
compare LASTRESULT 0x7
if 0x1 goto @8
compare LASTRESULT 0x8
if 0x1 goto @9
compare LASTRESULT 0x9
if 0x1 goto @10

#org @1
setweather 0x1
doweather
end

#org @2
setweather 0x2
doweather
end

#org @3
setweather 0x3
doweather
end

#org @4
setweather 0x4
doweather
end

#org @5
setweather 0x5
doweather
end

#org @6
setweather 0x7
doweather
end

#org @7
setweather 0xb
doweather
end

#org @8
setweather 0xd
doweather
end

#org @9
setweather 0x2
doweather
end

#org @10
setweather 0xb
doweather
end


Credits: Sab


Phonecall Script:
Spoiler:
Spoiler:

#dynamic 0x800000

#org @start
checkflag 0x1000
if 0x1 goto @nope
random 0x2
compare 0x800D 0x1
if 0x1 goto @nope
compare 0x800D 0x2
if 0x1 goto @yes
release
end

#org @yes
setanimation 0x41 0x27
doanimation 0x41
pause 0x35
msgbox @fonecall 0x6
applymovement 0xFF @?
msgbox @hello? 0x6
setflag 0x1000
release
end

#org @nope
release
end

#org @fonecall
= PHONECALL:Beeep

#org @?
#raw 0x62 0xFE

#org @hello?
= Hello \v\h01 How are you doing.\nPHONE Ending message\pBeep\nBeep\pBeep

Credits:


Rock Jump Script:
Spoiler:
Spoiler:

#dynamic 0x740000

#org @start
compare 0x800C 0x1
if 0x1 call @T
compare 0x800C 0x2
if 0x1 call @S
compare 0x800C 0x3
if 0x1 call @A
compare 0x800C 0x4
if 0x1 call @D
end

#org @A
release
end

#org @D
release
end

#org @T
checkattack 0x16
Compare LASTRESULT 6
if 0x1 call @no2
#raw 0x9D 0x00 0x0D 0x80
msgbox @rock 0x5
Compare LASTRESULT 1
if 0x0 goto @NOPE
Doanimation 0x25
waitstate
Checkanimation 0x25
compare 0x8000 0x01
applymovement 0xFF @test
waitmovement 0x0
release
end

#org @S
checkattack 0x16
Compare LASTRESULT 6
if 0x1 call @no3
#raw 0x9D 0x00 0x0D 0x80
msgbox @rock2 0x5
Compare LASTRESULT 1
if 0x0 goto @NOPE
doanimation 0x25
waitstate
Checkanimation 0x25
compare 0x8000 0x01
applymovement 0xFF @test2
waitmovement 0x0
release
end

#org @no3
msgbox @noclimb2 0x6
release
end

#org @test2
#raw 0x15 0xFE

#org @rock2
= These rocks look scaly want to\n use vine whip to throw\p yourself up?

#org @nope
release
end

#org @test
#raw 0x14 0xFE

#org @rock
= These rocks look scaly \n Do you want to use\p vine whip to \nthrow yourself Down?

#org @NO2
msgbox @noclimb 0x6
release
end

#org @noclimb
= These rocks look like a pokemons\nMove could scale them.

#org @no
release
end

#org @noclimb2
= These rocks look like a pokemons\nMove could scale them.

Credits: -


Feel free to submit your miscellaneous, XSE scripts!
Mystelex is offline   Reply With Quote
Sponsored Links
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:30 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc. User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Lite) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Pokémon characters and images belong to Pokémon USA, Inc. and Nintendo.
Pokémon Hackers Online (PHO) is in no way affiliated with or endorsed by Nintendo LLC, Creatures, GAMEFREAK inc,
The Pokémon Company, Pokémon USA, Inc., The Pokémon Company International, or Wizards of the Coast.
All forum/site content (unless noted otherwise) and site designs are © 2006-2013 Pokémon Hackers Online (PHO).
Green Charizard Christos TreeckoLv100

"Black 2" by ARTPOP. Kyurem artwork by XOUS.

no new posts