查看: 2463|回复: 2

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

  • TA的每日心情
    开心
    2023-4-29 03:45
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    初级会员

    枫币
    397
    威望
    0
    贡献
    15
    在线时间
    35 小时
    注册时间
    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();
    }
    }
    }






    该用户从未签到

    初级会员

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

    该用户从未签到

    新人上路

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

    本版积分规则

    枫叶物语即使倒闭也绝对不会变质
    Copyright © 2001-2013 Discuz Team. Powered by Discuz! X3.5 |网站地图 | 本站已运行: