分享到新浪微博 分享到QQ空间 打印

[疑问] 新手學改版問題~~

我以前遇到过同样的问题。
似乎对于
“compare LASTRESULT 0x1
if 0x1 goto 0x86C8568”

checkflag时可省,checkitem时不能省,原因不明
闪耀吧...我的希望!

TOP

怎么改?我也顺便问问才行

TOP

引用:
原帖由 chaotix 于 2009-11-3 17:28 发表
我以前遇到过同样的问题。
似乎对于
“compare LASTRESULT 0x1
if 0x1 goto 0x86C8568”

checkflag时可省,checkitem时不能省,原因不明
原來是這樣啊~~~
怪不得弄了這麼多次才成功...>.<..
引用:
原帖由 liuyanghejerry 于 2009-11-3 16:39 发表
checkitem 0x32 0x1
compare LASTRESULT 0x1
if 0x1 goto 0x86C8568

把你的脚本都改成类似以上这样。以下是我的代码,在我给了主角一个大师球(0x1)之后,运行完美。
[xse]
#org @a1
lock
faceplayer
che ...
終於成功了~~
感謝版主的幫忙啊~~~~~

不知可否繼續問呢...

可以的話,希望版主解答以下問題吧~~~

1. 對不起,版主,這個問題我終於找到問題所在了~~~thx~~^^

2. 另外想問一下,在am內,新加的地圖怎樣才可播放背景音樂?????
我想要的是一進入地圖便播放,但找不到任何地方可以加背景音樂....
我試過用"s"腳本控制,但由於以下的問題,所以弄不了...>.<...

3. 我想問一下,為甚麼我弄"s"的腳本時,每次都是主角再次踏上時,才會啟動腳本???
為甚麼不會是首次踏入時便啟動腳本呢???
例子:
我將一個"s"腳本放在一洞穴的出口,理應主角一出洞穴便會發生劇情~~
但現在是每次主角一出洞穴,劇情不會發生...而要主角再踏次踏入洞穴的問口才會啟動劇情~~~
到底是為甚麼呢????

感激版主的回答了~~^^

[ 本帖最后由 erickoala 于 2009-11-4 22:45 编辑 ]

TOP

引用:
原帖由 erickoala 于 2009-11-4 00:08 发表


原來是這樣啊~~~
怪不得弄了這麼多次才成功...>..
AM不是可以设定背景音乐么?我记得可以的啊
S脚本要设置var的-。-


想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-5 14:54 发表


AM不是可以设定背景音乐么?我记得可以的啊
S脚本要设置var的-。-
找到了~~
不知為何我下的中文版不能設定,要用回英文版才行....

那我想問一下setvar後面的數字是不是甚麼數字都能的啊??
即是說我填setvar0x800 0x0或setvar 0x500 0x0,都不會影響遊戲嗎??
定還是像人物id般有一定的數目可以用???

再次感激版主的解答~~~~~

TOP

引用:
原帖由 erickoala 于 2009-11-5 16:15 发表


找到了~~
不知為何我下的中文版不能設定,要用回英文版才行....

那我想問一下setvar後面的數字是不是甚麼數字都能的啊??
即是說我填setvar0x800 0x0或
setvar 0x500 0x0,都不會影響遊戲嗎??
定還是像 ...
参见教程的进阶篇吧,var不是每个都闲着给你的,因为游戏的剧情要用掉一部分(当然你全部重制另当别论)。
另外推荐LZ参考XSE包里自带的guide.chm。
而关于S脚本的情况,参考这里吧:http://www.pokecommunity.com/showthread.php?t=168292,那是我很久以前写的一篇教程。


想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-5 16:52 发表

参见教程的进阶篇吧,var不是每个都闲着给你的,因为游戏的剧情要用掉一部分(当然你全部重制另当别论)。
另外推荐LZ参考XSE包里自带的guide.chm。
而关于S脚本的情况,参考这里吧:http://www.pokecommunity.c ...
版主的這個link對我很有用呢~~
話說這個站我也是今天早上才發現的呢~XDDD

問題又來了.... --->我也知自己很煩....>.<....
希望版主不要介意我這個"問題少年"....>.<...當作是我幫助改版區增加人氣吧~XDD

