Skip to content

Instantly share code, notes, and snippets.

@jsdryan
Last active April 15, 2024 17:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jsdryan/9346e913ef3d8b1e62025dd748850565 to your computer and use it in GitHub Desktop.
Save jsdryan/9346e913ef3d8b1e62025dd748850565 to your computer and use it in GitHub Desktop.
快樂貓 MS Script 教學 - 第 9 課(販賣道具)
// 影片教學網址:https://youtu.be/QkQTn7SUdsQ?si=sUay4PJlyYwWqJ_7
// 使用 NPC 編號:2101018 - 杰薩勒(親衛隊長)
var status = -1; // 狀態
var selected; // 選擇的物品
var count; // 購買的數量
// [物品ID, 價格, 數量]
var grocer = [
[2000000, 5000, 5],
[2000001, 60, 5],
[2000002, 70, 5],
[2000003, 80, 5],
[2000004, 90, 5]
];
// 開始
function action(mode, type, selection) {
// mode 1 表示玩家按下了「確定」按鈕,因為玩家是第一次點擊 NPC,所以 mode 不會是 1
// 因此,status 從原本的 -1 變成 0(加 1),然後第一個 if 判斷 status 是否等於 0 即為 true
status = (mode == 1 ? status + 1 : cm.dispose());
if (status == 0) {
var str = "\r\n";
// 顯示商店物品
for (var i = 0; i < grocer.length; i++) {
str += "#L" + i + "# #v" + grocer[i][0] + "# #z" + grocer[i][0] + "# " + grocer[i][1] + " 楓幣,一組共 " + grocer[i][2] + " 個#l\r\n";
}
// cm 是 CustomMessage 的縮寫
cm.sendOk(str)
}
// 選擇物品
if (status == 1) {
selected = selection; // 選擇的物品
cm.getPlayer().dropMessage(6, "你選擇的是第 " + selected + " 個物品。");
cm.sendGetNumber("#v" + grocer[selected][0] + "# #z" + grocer[selected][0] + "#想買多少組?", 1, 1, 100);
}
if (status == 2) {
count = selection; // 購買的數量
var price = grocer[selected][1] * count; // 總價格
// cm.getPlayer().dropMessage(6, "你要買 " + count + " 組,總共 " + price + " 楓幣。");
// 檢查楓幣是否足夠
if (cm.getPlayer().getMeso() >= price) {
// 扣除楓幣
cm.gainMeso(-price);
// 給予物品
cm.gainItem(grocer[selected][0], grocer[selected][2] * count);
cm.sendOk("購買成功!\r\n#v" + grocer[selected][0] + "# #z" + grocer[selected][0] + "# " + grocer[selected][2] * count + " 個");
} else {
cm.sendOk("楓幣不足!\r\n你現在有 " + cm.getPlayer().getMeso() + " 楓幣,但是需要 " + price + " 楓幣,還差 " + (price - cm.getPlayer().getMeso()) + " 楓幣。");
}
cm.dispose();
}
}
@jsdryan
Copy link
Author

jsdryan commented Apr 15, 2024

功能展示

2024-04-16.01-47-19.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment