口袋吧互动社区

 找回密码
 注册加入口袋吧

QQ登录

只需一步,快速开始

扫一扫,访问微社区

通关攻略
ORAS图文攻略一周目/ 二周目
XY图文攻略一周目/ 二周目
黑2白2图文攻略一周目/ 二周目
黑白图文攻略一周目/ 二周目
心金魂银图文攻略一周目/ 二周目
白金图文攻略一周目/ 二周目/ 珍珠钻石图文攻略
绿宝石流程攻略/ 火红叶绿通关攻略/ 红蓝宝石剧情攻略
时暗探险队完美攻略/ 赤青救助攻略
游戏ROM火热下载:
口袋妖怪黑2中文版/ 口袋妖怪白2中文版
口袋妖怪黑(中文)/ 口袋妖怪白(中文)
心金(中文)/ 魂银(中文) /白金(中文)
绿宝石386中文版/ 火红完美中文版
NDS模拟器/ GBA模拟器中文版
游戏精华资料库
OR/AS
X/Y
黑白2/ 黑白
心金魂银/ 白金/ 珍珠钻石
绿宝石/ 红蓝宝石/ 火红叶绿/ 金银水晶
口袋×信长/ 护林员/ 玛古纳之门/ 空时暗探险队/ 赤青救助队
PBO战报/ 战术研究文
口袋图鉴手机版:www.koudai8.com/pmdex/m
查看: 4326|回复: 12

【一个教程】关于是否型对话脚本的写法及其和消失脚本的结合

[复制链接]
发表于 2012-9-23 19:33 | 显示全部楼层 |阅读模式
本帖最后由 740772085 于 2012-9-23 20:45 编辑

这也是个人第一次写教程,写的不好的地方还请大家提出来。
这片教程主要针对于新手,像暗大这样的高手应该是很熟了吧?
好,下面教程开始!
相信大家还记得漆黑的魅影4.5里面的破坏因子剧情吧?
那个npc就运用了是否型脚本+消失脚本+赠予东西的脚本。
我今天给大家带来的是是否型脚本的写法及其和消失脚本的结合
测试蓝本:火红2012美化版v1.0
首先用am打开rom(这是废话)
会出现以下画面,我们新加一个事件。

然后用fsf搜索空位

接下来就是写脚本了,在此之前先把是否型脚本的雏形给予大家。
格式如下:
#org 0x脚本地址
lock
faceplayer
msgbox 0x8脚本地址一 MSG_YESNO
compare LASTRESULT 0x1
if 0x1 goto 0x8脚本地址二
compare LASTRESULT 0x0
if 0x1 goto 0x8脚本地址三
end

#org 0x脚本地址二
msgbox 0x8脚本地址三 MSG_KEEPOPEN
release
end

#org 0x脚本地址四
msgbox 0x8脚本地址五 MSG_KEEPOPEN
release
end

#org 0x脚本地址一
= 选是否前的对话内容

#org 0x脚本地址三
= 选是的对话内容

#org 0x脚本地址五
= 选否的对话内容
接下来,我随便写了一个对话内容
#org 0x803DB8
lock
faceplayer
msgbox 0x8803DC8 MSG_YESNO
compare LASTRESULT 0x1
if 0xBB goto 0x8803DFF
compare LASTRESULT 0x0
if 0x1 goto 0x8803DF8
msgbox 0x8803DE8 MSG_KEEPOPEN
release
end

#org 0x803DFF
call 0xFFFF026C
#org 0x803DF8
msgbox 0x8803E08 MSG_KEEPOPEN
release
end

#org 0x803DC8
= A

#org 0x803DE8
= B

#org 0x803E08
= C
写完点击xse的写入
然后我们用am保存

之后我们打开游戏,回到游戏中测试。
选是否之前:
选是:
选否:
是不是很简单呢?
那么,接下来奉上和消失脚本结合的格式:
#org 0x地址
lock
faceplayer
msgbox 0x地址一 MSG_YESNO
fadescreen 0x1
hidesprite LASTTALKED
setflag 0x186C
fadescreen 0x0
compare LASTRESULT 0x1
if 0x1 goto 0x8地址二
compare LASTRESULT 0x0
if 0x1 goto 0x8地址三
release
end