1. 我想問問,一些不是主角引發的人物事件要怎樣消失??
hidesprite只能消失一會,只要主角一走開,那些人物事件便會重現~~
setflag,但我不是由主角主動接觸而令它們消失的....這個好像不能用~~
例子:
如火紅中,主角從第二個城市的商店將物品送給博士後,博士會走到後邊拿起背包,然後送給主角及對手~~
那個背包消失就是我想要的東西~~
我看過背包的腳本,只是對話~~
至於博士的腳本,我也找不出有任何關於背包的編號...找不出相應的腳本來...>.<....

2. 想問如果rom中內本身有個地址是這樣:
#org @start
if 0x1 goto @finish
(中略)
release
end

#org @finish
release
end
那我可否在其他地方重用@finish這個地址???
即如果我想寫的腳本又是像@start及@finish的,我可不可以用@finish??但這個@finish是rom自身的~~~

3. 一個am問題,不知何故,我不能加地圖...
加地圖的話,進入game,轉換地圖會變成黑屏....
但之前都可以加的,但現在忽然不能加...有沒有任何解決方法???

關於這項,不知是否因為其中一張新加的地圖出了問題所致???
當我按這個地圖時出現這些:

AdvanceMapError(2): Cannot read bytes behind end of file! Please contakt Luhopoke@gmail.com
(按ok後)
Access violation at address 004C309B in module 'AdvanceMap.exe'. Read of address 00554004.

thx版主~~^^

[ 本帖最后由 erickoala 于 2009-11-5 22:50 编辑 ]

TOP

1、任何情况都是setflag;试着看看地图头里的脚本
2、自己写的可以直接以@finish的方法重用,但限于在同时写入时;如果是系统原有的或是以前自己写入过得,需要直接引用实际地址,如goto 0x123456
3、估计你用的汉化版?这问题暂时无解,因为原作者不处理汉化后的版本。对他来说,汉化版只是个改版而已…
顺便说下我的推测。根据出错后的那个提示,貌似是内存读写控制不当造成的,可能是汉化版读出的东西大于了原先的设定。


想死你们了!

TOP

我是来学习的!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-5 23:46 发表
1、任何情况都是setflag;试着看看地图头里的脚本
2、自己写的可以直接以@finish的方法重用,但限于在同时写入时;如果是系统原有的或是以前自己写入过得,需要直接引用实际地址,如goto 0x123456
3、估计你用的汉 ...
1. 剛看了,好像沒有???
不過,我看到博士的腳本中有用hidesprite,然後再setvar...但暫時未找出是甚麼..>.<..
2. 那就是說那個地址,我可以在其他地方使用??因為這樣可以減少估用空位~~
3. 我製作地圖時是用漢化版的,因為剛剛接觸改版不久~~
那是否代表着這個rom我已經不能用了.... ..那我之前作的劇情便要"搬"到另一個clear的rom...很大工程唷..(雖則也不算很多..>.<..)

TOP

引用:
原帖由 erickoala 于 2009-11-6 01:28 发表


1. 剛看了,好像沒有???
不過,我看到博士的腳本中有用hidesprite,然後再setvar...但暫時未找出是甚麼..>..
脚本我抽空看看。
至于你的ROM,不是有句话说的好么,要常记得备份么-。-要不要重制只能自己把握了……
另外,重制的话先别急,我有样东西给你。


想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-6 13:15 发表


脚本我抽空看看。
至于你的ROM,不是有句话说的好么,要常记得备份么-。-要不要重制只能自己把握了……
另外,重制的话先别急,我有样东西给你。
感激版主了~~^^
本想着之前沒有問題,所以只備份了最新的版本..>.<....
東西 會是甚麼呢...

TOP



想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-6 18:50 发表
http://poketb.com/bbs/thread-14340-1-1.html请看这里吧。
這個不錯呢~~~
不過我未做過漢化的工作...可能要試試了~

p.s. 希?嬷鲿簳r別鎖這個帖,遲些我應該還會有問想問的....



剛再試過加新地圖...又再次黑屏...>.<..
為何每次新增劇情後就不能用加地圖啊....
是不是要新增所有地圖後才能加劇情.....

明明之前測試時沒問題的.....>.<....

原來還不只這樣...>.<...一失敗的話,連之前備份的檔案也全用不了....>.<..
我已經備份了3及4...但全部都不能用..要用回2....



對不起,版主,我有新的問題想問...>.<...
我想知道為何每次用am自帶的找空地址/fsf找空地址,找出來的地址,有很多時都會有問題的???
是否我設定某一項時錯誤???
很多時,在xse內按complie,然後按decomplie後,code會改變~
有時會減少了一部份,有時又會改了另外的東西...
感激版主回答~~^^

