返回教學列表
JS教學

使用道具將技能設定於鍵盤上

這篇教學要教大家如何寫一個特殊的「消耗道具」腳本。當玩家點擊該道具時,系統除了會自動給予玩家指定的技能外,更會直接將該技能設定到他的鍵盤快捷鍵上!


如何安裝腳本

1. 請將下方代碼複製,並存為以物品 ID 命名的 .js 檔案。
2. 檔案請放置於服務端的 scripts/item/consume 資料夾內。
3. 請注意:道具的 ID 必須是 245 開頭的消耗品物品(例如設定為:2450000.js)。

完整腳本代碼

/* 用法: 丟到item/consume 裡面 腳本名改成你要的物品id即可 (要做成245開頭的物品) */ load('nashorn:mozilla_compat.js'); importPackage(Packages.client); importPackage(Packages.tools); var skillid = 3211006; var level = 10; function start() { var item = im.getItem(); cm.teachSkill(skillid, level); im.gainItem(item.getItemId(), -1); // 將技能綁定至鍵盤的 13 號鍵位 im.getPlayer().changeKeybinding(13, 0, 0); im.getPlayer().changeKeybinding(13, 1, skillid); im.getPlayer().getClient().sendPacket(MaplePacketCreator.getKeymap(im.getPlayer().getKeyLayout())); im.dispose(); }

代碼原理解析

  • var skillid = 3211006;var level = 10;
    這裡可以自訂你想給予的「技能 ID」與「最高技能等級」。
  • cm.teachSkill(skillid, level);
    讓系統教導玩家此技能。
  • im.gainItem(item.getItemId(), -1);
    扣除剛剛點擊使用的這個道具 1 個,以達成消耗品的效果。
  • changeKeybinding(13, 1, skillid);
    將技能指派到鍵盤上。代碼中的數字 13 代表鍵盤的特定按鍵欄位,您可以改變這個數字將技能塞進不同的按鈕位置。
  • sendPacket(...)
    向使用者發送封包,及時更新客戶端的鍵盤配置介面。