云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > RMXP初初级脚本教程

RMXP初初级脚本教程

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 2:12:28

2、变量的基本操作

在默认的事件指令中,变量的操作比起开关就要稍微多一点。除了代入数字之外,也可以做各种加减乘除的运算操作。而在脚本里还有另一个方便且有趣的用途,就是可以代入字符串。←这个就是事件操作所不能为的部分了,待会儿作为补充进行讲解。

在脚本里,单个变量的语句是$game_variables[变量编号]。如果想要写1号变量,就写成$game_variables[1]即可。对这个变量的各种代入和运算操作,以常量为例在这里进行说明。

$game_variables[1] = 5 (1号变量代入5) $game_variables[1] += 5 (1号变量加5) $game_variables[1] -= 5 (1号变量减5) $game_variables[1] *= 5 (1号变量乘以5) $game_variables[1] /= 5 (1号变量除以5)

$game_variables[1] %= 5 (1号变量除以5取余数)

在上一章我们已经讲过数字在脚本里的四则运算。在这里对变量的操作联系上章应该已经能很直观地看出来。

要注意做四则运算的时候不要忘记了等号,因为等号是让这个变量『等于某值』的赋值号。当你要做加法运算,写出$game_variables[1] +=5 这句脚本的时候,实际意思是指『让1号变量等于它加上5之后的数值』,所以等号是不可或缺的。写作$game_variables[1] + 5 是错误的。其他的操作也是同理。

等号后面的数值,可以等于任何数字(常量变量均可,正负均可,也可以代入小数),比如你要让1号变量等于2号变量,就可以写成$game_variables[1] = $game_variables[2]。另外比较复杂的运算也可以通过脚本实现——比如你想让8号变量等于2号变量和3号变量的和再乘以5号变量,在事件操作里需要好几步:先让2号变量加3号变量,再乘以5号变量,然后让8号变量等于2号变量(在这几步过程中还让2号变量改变了数值,如果你不想让2号变量变更数值的话还得再用一个新变量先代入2号变量)但用脚本的话只要一个式子就能实现:

$game_variables[8] = ($game_variables[2] + $game_variables[3]) * $game_variables[5]

这样就可以一步到位=v=,而且2号、3号和5号变量的数值都不会改变。小括

号可以一层层地嵌套,所以多么复杂的计算式都可以这样写出来。不光在脚本编辑器里,使用事件的脚本操作也可以为自己节省时间。

变量和常量的操作说完了,接下来说说如何给单个变量代入『随机数』——也就是事件指令的变量操作第三条,在某个数值范围之间随便取一个数字,作为某个变量需要代入或参与运算的数值。在脚本语句里,最常用的随机数的语句为rand(n),这句是指『从0到n之间的任意一个数字』。那么,如何随便取一个a到b之间的数值呢?稍微做个简单的算术就能得出结果了:a + rand(b-a) 。

例:让1号变量加上8到20之间的任意一个数字。 $game_variables[1] += 8 + rand(12)

解说:在这里rand(12)这个语句会随机取一个0~12之间的数字,然后前面加上8,就会让这个数字落在8~20的范围之间。

随机数相关也讲完了,接下来是参数部分。依然是按照事件操作指令里的顺序列举下来:

n号物品的所持数:$game_party.item_number(n)

如果你要让1号变量的数值等于1号物品的持有数,那么脚本的写法就是$game_variables[1] = $game_party.item_number(1)。基本上就是把这些参数当作变量来用就可以了。

角色的参数相关:

n号角色的等级:$game_actors[n].level n号角色的hp:$game_actors[n].hp n号角色的sp:$game_actors[n].sp n号角色的经验:$game_actors[n].exp

n号角色的最大hp:$game_actors[n].maxhp n号角色的最大sp:$game_actors[n].maxsp n号角色的攻击力:$game_actors[n].atk n号角色的力量:$game_actors[n].str n号角色的灵巧:$game_actors[n].dex n号角色的速度:$game_actors[n].agi n号角色的魔力:$game_actors[n].int

n号角色的物理防御:$game_actors[n].pdef n号角色的魔法防御:$game_actors[n].mdef n号角色的回避率:$game_actors[n].eva

敌人的相关参数也是大同小异,只不过前面的$game_actors[n]要被替换成$game_troop.enemies[n],表示在某支队伍里的几号敌人。 另外敌人是没有等级和经验值这两个参数的。