[ 本帖最后由 erickoala 于 2009-11-8 00:39 编辑 ]

TOP

能举个实例么?因为搜出来空间是不会莫名改变的,除非
1、你压根没有限制空间的大小,也就是说,你可能需要的是500字节,但你只搜了100字节的用
2、你把一段空间用了两次

如果不是上述情况,那么还请举个实例看看-。-不然实在是爱莫能助
至于黑屏,我更是无从谈起。


想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-8 15:06 发表
能举个实例么?因为搜出来空间是不会莫名改变的,除非
1、你压根没有限制空间的大小,也就是说,你可能需要的是500字节,但你只搜了100字节的用
2、你把一段空间用了两次

如果不是上述情况,那么还请举个实例看 ...
就拿剛弄的給你看...

以下是一個"s"腳本,一踏上,鏡頭會移動到一個地方,對話,按制取消對話,鏡頭移回原地

隐藏内容:

'---------------
#org 0x71EA88
checkflag 0x203
if 0x1 goto 0x81A7AE0
lockall
special 0x113
applymovement MOVE_CAMERA 0x871EB18
waitmovement 0x0
msgbox 0x871CC30 MSG_NORMAL '"......................."
applymovement MOVE_CAMERA 0x871EC34
waitmovement 0x0
special 0x114
setflag 0x203
releaseall
end
'---------------
#org 0x1A7AE0
release
end

'---------
' Strings
'---------
#org 0x71CC30
= .......................

'-----------
' Movements
'-----------
#org 0x71EB18
#raw 0xE 'Step Left (Slow)
#raw 0xE 'Step Left (Slow)
#raw 0xE 'Step Left (Slow)
#raw 0xE 'Step Left (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xFE 'End of Movements

#org 0x71EC34
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xFE 'End of Movements


另外這個腳本是博士的腳本,半完成,亦未完整,但暫對劇情沒有任何影響~

隐藏内容:

'---------------
#org 0x71EA20
checkflag 0x204
if 0x1 goto 0x871CCE8
msgbox 0x871CCF4 MSG_NORMAL '"Welcome!!!\nThis is a new world of..."
applymovement 0x1 0x871EB28
waitmovement 0x0
pause 0x20
applymovement 0x1 0x871EE98
waitmovement 0x0
givepokemon 0x115 0x5 0x0 0x0 0x1 0x0
givepokemon 0x118 0x5 0x0 0x0 0x1 0x0
givepokemon 0x11B 0x5 0x0 0x0 0x1 0x0
fanfare 0x13E
waitfanfare
hidesprite 0x4
hidesprite 0x3
hidesprite 0x2
msgbox 0x871EF40 MSG_NORMAL '"But in this beautiful world,\nther..."
release
end
'---------------
#org 0x71CCE8
msgbox 0x871CF2C MSG_NORMAL '"Please help us!!!!"
release
end

'---------
' Strings
'---------
#org 0x71CCF4
= Welcome!!!\nThis is a new world of pokemon.\pYou can catch many special \npokemon in here!!\pBefore you catch them,\nlet me gave you \psome new pokemon.
#org 0x71EF40
= But in this beautiful world,\nthere is a bad energy\pcontrol this world,\nI need you to help us!!!!\nPlease!!!
#org 0x71CF2C
= Please help us!!!!

'-----------
' Movements
'-----------
#org 0x71EB28
#raw 0x3 'Face Right
#raw 0xF 'Step Right (Slow)
#raw 0xFE 'End of Movements
#org 0x71EE98
#raw 0x2 'Face Left
#raw 0xE 'Step Left (Slow)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements




這個就是當我在am內,轉去了另一地圖後,再回來查博士的腳本,發現了以上的兩個腳本結合在一起...>.<..
這是結合後的博士腳本:

隐藏内容:

