這篇教學要教大家如何寫一個特殊的「消耗道具」腳本。當玩家點擊該道具時,系統除了會自動給予玩家指定的技能外,更會直接將該技能設定到他的鍵盤快捷鍵上!
如何安裝腳本
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(...)
向使用者發送封包,及時更新客戶端的鍵盤配置介面。