- UID
- 137702
- 閱讀權限
- 20
- 主題
- 32
- 帖子
- 64
- 精華
- 1
- A幣
- 338
- 在線時間
- 111 小時
- 最後登錄
- 2024-11-12
初窺門道
- 主題
- 32
- 帖子
- 64
- 精華
- 1
- 綜合社群主題發文量
- 0
- 電玩社群主題發文量
- 0
- 娛樂社群主題發文量
- 0
- 技術社群主題發文量
- 32
- 閱讀權限
- 20
- 註冊時間
- 2021-11-15
TA的每日心情 | 奮鬥 2024-1-28 13:17 |
---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到
|
本帖最後由 chenhui540 於 2022-12-16 20:33 編輯
任務: 趕走惡魔的方法 如何識別同一地圖 同一ID的NPC 應為所在地圖 比較大 我們就可以使用 人物所在座標來判定。
大爆炸之前的NPC腳本
/*
名字: 神聖的石頭
地圖: 冰獨眼獸洞穴Ⅰ
描述: 105090000
*/
var maps = Array(105050200, 105060000, 105070000, 105090000, 105090000, 105090100);
function start() {
if (cm.getQuestStatus(2236) != 1) {//讀取任務狀態
cm.dispose();
return;
}
if (cm.getQuestRecord(2236).getCustomData() == null) {//讀取任務狀態
cm.setQuestRecord(cm.getPlayer(), 2236, "000000");//給予過渡的要求
}
for (var i = 0; i < maps.length; i++)
if (cm.getPlayer().getMapId() == maps[i]) {
if (cm.getPlayer().getMapId() == 105090000 && cm.getPlayer().getPosition().y < 78) var slot = 4;//區分角色 Y 座標 範圍
else if (cm.getPlayer().getMapId() == 105090000 && cm.getPlayer().getPosition().y > 78) var slot = 3;
else var slot = i;
}
var progress = cm.getQuestRecord(2236).getCustomData();
var ch = progress[slot];
if (ch == '0') {
var nextProgress = progress.substr(0, slot) + '1' + progress.substr(slot + 1);
cm.gainItem(4032263, -1);
cm.sendOk("由於靈符的法力,封印了該地區的邪惡勢力。");
cm.setQuestRecord(cm.getPlayer(), 2236, nextProgress);
cm.getPlayer().updateQuest(cm.getQuestRecord(2236), true);//刷新任務
}
cm.dispose();
}
大爆炸之後地圖改版 NPC都是分散的 所以寫成
/*
名字: 神聖的石頭
地圖: 冰冷的風
描述: 105020200
*/
var maps = Array(105010100, 105020000, 105020100, 105020300, 105020200, 105020400);
function start() {
if (cm.getQuestStatus(2236) != 1) {//读取任务状态
cm.dispose();
return;
}
if (cm.getQuestRecord(2236).getCustomData() == null) {//读取任务状态
cm.setQuestRecord(cm.getPlayer(), 2236, "000000");//给予过渡的要求
}
for (var i = 0; i < maps.length; i++)
if (cm.getPlayer().getMapId() == maps[i]) {
var slot = i;
}
var progress = cm.getQuestRecord(2236).getCustomData();
var ch = progress[slot];
if (ch == '0') {
var nextProgress = progress.substr(0, slot) + '1' + progress.substr(slot + 1);
cm.gainItem(4032263, -1);
cm.sendOk("由於靈符的法力,封印了該地區的邪惡勢力。");
cm.setQuestRecord(cm.getPlayer(), 2236, nextProgress);
cm.getPlayer().updateQuest(cm.getQuestRecord(2236), true);
}
cm.dispose();
}
|
|