'---------------
#org 0x71EA20
checkflag 0x204
if 0x1 goto 0x871CCE8
msgbox 0x871CCF4 MSG_NORMAL '"Welcome!!!\nThis is a new world of..."
applymovement 0x1 0x871EB28
waitmovement 0x0
pause 0x20
applymovement 0x1 0x871EE98
waitmovement 0x0
givepokemon 0x115 0x5 0x0 0x0 0x1 0x0
givepokemon 0x118 0x5 0x0 0x0 0x1 0x0
givepokemon 0x11B 0x5 0x0 0x0 0x1 0x0
fanfare 0x13E
waitfanfare
hidesprite 0x4
hidesprite 0x3
hidesprite 0x2
loadpointer 0x0 0x871EF40 '"But in this beautiful world,\nther..."
checkflag 0x203
if 0x1 goto 0x81A7AE0
lockall
special 0x113
applymovement MOVE_CAMERA 0x871EB18
waitmovement 0x0
msgbox 0x871CC30 MSG_NORMAL '"......................."
applymovement MOVE_CAMERA 0x871EC34
waitmovement 0x0
special 0x114
setflag 0x203
releaseall
end
'---------------
#org 0x71CCE8
msgbox 0x871CF2C MSG_NORMAL '"Please help us!!!!"
release
end
'---------------
#org 0x1A7AE0
release
end

'---------
' Strings
'---------
#org 0x71CCF4
= Welcome!!!\nThis is a new world of pokemon.\pYou can catch many special \npokemon in here!!\pBefore you catch them,\nlet me gave you \psome new pokemon.
#org 0x71EF40
= But in this beautiful world,\nthere is a bad energy\pcontrol this world,\nI need you to help us!!!!\nPlease!!!
#org 0x71CC30
= .......................
#org 0x71CF2C
= Please help us!!!!

'-----------
' Movements
'-----------
#org 0x71EB28
#raw 0x3 'Face Right
#raw 0xF 'Step Right (Slow)
#raw 0xFE 'End of Movements

#org 0x71EE98
#raw 0x2 'Face Left
#raw 0xE 'Step Left (Slow)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

#org 0x71EB18
#raw 0xE 'Step Left (Slow)
#raw 0xE 'Step Left (Slow)
#raw 0xE 'Step Left (Slow)
#raw 0xE 'Step Left (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xD 'Step Up (Slow)
#raw 0xFE 'End of Movements

#org 0x71EC34
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xC 'Step Down (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xF 'Step Right (Slow)
#raw 0xFE 'End of Movements


真的完全不明白為何會這樣......>.<.....

[ 本帖最后由 erickoala 于 2009-11-8 17:38 编辑 ]

TOP

虽然没有仔细看,但你的地址明显有重叠部分,前一个脚本和后一个脚本的移动部分地址太靠近。
不要认为一个地址能够存下无数数据。
假设有地址0x01,那么从0x01到0x02只有一个字节而已;
如果你在0x01写下了N多信息,那么再次利用0x02的时候,必然会导致空间重用。


想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-8 17:52 发表
虽然没有仔细看,但你的地址明显有重叠部分,前一个脚本和后一个脚本的移动部分地址太靠近。
不要认为一个地址能够存下无数数据。
假设有地址0x01,那么从0x01到0x02只有一个字节而已;
如果你在0x01写下了N多信息 ...
那如果這樣的話,那要怎樣避免???
因為我每次都是找100字節/10字節~~
而地址都是用am內的找空位功能找的,而這個功能每次只能找5個空位地址~~~
那怎樣才知道我那時要跳過1-2個地址呢??

TOP

XSE具有动态地址功能,写脚本的时候只需要一个首地址即可。具体请看XSE教程初级篇。


想死你们了!

TOP

引用:
原帖由 liuyanghejerry 于 2009-11-9 00:07 发表
XSE具有动态地址功能,写脚本的时候只需要一个首地址即可。具体请看XSE教程初级篇。
我一直以為那個是給別人看的,所以就一直沒有留意...
原來是用在xse的...>.<...

另外想問一下,在am內新增地圖時,它也是自動設定地圖名稱是pallet town,但我又不能增加地圖名字~~
只能從舊有的地圖名字中選擇,可以教我一下如何增加地圖名字嗎??

再問問...
有沒有一種戰鬥類型是像火紅綠葉精靈塔的"嘎拉嘎拉",是不能捕捉,只能對戰的???
我試過一次找出來,但必定是"嘎拉嘎拉",不能是其他的精靈~~~
或要怎樣在xse中寫出來???

對不起,版主,剛剛又遇到新的問題~~
我想問問,火紅中是不是不能像寶石版般不能顯示烈日的天氣???
我試了很多次,就是不能在地圖中顯示烈日....

關於動態地址~~
我發覺如果我想修改之前的code時,會有機會會將發生我之前的問題...
那要怎樣才可以修改呢??因為有時候,打code時,總會忘記打少了一部份...要入game測試結果後才發覺有問題...>.<...

感激版主~~^^

[ 本帖最后由 erickoala 于 2009-11-9 21:43 编辑 ]

TOP