chenhui540

大災變後的遺棄之塔腳本

發表於 2023-1-26 12:20:59
chenhui540 發表於 2023-1-26 12:20:59 | 顯示全部樓層 |閱讀模式
1.png
2.png
3.png
4.png

/*
        名字:        玩具城
        地圖:        愛奧斯塔101樓
        描述:        221023300
*/

function init() {//服務端讀取
        em.setProperty("state", "0");
}

function setup(level, leaderid) {//開始事件,時間
        em.setProperty("state", "1");
        var eim = em.newInstance("LudiPQ");

        eim.setInstanceMap(922010100).resetFully();
        eim.setInstanceMap(922010400).resetFully();
        eim.setInstanceMap(922010401).resetFully();
        eim.setInstanceMap(922010402).resetFully();
        eim.setInstanceMap(922010403).resetFully();
        eim.setInstanceMap(922010404).resetFully();
        eim.setInstanceMap(922010405).resetFully();
        eim.setInstanceMap(922010600).resetFully();
        eim.setInstanceMap(922010700).resetFully();
        eim.setInstanceMap(922010800).resetFully();
        eim.setInstanceMap(922010900).resetFully();
        eim.setInstanceMap(922011000).resetFully();

        eim.setInstanceMap(922010700).getPortal("next00").setScriptName("lpq7");
        eim.setInstanceMap(922010800).getPortal("next00").setScriptName("lpq8");

        eim.startEventTimer(30 * 60000); //30 mins
        return eim;
}

function playerEntry(eim, player) {//傳送進事件地圖
        player.changeMap(922010100, 0);
        player.tryPartyQuest(1202);
}

function monsterValue(eim, mobId) {//殺怪後觸發
        if (mobId == 9300012) {
                eim.broadcastPlayerMsg(6, "巨型戰鬥機被消滅了!");
                }
                return 1;
}

function scheduledTimeout(eim) {//規定時間結束
        eim.disposeIfPlayerBelow(100, eim.getProperty("stage9status") != null ? 922011100 : 922010000);
}

function changedMap(eim, player, mapid) {//進入地圖觸發
        if (mapid < 922010100 || mapid > 922011000 || mapid == 922010000) {
                playerExit(eim, player);
}
}

function playerDisconnected(eim, player) {//活動中角色斷開連接觸發
        playerExit(eim, player);
}

function leftParty(eim, player) {//離開小組觸發
        player.changeMap(922010000);
}

function disbandParty(eim) {//小組退出時觸發
        eim.disposeIfPlayerBelow(100, 922010000);
}

function playerExit(eim, player) {//角色退出時觸發
        eim.unregisterPlayer(player);
        if (eim.disposeIfPlayerBelow(0, 0)) {
                em.setProperty("state", "0");
}
}

function allMonstersDead(eim) {}//怪物死亡觸發和刪除這個怪在活動中的資訊

function playerDead(eim, player) {}//玩家死亡時觸發

function playerRevive(eim, player) {}//玩家角色复時觸發

function cancelSchedule() {}//清除事件



/*
        名字:        隱藏地圖
        地圖:        遺棄之塔<第3階段>
        描述:        922010600
*/

function enter(pi) {
        var mapplayer = "stage6_comb" + (pi.getPlayer().getMap().getId() % 10);
        var eim = pi.getPlayer().getEventInstance();

        if (eim.getProperty(mapplayer) == null) {
        var comb = "";

        for (var i = 0; i < 10; i++) {
        var r = Math.floor((Math.random() * 3));
        comb += r.toString();
        }
        eim.setProperty(mapplayer, comb);
        }
        var comb = eim.getProperty(mapplayer);

        var name = pi.getPortal().getName().substring(2, 4);
        var portalId = parseInt(name, 10);
        var pRow = Math.floor(portalId / 10);
        var pCol = (portalId % 10);

        if (pCol == parseInt(comb.substring(pRow, pRow + 1), 10)) {
                if (pRow < 9) {
                        pi.getPlayer().changeMap(pi.getPlayer().getMap().getId(), pi.getPortal().getId() + 3);
                        return true;
                        }
                        if (eim.getProperty("stage6") == 0) {
                        eim.setProperty("stage6", 1);
                        }
                        pi.getPlayer().changeMap(pi.getPlayer().getMap().getId(), 2);
                        return true;
                        }
                        pi.getPlayer().changeMap(pi.getPlayer().getMap().getId(), 0);
                        return true;
}

