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

[脚本] XSE的个人心得(3.21更新4节)

XSE的个人心得(3.21更新4节)

近来经常接触XSE,学会了一点东西。在这里说一下心得吧。也可以算是教程。

1.得到物品
2.对话
3.标识


准备工作:
在AM菜单的【设置】---【选择脚本编辑器】中,选择XSE为我们的默认脚本编辑器。
这样当你选中一个事件、人物的时候按右边的打开脚本就能用XSE马上打开脚本观看了~


准备知识:
XSE每个脚本的格式都是:
引用:
#org 0x脚本地址

表示这个脚本的开始。(其中脚本地址就是在AM中看到的那个人物的脚本地址)
而脚本最后一般都会写上
引用:
end
来表示此脚本已经结束。

这是每段脚本的必备命令。
完成脚本时,按下菜单栏中的转轮按钮(蜜蜂旁边的)即可写入游戏。
本教程所写的任何脚本,可以修改游戏中的原脚本,也可以自己找空位,更可能让XSE自动找空位!但推荐新手用修改原脚本熟悉一下~
顺便一提:游戏中大部分时候都需要用到16进制的转换。所以XSE自带了方便的计算机功能(界面的右边)


10进制转16进制使用方法:
引用:
先确定是否是10进制状态(dec)
            然后在输入框中输入需要的数字,再按下16进制状态按钮(hex)
            所输入的数值就已经转换好并显示出来了。
            (注:16进制转10进制同理,不过很少用)



1.得到物品
首先我们改精灵球里的内含物
其实以前发过一个帖子说过怎么修改了,但是还是没写XSE修改法,这里补上。
我找一个脚本地址为1A4BDE的精灵球(也可以用在人物或其他什么东西上),这个精灵球里装了怪兽蛋,脚本:


引用:

#org 0x1A4BDE
giveitem 0xC5 0x1
end


我来解说一下~

引用:

#org 0x1A4BDE--->表示1A4BDE脚本的开始~
giveitem             --->这个只要翻译就知道是[得到物品]的命令~


但是,大部分命令都是有格式的,那么giveitem的格式要怎样写呢?
引用:
giveitem 0x道具编号 0x道具数量

只要把中间2个0x补上,就可以写进脚本里了~
问题是,我们怎么知道要填上什么呢?

【1】首先,道具编号我们可以在文末提供的道具表中找出所需要的道具,再把这个道具的编号写上去即可~
比如大师球是0x1,星星果是0xAE,以此类推
【2】那么道具数量呢?我们一定要填16进制!关于16进制,花花的教程已经有了哈~
怎么转换16进制?参考上面的计算机使用教程~


来个范例好了~

引用:

#org 0x1A4BDE
giveitem 0x5D 0x32
end

知道是什么意思吗?如果能看懂就证明你学会了精灵球脚本
0x5D---->太阳石的道具编号
0x32---->50个(16进制)
即:得到50的个太阳石





2.对话
(这章因为涉及中文字,所以目前还不能确定,有兴趣可以试试)
对话的NPC格式基本是这样

引用:

#org 0x脚本地址
msgbox 0x8说话内容存放地址
end

#org 0x说话内容存放地址
= 说话内容



#org 0x脚本地址--->不用解释了吧……脚本开始- -||
msgbox               --->就是对话命令~

msgbox的格式:

msgbox  0x8说话内容存放地址  
(顺便说下说话内容存放地址是怎么回事。
  游戏中的每一段话都是存放在不同的地址中。
  可以通过脚本使用这个地址以显示里面的文字内容)
但是游戏不知道说话内容存放地址的内容是什么?
那么就要在后面解释这个地址的含义~~~
这就是分段式的脚本
格式:
引用:

#org 0x说话内容存放地址                  
= 说话内容


说话内容存放地址与上文那个是对应相同的
只是上文那个要加个8~
说话内容要怎么写呢?
我们可以用roy大人的文字转换工具~
记得要圈上【文本用于脚本】选项!
然后打上想要的文字,转换即可。
比如我写:我是海洋------>\hF1\h90\hF1\h42\hF2\hA6\hF6\hDE
把这一串字母写上说话内容部分即可~
那么当游戏读取到0x8??????这部分时,就能从下面找到要显示的文字~
那么此脚本就完成了~
然后写入= =
注意:输入的文字不能比原来的字节多,除非你用的是空位!
进游戏看看~
失败了只好刻苦钻研了……没有别的办法……
(其实大家可以发现,可以用这个修改对话哦~只要改掉内容XD)


