查看: 1116|回复: 2

地圖傳送JS語法教學

[复制链接]
  • TA的每日心情

    2022-12-15 19:48
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    74

    主题

    9

    回帖

    355

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    355
    QQ
    发表于 2022-12-1 20:22:44 | 显示全部楼层 |阅读模式
    本篇教學並非以JS常用的Array語法。而是使用類似萬能NPC的傳送。 對部分會改Array的人來說,這種語法型式可能會稍微陌生一點(畢竟不常用)。 不過這種模式似乎對新手來說才是最佳的寫法。 不囉嗦,進入教學吧。 老樣子,有積分限制。
    一般會使用的大概就是Array的寫法。 那種格式在此不做討論,有興趣研究的會員請自行翻閱小馬端。 萬能NPC的地圖、王圖、練功等等的傳送JS就是使用Array。 以下是萬能NPC的寫法,傳送的方式是使用cm.warp(地圖代碼 ,0); 這種語法最輕鬆的原因就是只需要修改三個東西:內文 + 地圖代碼,然後連結功能而已。 整段的語法如下
    [AppleScript] 纯文本查看 复制代码
    var status = 0;
    function start() {
    status = 1;
    action(1, 0, 0);
    }
    function action(mode, type, selection) {
    if (mode == 1) {
    cm.dispose();
    } else {
    if (mode == 0) {
    cm.dispose();
    return;
    }
    if (mode == 1)
    status++;
    else
    status;
    if (status == 0) {
    cm.sendSimple ("內文");
    } else if (status == 1) {
    switch(selection) {
    case 連結代號: cm.warp(地圖代碼 ,0); cm.dispose(); break;
    }
    }
    }
    }

    內文:你打開NPC他跟你說的話。
    連結代號:每一張地圖在NPC對應的連結。 地圖代碼:你要傳送過去的那張地圖的代碼。 對語法有不清楚的請查閱我的萬能NPC與法教學。點我 以下舉例說明: 地圖代碼:910000000 (自由市場)

    [AppleScript] 纯文本查看 复制代码
    var status = 0;
    function start() {
    status = 1;
    action(1, 0, 0);
    }
    function action(mode, type, selection) {
    if (mode == 1) {
    cm.dispose();
    } else {
    if (mode == 0) {
    cm.dispose();
    return;
    }
    if (mode == 1)
    status++;
    else
    status;
    if (status == 0) {
    cm.sendSimple ("#e#r傳送地圖NPC測試。\r\n#b#L1#傳送到自由市場");
    } else if (status == 1) {
    switch(selection) {
    case 1: cm.warp(910000000 ,0); cm.dispose(); break;
    }
    }
    }
    }


    當然一定會有人問:那如果我要傳送多張地圖呢? ANS:那就多幾個連結,多幾組cm.warp就好了。
    例子如下
    地圖代碼:910000001 (自由市場1洞)
    地圖代碼:910000002 (自由市場2洞)
    地圖代碼:910000003 (自由市場3洞)
    地圖代碼:910000004 (自由市場4洞)
    地圖代碼:910000005 (自由市場5洞)
    地圖代碼:910000006 (自由市場6洞)
    地圖代碼:910000007 (自由市場7洞)
    地圖代碼:910000008 (自由市場8洞)
    地圖代碼:910000009 (自由市場9洞)
    地圖代碼:910000010 (自由市場10洞)

    [JavaScript] 纯文本查看 复制代码
    var status = 0;
    function start() {
    status = 1;
    
    action(1, 0, 0);
    }
    function action(mode, type, selection) {
    if (mode == 1) {
    cm.dispose();
    } else {
    if (mode == 0) {
    cm.dispose();
    return;
    }
    if (mode == 1)
    status++;
    else
    status;
    if (status == 0) {
    cm.sendSimple ("#e#r傳送地圖NPC測試。\r\n#b#L1#傳送到自由市場1洞\r\n#b#L2#傳送到自由市場2洞
    \r\n#b#L3#傳送到自由市場3洞\r\n#b#L4#傳送到自由市場4洞\r\n#b#L5#傳送到自由市場5洞\r\n#b#L6#傳送到自由
    市場6洞\r\n#b#L7#傳送到自由市場7洞\r\n#b#L8#傳送到自由市場8洞\r\n#b#L9#傳送到自由市場9洞\r\n#b#L10#傳
    送到自由市場10洞");
    } else if (status == 1) {
    switch(selection) {
    case 1: cm.warp(910000001 ,0); cm.dispose(); break;
    case 2: cm.warp(910000002 ,0); cm.dispose(); break;
    case 3: cm.warp(910000003 ,0); cm.dispose(); break;
    case 4: cm.warp(910000004 ,0); cm.dispose(); break;
    case 5: cm.warp(910000005 ,0); cm.dispose(); break;
    case 6: cm.warp(910000006 ,0); cm.dispose(); break;
    case 7: cm.warp(910000007 ,0); cm.dispose(); break;
    case 8: cm.warp(910000008 ,0); cm.dispose(); break;
    case 9: cm.warp(910000009 ,0); cm.dispose(); break;
    case 10: cm.warp(91000010 ,0); cm.dispose(); break;
    }
    }
    }
    }


    模式就是這樣,各位就參考吧。

    [轉發自 小馬論壇 紅茶]





    专注于GMS研究,有偿调试架设,全网最低,公益群:915210346。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-6-28 07:37
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    2

    主题

    66

    回帖

    71

    积分

    注册会员

    Rank: 2

    积分
    71
    发表于 2024-6-19 18:17:03 | 显示全部楼层

    666666666666666
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-7-4 11:28
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    55

    回帖

    168

    积分

    注册会员

    Rank: 2

    积分
    168
    发表于 2024-6-29 07:43:57 | 显示全部楼层
    666666666666666666666
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表