查找：

    public void start(MapleCharacter c, int npc) {
        if ((autoStart || checkNPCOnMap(c, npc)) && canStart(c, npc)) {
            for (MapleQuestAction a : startActs) {
                if (!a.checkEnd(c, null)) { //just in case
                    return;
                }
            }


替换：

    public void start(MapleCharacter c, int npc) {
     final int[] ss = {6029, 6030, 6031, 6032};   //任務ID
        for (int i : ss) {
            if (this.id == i){

                forceStart(c, npc, null);
            if (this.id == 6029) c.getQuestNAdd(MapleQuest.getInstance(6029)).setCustomData("000");//給與條件後，可以接取附屬的任務
            c.getClient().getPlayer().updateQuest(c.getClient().getPlayer().getQuest(MapleQuest.getInstance(6029)), true);
                return;
            }
        }
        if ((autoStart || checkNPCOnMap(c, npc)) && canStart(c, npc)) {
            for (MapleQuestAction a : startActs) {
                if (!a.checkEnd(c, null)) { //just in case
                    return;
                }
            }




查找：

    public void forfeit(MapleCharacter c) {
        if (c.getQuest(this).getStatus() != (byte) 1) {
            return;
        }
        final MapleQuestStatus oldStatus = c.getQuest(this);
        final MapleQuestStatus newStatus = new MapleQuestStatus(this, (byte) 0);
        newStatus.setForfeited(oldStatus.getForfeited() + 1);
        newStatus.setCompletionTime(oldStatus.getCompletionTime());
        c.updateQuest(newStatus);
    }


替换：


    public void forfeit(MapleCharacter c) {
       final int[] ss = {6029};   //不能放棄的任務 （防止中途放棄任務，避免錯誤）
        for (int i : ss) {
            if (this.id == i){
             c.dropMessage(6, "此任務不能放棄。");
                return;
            }
        }
        if (c.getQuest(this).getStatus() != (byte) 1) {
            return;
        }
        final MapleQuestStatus oldStatus = c.getQuest(this);
        final MapleQuestStatus newStatus = new MapleQuestStatus(this, (byte) 0);
        newStatus.setForfeited(oldStatus.getForfeited() + 1);
        newStatus.setCompletionTime(oldStatus.getCompletionTime());
        c.updateQuest(newStatus);
    }


