NPC Script

来自SMBX 中文百科
TeaScript:NPC Script
跳转到导航 跳转到搜索
NPC Script 关卡,板栗仔会发射火球。

NPC Script 是 SMBX 38A 的 TeaScript 一个脚本实例,用于演示使用 NPC 运行脚本。

介绍

此实例使用一个脚本和对应的NPC,用来达到让NPC做出一些特殊效果。

此技巧多用于同人SMBX作品。

利用脚本,修改NPC的属性,让NPC做出一些特殊的效果,可以让关卡更加丰富和具有挑战性。

代码教程

打开编辑器,新建一个代码,如果想修改NPC的属性,就加上以下语句:

with npc(sysval(param1))
    'Executes Scripts
end with

此语句的作用是对NPC进行对应参数的修改,例如NPC的Xsp和Ysp,如果不使用上述语句,会是这样的:npc(sysval(param1)).xspnpc(sysval(param1)).ysp,写起来比较麻烦。

而加上上述函数,可以直接使用例如:.xsp.ysp参数,不需要打前缀。

然后写出一段代码来,例如下面可以让NPC发射火球的脚本:(假设该脚本名是npc。)

with npc(sysval(param1))                                            '此函数的作用是将一组语句应用于给定对象。
  .ivala = .ivala + 1                                               '让该NPC的ivala值每帧+1,如果该NPC的ivala没有特殊值的话。
  if .ivala mod 30 = 0 then                                         '判断ivala的值是否余数为0。
    call NCreate(317, .x, .y, 8*(rnd-0.5), 8*(rnd-0.5), 0, 0)       '生成一个SMW火球NPC,以设定的随机方向速度发射。
  end if
end with

点击需要让其执行该脚本的NPC,右键打开如下画面。

NPC Script Setting.png

找到最后的“Scripts”,选中“NPCScripts”,选择刚才的“npc”脚本,如果不需要NPC限制在脚本的程序活动,让其NPC自身活动的同时运行该脚本,将“ParallelExexution”勾选即可。