那么……飘走= =||

(当然还米有结束XD )










[ 本帖最后由 海洋之囧 于 2010-6-27 13:35 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
中考完毕,暑假开始。

TOP

XSE个人心得(3.21更新野生战斗)

3.标识
呵呵,我们又见面了~
今天给大家讲讲脚本中常用的标识~

所谓的标识呢~就打个比方好了~
比如路上有一个大坑~

1.如果大坑前面竖着一个牌子,写着不准通行,那你就会绕道了吧~
2.如果大坑没有任何警告牌,你就可能径直走过去然后摔下去……(众:这比喻好别扭= =||)
因此,设不设立警告牌就会影响后果~
而游戏中的标识呢~就是跟这个警告牌一样~
我们可以利用标识来设立2种情况的脚本~
比方说:如果游戏设立这个标识已经设立,则会自动执行我们所命令的下一步脚本~或者弄成当此脚本还没有设立的时候才执行其他操作也行,一切随您~
那这脚本的命令到底是什么呢?~请看~
引用:

checkflag 0x标识号 检查标识
setflag 0x标识号     设立标识

以上就是标识中最常用的2个命令啦~
可是光有这2个命令还不行,我们需要一个脚本命令来确定当标识没有设立或已经设立的时候下一步应该怎么做~

引用:

当没有设立该标识的时候跳转到下一个脚本:
if 0x0 goto 0x8跳转到的脚本地址
当已经设立该标识的时候跳转到下一个脚本:
if 0x1 goto 0x8跳转到的脚本地址

上面已经写出了2种所需要的情况,您完全可以自己来决定要用哪个命令~(请注意脚本地址前还有一个8)
注意上面2个命令在此教程中要默认放在checkflag的下一行(我没有尝试过其他命令)
至于要跳转到的脚本就需要我们使用分段式的脚本在下面继续写上啦~
(注意游戏已经用过的标识是不能使用的= =)
说到这里大家可能糊涂了还是不明白整个脚本流程到底是怎样,我现在写给出来吧~
(注意:此范例的脚本地址全部用AAAAAA\BBBBBB等等代替……请自己找足够空间的脚本地址试)
引用:

#org 0xAAAAAA                    --->AAAAAA脚本开始
checkflag 0x500                     --->检查标识500是否设立
if 0x0 goto 0x8BBBBBB          --->如果游戏并没有设立该标识跳转到BBBBBB那个脚本
giveitem 0x1 0x1 MSG _FIND --->得到大师球一个
end                                         --->结束

#org 0xBBBBBB                     --->BBBBBB脚本开始
giveitem 0x2 0x1 MSG _FIND --->得到超超球一个
setflag 0x500                        --->设立500号标识
end


以上脚本您可以用在一个人物身上,甚至是地上的一个陷阱式脚本(绿色S)
但是脚本地址AAAAAA、BBBBBB还是要自己找个足够大的脚本地址代替上去才行哦~(当然如果您不会的话,以后我会写自动找地址的动态脚本,不过要有点耐心了呵呵)
从脚本中我们可以知道,一开始设立标识500号,如果500号标识没有设立的话,跳转到BBBBBB的脚本~如果500号标识已经设立,则会继续执行下一行的脚本~
然后BBBBBB脚本的内容是得到一个超超球和设立标识500号~
这样当您再次触发该脚本(与人物对话或踩中脚本),系统再次检查标识时,就会测到标识已经设立。因为跳转命令是未设立此标识是才执行的,所以会继续下一行的脚本~
然后,预期的结果就是第一次触发该脚本会给您一个超超球,以后再触发都只是给您1个大师球~
关于标识我们就说到这里,大家已经可以用这3章的知识做一个简单的脚本了~


4.野生战斗
嗯……今天我们来学习一下野生精灵战斗脚本……

这个其实花花的教程也讲的蛮详细了。只是XSE要稍微变格式:
引用:
wildbattle 0x种类 0x等级 0x携带道具
注意:以上3个参数均为16进制
1.种类的数值可以从全国图鉴获得,基本各大论坛和游戏都有吧= =(注意是全国的转换成16进制的)

2.等级比较好理解,就是把想要的等级转换成16进制而已
3.直接看道具表……
16进制的转换方法之前已经说过,用XSE自带的

就这样说MS不太明白,还是举个例子:
[quote]目标:遇到100级皮卡丘,携带大师球
1.种类:皮卡丘的全国图鉴是25号,25------>19
2.等级:100级,100--->64
3.大师球,编号0001,直接取后2位数字01
于是就是:
wildbattle 0x19 0x64 0x01
[quote]
然后在游戏中就能遇到一个一百级携带大师球的皮卡丘了。(一般可捕捉,可逃跑)







[ 本帖最后由 海洋之囧 于 2009-3-21 09:54 编辑 ]
中考完毕,暑假开始。

TOP

这里并没有任何东西占楼


[ 本帖最后由 海洋之囧 于 2009-12-23 12:55 编辑 ]
中考完毕,暑假开始。

TOP

已经转移


[ 本帖最后由 海洋之囧 于 2009-12-23 12:55 编辑 ]
中考完毕,暑假开始。

TOP

文章占楼
中考完毕,暑假开始。

TOP

其实我连文本读都读不出来....
火红美版
饮鸩止渴

TOP

现在我说一句...............
如果你直接打开不修改就写入的话都是乱码
因为他读取问题.......

TOP

顶!好强! 我还在用 Pokescript 55555555555XSE还是用不来呀

PS:我还是用 Pokescript算了!最起码我现在对它了解比较深!基本上可以进行改版了!花花的教程也基本上全看明白了![LZ如何移值地图块的教程也发个上来吧!!!]

[ 本帖最后由 5944 于 2008-11-7 14:49 编辑 ]

TOP

支持一下
XSE比pokescript方便
而且大致上和pokescript差不多,用过pokescript的应该很快就掌握到XSE

LZ加油!
会不会写道馆的脚本?

TOP

首先支持下LZ,既然LZ能够自己慢慢的掌握XSE,我想我也就不必再写教程了,期待LZ能够完成更多的内容——虽然还有很多的东西没有涉及到,不过精神可嘉~


想死你们了!

TOP

XSE能自动找空位吗?
写入时 有时老提示什么不足..........

TOP

貌似不能找空位呢……
有时间我去问问jerry
中考完毕,暑假开始。

TOP

以下内容需要回复才能看到
我不是已经回复了吗??

TOP

貌似重新编辑的要再回复一次- -
中考完毕,暑假开始。

TOP

引用:
原帖由 冰の都 于 2008-11-11 13:37 发表
以下内容需要回复才能看到
我不是已经回复了吗??
所以你看到了
没回复是类似“本内容需要回复才能看到”吧

TOP

支持LZ,XSE确实方便了不少

TOP

仔细看了下心得,认为还是应当及时纠正某些容易误导大家的观点。当然,没有批评的意思,主动的探索总有需要纠正的时候嘛~

首先,“对话”部分:
1、NPC的对话在反编译的时候确实和LZ写的相同,但是在自己编写的时候不必写全信息。
其中“'”后的部分其实是脚本中的注释,也就是可以在编写时不写的。
自己在编写脚本的时候可以用@offset的形式(offset可以换作其他英语单词,但是一个单词只能表示同一个地址),而不必写0x的形式。
2、一般的脚本当中,必须有以下的部分:
#dynamic 0x(此处的地址需要您自己来计算、查找,可以用FSF找空白地址)
#org @start(单词随便换)
lock
faceplayer
...
...
end
暂时先纠正这些。


想死你们了!

TOP

ROY刚刚和我说jerry说的是动态地址……
就是自己找空位对吧?
虽然想写……但是我的表达水平实在……
中考完毕,暑假开始。

TOP

占那么多楼....
我想看下隐藏的==

TOP

额……为什么大家都会改版呀……呜呜,哪里能学?偶也想学
新签名更新完毕,这次是自己做的BRS喵~[点图进入BD空间—夙夜·凝丨禁网期间凌乱曦落赶制中.渊谷设计中]

TOP