例如:1号敌人的HP,就写作$game_troop.enemies[1].hp。 解说:$game_troop.enemies[1] —— 1号敌人;.hp —— 的hp。 ※hp前的那个点可以理解成『的』。

再接下来是地图的相关参数:

$game_player(角色)/$game_map.events[n](地图上的n号事件) X坐标:.x Y坐标:.y

朝向:.direction(这个参数会代入2/4/6/8的其中一个数字,分别代表行走图的上/左/右/下四个方向) 画面X坐标:.screen_x 画面Y坐标:.screen_y 地形标记:.terrain_tag

之所以在这里把语句拆成两段是为了节省地方(喂),如何组合大家看过角色和敌人的组合方式应该能理解一点。

例如:地图上的3号事件的Y坐标,写作$game_map.event[3].y。 例如:角色的地形标记,写作$game_player.terrain_tag

其他的一些参数:

地图ID:$game_map.map_id

同伴人数:$game_party.actors.size 所持金钱数:$game_party.gold 步数:$game_party.steps

游戏时间:Graphics.frame_count / Graphics.frame_rate

计时器当前的剩余时间:$game_system.timer / Graphics.frame_rate 存档次数:$game_system.save_count

到此,事件操作里的所有参数的语句都已经列出。需要用脚本操作变量的时候,只要在这些参数里挑选需要的即可。当然还有一些数值是用事件操作无法代入的,比如游戏里角色的职业、位置、姓名——这些属于『字符串』或者『隐藏数值』之类的东西,用脚本也统统可以代入和操作。

例如:$game_variables[1] = $game_actors[1].name,那么1号变量就会等于角色的名字。

例如:$game_variables[1] = \我是男人\,那么一号变量就会等于―我是男人‖四个字。

当然,一旦变量等于字符串,就不能进行数值操作了,会出现错误。在上面的例子里1号变量就不能再加减乘除任何数字,不过重新代入别的内容是可以做到的。

另外,字符串本身也可以相加,结果就会是连在一起的一行字。在上面的第二个例子里,如果再写一句$game_variables[1] += \也是基佬\,那么1号变量就会变成―我是男人也是基佬‖。(……别吐槽这个例子的内容)

需要注意的是:字符串如果作为变量进行操作的话,就只能做加法。乘法和减法之类的其他运算是不能操作的。另外如果参数本身是字符串的话,就不需要加双引号。如果是$game_actors[1].name,就可以直接加上去,因为1号角色的姓名本身就是字符串。

最后,一定范围内的多个变量操作和开关的操作一样,用for循环来完成。 for i in a..b

$game_variables[i] = XXX ←或者替换成任何你需要的变量操作,但一定要记得中括号里填的是i end

这一段的讲解枯燥了点,而且列出了很多看上去会让人犯晕的语句——不过事实上整体内容一点也不多,只是把两个事件操作指令脚本化,而且这部分对于之后要自己修改和定义系统也是很重要的,是基础。……很难想象你要修改脚本里的战斗系统但是还不清楚要怎么让一个变量等于角色的HP和SP吧? 当然,这些语句也没有必要死记硬背下来,只要在需要用到的时候来查一查就可以了。

练习题:写出下面这些事件指令的脚本语句,放到事件指令第三页的『脚本』中,运行游戏测试来看看是否和默认的事件操作效果相同。(可以用F9的debug模式来看看开关是否打开,代入的数值是否正确等)

A、打开1~20号开关,然后关闭3~8号开关,再然后关闭16号开关。

B、让4号变量等于2号角色的最大HP,减去所持金钱,再乘以3号角色的灵巧值,再除以角色的X坐标。最后让7号变量等于经过这些运算之后的4号变量的9倍。

C、让2~6号变量各自代入99~700之间的一个随机数。

搜索更多关于: RMXP初初级脚本教程 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2、变量的基本操作 在默认的事件指令中,变量的操作比起开关就要稍微多一点。除了代入数字之外,也可以做各种加减乘除的运算操作。而在脚本里还有另一个方便且有趣的用途,就是可以代入字符串。←这个就是事件操作所不能为的部分了,待会儿作为补充进行讲解。 在脚本里,单个变量的语句是$game_variables[变量编号]。如果想要写1号变量,就写成$game_variables[1]即可。对这个变量的各种代入和运算操作,以常量为例在这里进行说明。 $game_variables[1] = 5 (1号变量代入5) $game_variables[1] += 5 (1号变量加5) $game_variables[1] -= 5 (1号变量减5) $game_variables[1] *= 5 (1号变量乘以5) $game_varia

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com