還沒看完的初學者可以先看
接下來會教一些比較重要的判斷式or基礎語句
(一)運算子用法
運算子1: &&
var status = -1;
var A = true;
var B = true;
function start() {
if (A && B) {
cm.sendOk("參數A 跟 參數B 接為 true");
} else {
cm.sendOk("參數A 跟 參數B 有一個非 true");
}
cm.dispose();
}
這邊稍微說明一下 因為 初始定義 A 跟 B 賦予true
因此執行此NPC會顯示 "參數A 跟 參數B 接為 true"
運算子2: ||
var status = -1;
var A = true;
var B = true;
function start() {
if (A || B) {
cm.sendOk("參數A 跟 參數B 其中之一為 true");
} else {
cm.sendOk("參數A 跟 參數B 接不為 true");
}
cm.dispose();
}
運算子3: != (不等於) == (等於)
var status = -1;
var A = true;
var B = true;
function start() {
if (A != B) {
cm.sendOk("參數A 跟 參數B 的值不同");
} else if (A == B) {
cm.sendOk("參數A 跟 參數B 的值相同");
}
cm.dispose();
}
(二)NPC基本函數用法
----------------------------------------------------------------------------------------
dispose 結束與 NPC 的對話,讓你可以與其他 NPC 對話。 用法: cm.dispose();
----------------------------------------------------------------------------------------
sendNext 顯示一個帶有「下一個」按鈕的對話窗。 用法: cm.sendNext("[文本]");
----------------------------------------------------------------------------------------
sendPrev 顯示一個帶有「上一個」按鈕的對話窗。 How to use: cm.sendPrev("[文本]");
----------------------------------------------------------------------------------------
sendNextPrev 顯示一個帶有「上一個」、「下一個」按鈕的對話窗。 用法: cm.sendNextPrev("[文本]");
----------------------------------------------------------------------------------------
sendOk 顯示一個帶有「確認」按鈕的對話窗。 用法: cm.sendOk("[文本]");
----------------------------------------------------------------------------------------
sendYesNo 顯示一個帶有「是」、「否」按鈕的對話窗,「否」將結束對話,除非額外改寫。 用法: cm.sendYesNo("[文本]");
----------------------------------------------------------------------------------------
sendAcceptDecline 顯示一個帶有「接受」、「拒絕」按鈕的對話窗,「拒絕」將結束對話,除非額外改寫。 用法: cm.sendAcceptDecline("[文本]");
----------------------------------------------------------------------------------------
sendSimple 顯示一個不帶有任何按鈕的對話框。 用法: cm.sendSimple("[文本]");
----------------------------------------------------------------------------------------
sendStyle 顯示一個選擇造型的對話框。 用法: cm.sendStyle("[文本]", [變數]); // 你需要宣告該變數
----------------------------------------------------------------------------------------
warp 傳送腳本到地圖。 用法: cm.warp([地圖ID], [傳送點]); // 預設則設定 [傳送點] 為 0
----------------------------------------------------------------------------------------
openShop 開啟商店視窗。 用法: cm.openShop([商店ID]);
----------------------------------------------------------------------------------------
haveItem 檢查角色是否有道具 (背包或身上)。 用法: cm.haveItem([道具ID]);
----------------------------------------------------------------------------------------
gainItem 給予或收回角色道具 用法: cm.gainItem([道具ID], [數量]); // 設定 [數量] 為負數來收回道具
----------------------------------------------------------------------------------------
changeJob 修改角色的職業。 用法: cm.changeJob([職業ID]);
----------------------------------------------------------------------------------------
getJob 取得角色的職業。 用法: cm.getJob();
----------------------------------------------------------------------------------------
startQuest 開始任務。 用法: cm.startQuest([任務ID]);
----------------------------------------------------------------------------------------
completeQuest 完成任務。 用法: cm.completeQuest([任務ID]);
----------------------------------------------------------------------------------------
forfeitQuest 放棄任務。 用法: cm.forfeitQuest([任務ID]);
----------------------------------------------------------------------------------------
getMeso 取得角色楓幣。 用法: cm.getMeso();
----------------------------------------------------------------------------------------
gainMeso 給予或收回角色楓幣。 用法: cm.gainMeso([數量]); // 設定 [數量] 為負數來收回楓幣
----------------------------------------------------------------------------------------
gainExp 給予或收回角色經驗值。 用法: cm.gainExp([數量]); // 設定 [數量] 為負數來收回經驗值
----------------------------------------------------------------------------------------
getLevel 取得角色的等級。 用法: cm.getLevel();
----------------------------------------------------------------------------------------
teachSkill 教角色技能。 用法: cm.teachSkill([技能ID], [技能等級], [技能最大等級]);
----------------------------------------------------------------------------------------
modifyCSPoint 給予或收回點數。 用法1:cm.modifyCSPoint([點數], [種類]); // [種類]:1 = GASH 點數,2 = 楓葉點數
用法2:cm.modifyCSPoint([點數], [種類], true); // [種類]:點數型態 :是否顯示訊息
----------------------------------------------------------------------------------------
getBossLog
設定當日玩家打的LOG
用法: cm.getBossLog("BOSS紀錄");//取得名稱為 BOSS紀錄 的次數
----------------------------------------------------------------------------------------
setBossLog
設定當日玩家打的LOG
用法: cm.setBossLog("BOSS紀錄");//取得名稱為 BOSS紀錄 的次數
----------------------------------------------------------------------------------------
舉例:
var status = -1;
var log = "打龍王";
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == 1) {
status++;
} else {
status--;
}
if (status == 0) {
cm.sendOk("你目前打了" + cm.getBossLog(log) + "場龍王");
} else {
cm.dispose();
}
}
Comments