查看: 1279|回复: 9

[有事请教] RMXP事件脚本问题

[复制链接]
梦石
0
星屑
60
在线时间
5 小时
注册时间
2026-4-8
回帖
4
发表于 2026-4-10 13:19:48 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×

图一蓝色位置是原来的脚本;图二是没有修改只是点进去,然后点击确定之后的脚本;图三是脚本代码。有没有什么办法,修改代码确定以后还保持原来的样式。
IMG_20260410_112252.png
IMG_20260410_112305.png
IMG_20260410_112322.png
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2026-4-10 20:15:29 | 显示全部楼层
不理解, 你想写成两行?

那把 pkmn 全改成 a 即可
回复 1 0

使用道具 举报

素材区好人

梦石
5
星屑
12559
在线时间
4345 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2026-4-11 10:52:30 | 显示全部楼层
同样没理解,看了2楼理解了,这就不得不提这两个符号了
事件中能够插入的脚本有限制,所以有时候会用到
\   告诉系统“这行没写完,看下一行”
;   告诉系统“这句话说完了,虽然还在同一行,但你可以把它当成两行来执行”

回复

使用道具 举报

梦石
0
星屑
60
在线时间
5 小时
注册时间
2026-4-8
回帖
4
 楼主| 发表于 2026-4-12 17:04:51 | 显示全部楼层
灯笼菜刀王 发表于 2026-4-10 20:15
不理解, 你想写成两行?

那把 pkmn 全改成 a 即可

复制到记事本中是这样的
pkmn=pbGetPokemon(1)
$game_variables[155] =pkmn.species.capitalize
和图1显示得一样,我点开事件脚本后它就会变成图3了,脚本框确认以后就变成图2三行的样子,以图三在游戏中触发这个脚本就会报错。我想修改脚本后保持代码原来的行数。
还有的脚本在图1这个界面都超过边界都不换行
$scene.spriteset.addUserSprite(LocationWindow.new(_INTL("Quest Log Updated\n")))比如这个
我是在汉化宝可梦同人发现事件脚本的_INTL部分没有导出来,试着直接改就遇到了这种情况
回复

使用道具 举报

梦石
0
星屑
60
在线时间
5 小时
注册时间
2026-4-8
回帖
4
 楼主| 发表于 2026-4-12 17:05:55 | 显示全部楼层
无忧谷主幻 发表于 2026-4-11 10:52
同样没理解,看了2楼理解了,这就不得不提这两个符号了
事件中能够插入的脚本有限制,所以有时候会用到
\  ...

复制到记事本中是这样的
pkmn=pbGetPokemon(1)
$game_variables[155] =pkmn.species.capitalize
和图1显示得一样,我点开事件脚本后它就会变成图3了,脚本框确认以后就变成图2三行的样子,以图三在游戏中触发这个脚本就会报错。我想修改脚本后保持代码原来的行数。
还有的脚本在图1这个界面都超过边界都不换行
$scene.spriteset.addUserSprite(LocationWindow.new(_INTL("Quest Log Updated\n")))比如这个
我是在汉化宝可梦同人发现事件脚本的_INTL部分没有导出来,试着直接改就遇到了这种情况
回复

使用道具 举报

素材区好人

梦石
5
星屑
12559
在线时间
4345 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2026-4-12 17:33:43 | 显示全部楼层
本帖最后由 无忧谷主幻 于 2026-4-12 17:34 编辑
APK1.0 发表于 2026-4-12 17:05
复制到记事本中是这样的
pkmn=pbGetPokemon(1)
$game_variables[155] =pkmn.species.capitalize


事件中每行脚本能够容纳的字符有限,遇到一句很长的写不下,复制进去肯定会变成这样
1.png

这时候直接分隔一下就好了
这样一来就能运行了
2.png

还有,下次表达清楚一些,我至今不确定你要问什么
回复

使用道具 举报

梦石
0
星屑
60
在线时间
5 小时
注册时间
2026-4-8
回帖
4
 楼主| 发表于 2026-4-12 17:38:03 | 显示全部楼层
无忧谷主幻 发表于 2026-4-12 17:33
事件中每行脚本能够容纳的字符有限,遇到一句很长的写不下,复制进去肯定会变成这样

谢谢大佬,我对代码这东西是一窍不通啊

点评

但你英语超神了啊,我看你的对话全是英文,你有这英语水平学代码不在话下  发表于 2026-4-13 12:38
回复

使用道具 举报

梦石
0
星屑
60
在线时间
5 小时
注册时间
2026-4-8
回帖
4
 楼主| 发表于 2026-4-13 14:31:51 | 显示全部楼层
APK1.0 发表于 2026-4-12 17:38
谢谢大佬,我对代码这东西是一窍不通啊

大佬啊,我只是搞汉化的
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2026-4-17 11:51:01 | 显示全部楼层
APK1.0 发表于 2026-4-12 17:05
复制到记事本中是这样的
pkmn=pbGetPokemon(1)
$game_variables[155] =pkmn.species.capitalize

因为编辑器会给你自动换行, 但是自动换行是按文本来而不是脚本规则, 所以就出错咯

解决办法: 1 缩短句子不要超过一行, 就像我上面说的, 你把 pkmn 换成 a , 句子就缩短了,就不会自动换行了
PS: 编辑器的文本编码和脚本输入框的编码是不同的(你可以试试在脚本输入 &* ,看看区别), 所以你在输入框里看到没换行不代表编辑器里就不换行,要留一个半角空格的冗余

2 用转行符 "\"手动换行 ,但是这个符号也是要按脚本规则来切断的, 否则也会出错, 笑
  简单的规则就是: 不能在一整个单词里切开, 可以在"左括号"后换行(此时不需要加\也行),可以在等号后面换行(也不用加\)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部