查看: 4776|回复: 2

冒险岛脚本编写基础教程二

[复制链接]

初级会员

枫币
432
威望
0
贡献
15
在线时间
39 小时
注册时间
2019-3-9
QQ
发表于 2021-4-29 18:23:37 | 显示全部楼层 |阅读模式
本帖最后由 q964391128 于 2021-4-29 18:28 编辑

第二课: Types of NPCs
NPC 主要有两种:需要 status 的,以及不需要 status 的。
最简单的区分方法 就是...显然地... status 。
编写 NPC 时,时时刻刻扪心自问:我的 NPC 会 需要两个以上的对话窗吗?如果答案为是,那你绝大多数时候会需要用到 status ;
若答案为非,那 status 可能用不太到。请见以下范例: 不须 status 的 NPC
function start() {
cm.sendOk("我是一个没有 status 的 NPC。");
cm.dispose();
}

另一个不须 status 的 NPC

function start() {
cm.sendOk("这是另一个没有 status 的 NPC。");
}
function action(mode, type, selection) {
cm.warp(100000000, 0);
cm.gainItem(4001126, 1);
cm.sendOk("看到了吗?我不用 status 就能把你传送走并给你道具。");
cm.dispose();
}

须要 status 的 NPC
var status;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == 1) {
status++;
} else {
status--;
}
if (status == 0) {
cm.sendNext("请按下一步,我才能继续下一个 status。");
} else if (status == 1) {
cm.sendSimple("你看到我如何操作 status 了吗?\r\n #L0# 是 #l \r\n
#L1# 否 #l");
} else if (status == 2) {
if (selection == 0) {
cm.sendOk("我在这!这是另一个 status。如你在脚本中看到的,这个对
话窗是在 status 2。");
cm.dispose();
} else if (selection == 1) {
cm.sendOk("好吧,这个对话窗也是在 status 2 ");
cm.dispose();
}
}
}






初级会员

枫币
196
威望
1
贡献
11
在线时间
22 小时
注册时间
2019-7-14
QQ
发表于 2021-9-29 17:14:07 | 显示全部楼层
赞赞赞赞赞

新人上路

枫币
14
威望
0
贡献
0
在线时间
0 小时
注册时间
2021-10-23
QQ
发表于 2021-10-23 17:12:18 | 显示全部楼层
看不懂 你这 一 二 对小白一点用没有
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|枫叶物语冒险岛单机 | 本站已运行:

枫叶物语可能会倒闭,但是绝对不会变质。

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

在本版发帖QQ客服返回顶部