/*
        名字:        隱藏地圖
        地圖:        研究室103號
        描述:        926100303
*/

function enter(pi) {
        x = pi.getPortal().getName();
        y = pi.getPortal().getId() + 4;
        eim = pi.getPlayer().getEventInstance();
        if (eim.getProperty("1st") == null) {
                eim.setProperty("1st", (Math.random() < 0.2) ? "pt00" : (Math.random() < 0.3) ? "pt01" : (Math.random() < 0.5) ? "pt02" : "pt03");
                }
        if (eim.getProperty("2st") == null) {
                eim.setProperty("2st", (Math.random() < 0.2) ? "pt10" : (Math.random() < 0.3) ? "pt11" : (Math.random() < 0.5) ? "pt12" : "pt13");
                }
        if (eim.getProperty("3st") == null) {
                eim.setProperty("3st", (Math.random() < 0.2) ? "pt20" : (Math.random() < 0.3) ? "pt21" : (Math.random() < 0.5) ? "pt22" : "pt23");
                }
        if (eim.getProperty("4st") == null) {
                eim.setProperty("4st", (Math.random() < 0.2) ? "pt30" : (Math.random() < 0.3) ? "pt31" : (Math.random() < 0.5) ? "pt32" : "pt33");
                }
        if (eim.getProperty("5st") == null) {
                eim.setProperty("5st", (Math.random() < 0.2) ? "pt40" : (Math.random() < 0.3) ? "pt41" : (Math.random() < 0.5) ? "pt42" : "pt43");
                }
                pi.getPlayer().changeMap(pi.getPlayer().getMap().getId(), eim.getProperty("1st") == x ? y : eim.getProperty("2st") == x ? y : eim.getProperty("3st") == x ? y : eim.getProperty("4st") == x ? y : eim.getProperty("5st") == x ? 1 : 2);
                return true;
}

/*
        名字:        隱密之地
        地圖:        雅典娜禁地&lt;向上通道>
        描述:        920010700
*/

function enter(pi) {
        x = pi.getPortal().getName();
        y = pi.getPortal().getId() + 4;
        eim = pi.getPlayer().getEventInstance();
        for (var i = 1; i < 9; i++) {
        if (eim.getProperty(i + "st") == null) {
                eim.setProperty((i + "st"), (("rp0"+ i) + (Math.floor(Math.random() * 4) + 1)));
                }
                }
                pi.getPlayer().changeMap(pi.getPlayer().getMap().getId(), eim.getProperty("1st") == x ? y : eim.getProperty("2st") == x ? y : eim.getProperty("3st") == x ? y : eim.getProperty("4st") == x ? y : eim.getProperty("5st") == x ? y : eim.getProperty("6st") == x ? y : eim.getProperty("7st") == x ? y : eim.getProperty("8st") == x ? 2 : x.substring(2, 5) > 54 ? 1 : 5);
                return true;
}


大災變後遺棄之塔也隨之改版了,網上能找到的腳本,都很雜亂,而且踩箱子向上移動的關卡,也需要腳本來支持,我參照了GMS83的腳本內容,對遺棄之塔的腳本做了改善。



遺棄之塔101腳本.rar (11.57 KB, 下載次數: 1908)
羅密歐茱麗葉.rar (27.11 KB, 下載次數: 2408)

第一次同行.rar (6.06 KB, 下載次數: 2610)
迎月花保護月妙.rar (6.91 KB, 下載次數: 2569)
雅典娜禁地.rar (17.36 KB, 下載次數: 2258)







瀏覽 3960 回復 1

您需要登錄後才可以回帖 登錄 | 註冊會員

:感謝樓主分享~ 2025-08-11 17:06回復
返回頂部