Thrace
@tion
- 1,048
- Posts
- 17
- Years
- Seen Oct 2, 2016
Sorry. D:Wait I'm confused
whats the pointer?
Perhaps this tutorial will be able to explain it better?
Sorry. D:Wait I'm confused
whats the pointer?
Fixes in bold. Try this one...
Also, "applymovement 0xFF" is very simple to understand. "Applymovement" itself is the movement command, while 0x(hex number), in this case 0xFF, means to move which sprite on the map where the script currently is, and 0xFF is to number of the player
Who knows the warp command for XSE?
because warp 0x[bank] 0x[mapnumber] 0x[warp number] doesn't work...
Hey Guys i have a problem with this level script
#dynamic 0x800000
#org @start
lockall
checkflag 0x828
if 0x1 goto @no
setvar 4033 0x1
applymovement 0x02 @dadmove1
applymovement 0x02 @dadmove2
msgbox @dadtalk
givepokemon 0x9B 0x5 0x0 0x0 0x0 0x0
applymovement 0x02 @dadmove3
releaseall
end
#org @no
releaseall
end
#org @dadmove1
#raw 0x65
#raw 0xFE
#org @dadmove2
#raw 11
#raw 13
#raw 13
#raw 13
#raw 13
#raw 13
#raw 01
#raw FE
#org @dadmove3
#raw 12
#raw 12
#raw 12
#raw 12
#raw 12
#raw 10
#raw FE
#org @dadtalk
= Hey [player]\nYour mother and I have decided\lthat you are old enough to go on\n an adventure.\lSo i got you this Cinderquil.
yes i know i spelt Cqindaquil wrong
Heres what happens
![]()
this just keeps repeating
Please Help
Thanks for the help :DIt goes like this
warp 0x3(bank) 0x0(map) 0x1 (warp) 0x3(X Coordinate) 0x3(Y Coordinate)
Edited: The first script works fine, now. But now I have a problem with another. The first part of the script works - but once the first flag is set, it stops working. Can anyone help? (Like the first, this is an XSE script.)
What I want to have happen: Lady Linwood, (the sprite in question) is seeking a runaway, who you happen to find. You have the choice of either revealing their location (and earning a Nugget) or following your morals and saying you have no idea. I want you to only be offered the Yes/No option once - not like in a typical Pokemon game (and many other RPGs, for that matter) where you'll keep getting badgered until you pick the "correct" response. If you say Yes, you'll be given a Nugget and a specific flag will not be set. If you say No, you won't get the Nugget and a specific flag WILL be set. But...I have no idea what I'm doing wrong. Can anyone help me fix up this script?
'-----------------------
#org 0x80048C
lock
faceplayer
checkflag 0x44C
if 0x1 goto 0x81E57A9
msgbox 0x880058C '"Upon my word! Who are you?\nI certa..."
callstd 0x6
release
end
'-----------------------
#org 0x81E57A9
lock
faceplayer
checkflag 0x578
if 0x1 goto 0x81E57E5
checkflag 0x514
if 0x1 goto 0x81E57B3
msgbox 0x81E57BD '"Trainer! You're back here,\nagain? Ready t..."
callstd 0x5
compare LASTRESULT 0x1
if 0x1 call 0x81E57C7
compare LASTRESULT 0x0
if 0x1 call 0x81E57D1
release
end
'-----------------------
#org 0x81E57C7
msgbox 0x81E57DB '"Oh, Lady Linwood's eyes don't\ndecieve her..."
callstd 0x4
giveitem 0x6E 0x1
setflag 0x514
release
end
'-----------------------
#org 0x81E57D1
msgbox 0x81E57F9 '"Pah! You detestable child! If you\nwon't ..."
callstd 0x4
setflag 0x578
release
end
'-----------------------
#org 0x81E57E5
msgbox 0x81E57EF '"Get out, urchin!"
callstd 0x4
setflag 0x5DC
release
end
'-----------------------
#org 0x81E57B3
msgbox 0x81E5803 '"Perhaps there are still a\nfew honest Trai..."
callstd 0x4
release
end
'---------
' Strings
'---------
(the strings follow here.)
If you are warping to a warp tile then use:Thanks for the help :D
:edit:
I used it in this way but it doesn't work, the () are nopt included when compiling
warp 0x3(4) 0x0(1) 0x1 (0) 0x3(4) 0x3(3)
It's for this warp, Map 4.1 so the bank is 1, and the warp is 0, the offset's are X 0004 Y0003..
What's wrong with what I did?
warp 0x4 0x1 0x1 0x0 0x0
warp 0x4 0x1 0xff 0x4 0x3
The warp command has two extra parameters; x-coordinate and y-coordinate.Spoiler:
#org $begin
lock
#raw 0x93 0x00 0x00 0x00
message $speak
boxset 5
compare LASTRESULT 0x1
if b_true goto $done
message $talk
boxset 6
#raw 0x94 0x00 0x00
end
#org $done
#raw 0x92 0xF4 0x01 0x00 0x00 0x00
compare 0x800D 0x1
if 0x0 goto $continue
#raw 0x91 0xF4 0x01 0x00 0x00 0x00
#raw 0x95 0x00 0x00 0x00
message $talk2
boxset 2
#raw 0x94 0x00 0x00
message $talk3
boxset 6
applymovement 0x08 $move
applymovement 0xFF $move1
pausemove 0
fadescreen 0x1
message $1
boxset 6
fadescreen 0x0
warp 0x3 0x3 0xE
end
#org $continue
#raw 0x94 0x00 0x00
message $talk0
boxset 2
release
end
#org $1
$1 1 = After one hour...
#org $speak
$speak 1 = Ahoy there! Welcome to the\nS.S Luca! For just 500E,\pI can take you to\nSepton City. Would you\plike to sail with us?
#org $talk
$talk 1 = Come back whenever you want.
#org $talk2
$talk2 1 = Thank you.
#org $talk3
$talk3 1 = Please follow me.
#org $move
#raw 0x0D
#raw 0x0D
#raw 0x60
#raw 0xFE
#org $move1
#raw 0x0D
#raw 0x0D
#raw 0x0D
#raw 0x60
#raw 0xFE
#org $talk0
$talk0 1 = Oh, I'm sorry, you don't\nhave enough money.\pPlease come again.
It works perfectly, but the pointer $talk0 is being said after the wrap command.
Here's what it looks like in XSE.
Spoiler:
'-----------------------
#org 0x80440E
lock
showmoney 0x0 0x0 0x0
msgbox 0x88044AA '"Ahoy there! Welcome to the\nS.S Luc..."
callstd 0x5
compare LASTRESULT 0x1
if 0x1 goto 0x8804432
msgbox 0x880451D '"Come back whenever you want."
callstd 0x6
hidemoney 0x0 0x0
end
'-----------------------
#org 0x804432
checkmoney 0x1F4 0x0
compare LASTRESULT 0x1
if 0x0 goto 0x8804482
paymoney 0x1F4 0x0
updatemoney 0x0 0x0 0x0
msgbox 0x880453A '"Thank you."
callstd 0x2
hidemoney 0x0 0x0
msgbox 0x8804545 '"Please follow me."
callstd 0x6
applymovement 0x8 0x880448F
applymovement MOVE_PLAYER 0x8804493
waitmovement 0x0
fadescreen 0x1
msgbox 0x8804498 '"After one hour..."
callstd 0x6
fadescreen 0x0
warp 0x3 0x3 0xE 0x9402 0x0
msgbox 0x8804557 '"Oh, I'm sorry, you don't\nhave enou..."
callstd 0x2
release
end
'-----------------------
#org 0x804482
hidemoney 0x0 0x0
msgbox 0x8804557 '"Oh, I'm sorry, you don't\nhave enou..."
callstd 0x2
release
end
'-----------
' Movements
'-----------
#org 0x80448F
#raw D 'Step Up (Slow)
#raw D 'Step Up (Slow)
#raw 60 'Hide
#raw FE 'End of Movements
#org 0x804493
#raw D 'Step Up (Slow)
#raw D 'Step Up (Slow)
#raw D 'Step Up (Slow)
#raw 60 'Hide
#raw FE 'End of Movements
'---------
' Strings
'---------
#org 0x8044AA
= Ahoy there! Welcome to the\nS.S Luca! For just 500E,\pI can take you to\nSepton City. Would you\plike to sail with us?
#org 0x80451D
= Come back whenever you want.
#org 0x80453A
= Thank you.
#org 0x804545
= Please follow me.
#org 0x804498
= After one hour...
#org 0x804557
= Oh, I'm sorry, you don't\nhave enough money.\pPlease come again.
The same message came twice(the large sized words). I placed it only one place.
Is there a problem?
Edit: Pink Parka Girl, try replacing the 0x16 with 0x10. It needs to be in hex. 16 in hex is 10. Try that.
You might want to change those callstd 0x4 to callstd 0x6. What happens exactly? And don't worry about it, thats what this thread is for. :DThe "runaway script" is a modified version of the one I posted earlier, in my first post on the thread. Here is the finalized version:
Spoiler:'-----------------------
#org 0x1E40CF
lockall
msgbox 0x81E4235 '"A dead end? Oh, no[.]and I'm afraid..."
callstd 0x4
playsong 0x19F 0x1
applymovement 0x10 0x81A0839
waitmovement 0x0
sound 0x15
applymovement 0x10 0x81A0833
waitmovement 0x0
applymovement 0x10 0x81A0835
waitmovement 0x0
msgbox 0x881B38B '"D-don't hurt me! Please!\p[.] [.]\n..."
callstd 0x4
trainerbattle 0x3 0x5 0x0 0x81E420F
msgbox 0x81759A1 '"Rosie: Remember your promise, pleas..."
callstd 0x4
closeonkeypress
pause 0x1E
fadescreen 0x1
hidesprite 0x10
movesprite2 0x10 0x3F 0x19
fadescreen 0x0
setflag 0x44C
fadedefault
releaseall
end
After I compiled the "Lady Linwood" script, this is what XSE spits back at me:
'-----------------------
#org 0x80048C
lock
faceplayer
checkflag 0x44C
if 0x1 goto 0x81E57A9
msgbox 0x880058C '"Upon my word! Who are you?\nI certa..."
callstd 0x6
release
end
'-----------------------
#org 0x1E57A9
nop
nop
nop
nop
(and so on...for a good 200 or so lines)
warp5 0x0 0x0 0x0 0x0 0xE041
I'll try using a different flag pointer (what are some good, safe values to work in?), but not sure how much good that will do...Apologies for asking so many questions, but I'm still such a newbie... ^^'
Catching a Pokemon does not cause flag 0x828 to be set. You can check for a Pokemon using the following method:Not really scripting help, but a question.
Without flag 0x828, how can I tell that the player has caught a pokemon?
Because the player catches a Pokemon with a masterball, and I cannot set the flag 0x828 until I am 100% sure they have caught it.
What if it's not a certain pokemon, seeing how that script needs the pokemon's number?Catching a Pokemon does not cause flag 0x828 to be set. You can check for a Pokemon using the following method:
Spoiler:setvar 0x4036 [pokemonNumber]
copyvar 0x8004 0x4036
special2 LASTRESULT 0x17C
compare LASTRESULT 1
Credit to thethethethe, taken from his tutorial on PHO.
You can use countpokemon:What if it's not a certain pokemon, seeing how that script needs the pokemon's number?
countpokemon
compare LASTRESULT 0x1
if b_true goto $continue
You might want to change those callstd 0x4 to callstd 0x6. What happens exactly? And don't worry about it, thats what this thread is for. :D
Can someone give me the Prof. Birch Script on route 101 please, I'm working on a hack and REALLY need this.
Ehh... There are mulitple scripts.... And you could decompile them too....