#org 0x地址二
lock
faceplayer
msgbox 0x8地址四 MSG_NORMAL
release
end

#org 0x地址三
lock
faceplayer
msgbox 0x8地址五 MSG_NORMAL
release
end

#org 0x地址一
= 选之前

#org 0x地址四
= 是
#org 0x地址五
= 否
这是无论选是还是选否人物都会消失的格式,如果大家有兴趣可以试试将消失脚本代码移到是或者是否的脚本里,看看效果。
最后解释一下各个脚本地址的用途,从上到下的顺序
第一个地址:执行yesno脚本的指令和选是否之前的对话内容
第二个地址:执行选是的动作
第三个地址:执行选否的动作
第四个地址:执行选是的对话内容
第五个地址:执行选否的对话内容
那么此次教程结束,88

评分

参与人数 1经验值 +10 现金 +180 努力值 +10 收起 理由
闪电丘 + 10 + 180 + 10 怒支持

查看全部评分

回复

使用道具 举报

发表于 2012-9-23 19:36 | 显示全部楼层
本帖最后由 枫林月 于 2012-9-23 19:38 编辑

支持74,不过提个建议,把所谓的脚本地址啊,地址一地址二什么的都代表什么含义,讲的更清楚一些吧
回复

使用道具 举报

发表于 2012-9-23 19:39 | 显示全部楼层
恩恩,支持一下,建议分段编写,一节一节会比较明朗...
回复

使用道具 举报

 楼主| 发表于 2012-9-23 19:41 | 显示全部楼层
那么应枫林月大大的要求,把地址的含义解释出来
第一个地址:执行yesno脚本的指令和选是否之前的对话内容
第二个地址:执行选是的动作
第三个地址:执行选否的动作
第四个地址:执行选是的对话内容
第五个地址:执行选否的对话内容

点评

编辑到一楼去吧  发表于 2012-9-23 20:43
回复

使用道具 举报

发表于 2012-9-23 20:41 | 显示全部楼层
嗯嗯支持一下~ 不过提个建议,最好在开始操作之前把所要用到的工具都列出来,这样可能会帮一些人省下一些反应时间咯~
回复

使用道具 举报

 楼主| 发表于 2012-9-23 20:42 | 显示全部楼层
alrab 发表于 2012-9-23 20:41
嗯嗯支持一下~ 不过提个建议,最好在开始操作之前把所要用到的工具都列出来,这样可能会帮一些人省下一些反 ...

好,下回吾辈注意
回复

使用道具 举报

发表于 2012-10-6 09:41 | 显示全部楼层
对话后黑屏怎么破...{:soso__8475657136057850255_1:}
回复

使用道具 举报

发表于 2012-11-16 17:54 | 显示全部楼层
740772085 发表于 2012-9-23 20:42
好,下回吾辈注意

为什么大家都称自己为吾辈
回复

使用道具 举报

发表于 2013-1-5 21:46 | 显示全部楼层
能不能上xse的图?,那串代码真心看不懂啊,咱初中的vb还没过关啊啊啊
回复

使用道具 举报

发表于 2013-1-5 21:51 | 显示全部楼层
还有自动退出是闹哪样啊啊啊
回复

使用道具 举报

 楼主| 发表于 2013-1-5 23:04 | 显示全部楼层
153709484 发表于 2013-1-5 21:51
还有自动退出是闹哪样啊啊啊

XSE吗?   
回复

使用道具 举报

 楼主| 发表于 2013-1-8 15:27 | 显示全部楼层
153709484 发表于 2013-1-5 21:51
还有自动退出是闹哪样啊啊啊

在xse的安装路径里找到Settings.ini这个文件,把里面的AutoUpdateCheck=1 改成AutoUpdateCheck=0
回复

使用道具 举报

发表于 2013-2-3 11:00 | 显示全部楼层
740772085 发表于 2013-1-8 15:27
在xse的安装路径里找到Settings.ini这个文件,把里面的AutoUpdateCheck=1 改成AutoUpdateCheck=0

唷谢谢原来如此
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册加入口袋吧

本版积分规则

QQ|小黑屋|手机版|Archiver|口袋吧 ( 京ICP备05002314|京公网安备11010602010112 )

GMT+8, 2020-4-2 04:42

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表