小馬專屬論壇與技術交流

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 3486|回復: 3

113端新手最愛問的問題懶人包

[複製鏈接]
發表於 2017-1-18 09:58:14 | 顯示全部樓層 |閱讀模式
本帖最後由 台哥大 於 2017-1-18 10:01 編輯

斂財新手最想問的基本配備....這只是閒聊區 別噓阿..這些其實都很基本有接觸以前的V55,V62這些東西其實基本上都不用問 但..

1.如何設置NPC永久置於該地圖之中
新增!pnpc指令
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
        public static class PNPC extends CommandExecute {//設置npc至該地圖

        @Override
        public int execute(MapleClient c, String[] splitted) {
            int npcId = Integer.parseInt(splitted[1]);
            MapleNPC npc = MapleLifeFactory.getNPC(npcId);
            if (npc != null && !npc.getName().equals("MISSINGNO")) {
                npc.setPosition(c.getPlayer().getPosition());
                npc.setCy(c.getPlayer().getPosition().y);
                npc.setRx0(c.getPlayer().getPosition().x + 50);
                npc.setRx1(c.getPlayer().getPosition().x - 50);
                npc.setFh(c.getPlayer().getMap().getFootholds().findBelow(c.getPlayer().getPosition()).getId());
                npc.setCustom(true);
                                
                try {
                    PreparedStatement ps = DatabaseConnection.getConnection().prepareStatement("INSERT INTO spawns ( idd, f, fh, cy, rx0, rx1, type, x, y, mid ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )");
                    ps.setInt(1, npcId);
                    ps.setInt(2, 0);
                    ps.setInt(3, c.getPlayer().getMap().getFootholds().findBelow(c.getPlayer().getPosition()).getId());
                    ps.setInt(4, c.getPlayer().getPosition().y);
                    ps.setInt(5, c.getPlayer().getPosition().x + 50);
                    ps.setInt(6, c.getPlayer().getPosition().x - 50);
                    ps.setString(7, "n");
                    ps.setInt(8, c.getPlayer().getPosition().x);
                    ps.setInt(9, c.getPlayer().getPosition().y);
                    ps.setInt(10, c.getPlayer().getMapId());
                    ps.executeUpdate();
                   } catch (SQLException SE) {
                    System.err.println("SQL THROW");
                    SE.printStackTrace();
                }
                                
                c.getPlayer().getMap().addMapObject(npc);
                c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.spawnNPC(npc, true));
            } else {
                c.getPlayer().dropMessage(6, "You have entered an invalid Npc-Id");
                return 0;
            }
            return 1;
        }
    }

    public static class RemoveNPCs extends CommandExecute {//撤離npc至該地圖指令

        @Override
        public int execute(MapleClient c, String[] splitted) {
            c.getPlayer().getMap().resetNPCs();
            return 1;
        }
    }

    public static class LookNPC extends CommandExecute {

        @Override
        public int execute(MapleClient c, String[] splitted) {
            for (MapleMapObject reactor1l : c.getPlayer().getMap().getAllNPCsThreadsafe()) {
                MapleNPC reactor2l = (MapleNPC) reactor1l;
                c.getPlayer().dropMessage(5, "NPC: oID: " + reactor2l.getObjectId() + " npcID: " + reactor2l.getId() + " Position: " + reactor2l.getPosition().toString() + " Name: " + reactor2l.getName());
            }
            return 1;
        }
    }


新增數據庫
[SQL] syntaxhighlighter_viewsource syntaxhighlighter_copycode
CREATE TABLE IF NOT EXISTS `spawns` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `idd` int(11) NOT NULL,
  `f` int(11) NOT NULL,
  `fh` int(11) NOT NULL,
  `type` varchar(1) NOT NULL,
  `cy` int(11) NOT NULL,
  `rx0` int(11) NOT NULL,
  `rx1` int(11) NOT NULL,
  `x` int(11) NOT NULL,
  `y` int(11) NOT NULL,
  `mobtime` int(11) DEFAULT '1000',
  `mid` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=BIG5;


2.財神副本闖關,武陵道場破關獲取點數修改方法
找到\scripting\event\EventInstanceManager.java
新增
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
public final void savecash(final int points) {        if (disposed) {//point=數量 呼應腳本
            return;
        }
        for (MapleCharacter chr : getPlayers()) {
            chr.modifyCSPoints(1, points, true);//(呼應maplecharacter.java 1=gash,2=maplepoint(楓葉點數)
        }
    }
}


找到\scripting\BossQuestEASY\HARD\HELL\Med.js

[JavaScript] syntaxhighlighter_viewsource syntaxhighlighter_copycode
eim.saveBossQuest(40);


加入

[JavaScript] syntaxhighlighter_viewsource syntaxhighlighter_copycode
eim.savecash(87);//呼應points(數量)你就是這數字


武陵道場如何改點數
server\maps\Event_DojoAgent.JAVA
找到

[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
final int point = (points + 1) ;
c.modifyCSPoints(1, point, true);


3.全地圖怪物掉落物品
[SQL] syntaxhighlighter_viewsource syntaxhighlighter_copycode
INSERT INTO `drop_data_global` VALUES ('1', '-1', '0', '2210040', '1', '1', '0', '10000', '萬聖節');//範例
  `id` bigint(20) NOT NULL AUTO_INCREMENT,//排序
  `continent` int(11) NOT NULL,//選擇大陸(默認-1)
  `dropType` tinyint(1) NOT NULL DEFAULT '0',//默認0
  `itemid` int(11) NOT NULL DEFAULT '0',//物品名稱
  `minimum_quantity` int(11) NOT NULL DEFAULT '1',//最小掉落物品數量
  `maximum_quantity` int(11) NOT NULL DEFAULT '1',//最大掉落物品數量
  `questid` int(11) NOT NULL DEFAULT '0',//任務道具
  `chance` int(11) NOT NULL DEFAULT '0',//掉落機率
  `comments` varchar(45) DEFAULT NULL,//註釋

4.(1.)斂財關鍵 如何給點數
[XHTML] syntaxhighlighter_viewsource syntaxhighlighter_copycode
http://www.ponytw.com/forum.php?mod=viewthread&tid=15743&extra=page%3D1

裡面還有兩位大神提供的寫法 參考看看

(2.)創建帳號給予點數
[SQL] syntaxhighlighter_viewsource syntaxhighlighter_copycode
CREATE TABLE `accounts` (
  `id` int(11) NOT NULL,
  `name` varchar(30) NOT NULL DEFAULT '',
  `password` varchar(128) NOT NULL DEFAULT '',
  `salt` varchar(32) DEFAULT NULL,
  `2ndpassword` varchar(134) DEFAULT NULL,
  `salt2` varchar(32) DEFAULT NULL,
  `loggedin` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  `lastlogin` timestamp NULL DEFAULT NULL,
  `createdat` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `birthday` date NOT NULL DEFAULT '0000-00-00',
  `banned` tinyint(1) NOT NULL DEFAULT '0',
  `banreason` text,
  `gm` tinyint(1) NOT NULL DEFAULT '0',
  `email` tinytext,
  `macs` tinytext,
  `tempban` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `greason` tinyint(4) UNSIGNED DEFAULT NULL,
  `ACash` int(11) DEFAULT NULL,
  `mPoints` int(11) DEFAULT '30000',
  `gender` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  `SessionIP` varchar(64) DEFAULT NULL,
  `points` int(11) NOT NULL DEFAULT '0',
  `vpoints` int(11) NOT NULL DEFAULT '0',
  `lastlogon` timestamp NULL DEFAULT NULL,
  `facebook_id` varchar(255) DEFAULT NULL,
  `access_token` varchar(255) DEFAULT '',
  `password_otp` varchar(255) DEFAULT '',
  `expiration` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=big5 ROW_FORMAT=DYNAMIC;


解答來源:小豬
[XHTML] syntaxhighlighter_viewsource syntaxhighlighter_copycode
http://www.ponytw.com/forum.php?mod=viewthread&tid=15675&extra=page%3D2


5.達到一定等級自動送獎勵(斂財必備2)
src\client\Maplecharacter.java
找到
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
level += 1; 
       int level = getLevel()

新增
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
if (level == 30) { 
        modifyCSPoints(2, 100);//(2為楓葉點數,1為cash,楓葉點數數量),請自行查看modifyCSPoints
        gainItem(5220000, 10);//(物品ID,數量)
        dropMessage(1, "恭喜你達到30等,系統以自動發放獎勵至物品欄");
        }
 if (level == 70) { 
        modifyCSPoints(2, 200);//楓葉點數數量 
        gainItem(5220000, 10);//(物品ID,數量)
        dropMessage(1, "恭喜你達到70等,系統以自動發放獎勵至物品欄");
        }
 if (level == 120) { 
        modifyCSPoints(2, 300);//楓葉點數數量 
        gainItem(5220000, 10);//(物品ID,數量)
        dropMessage(1, "恭喜你達到120等,系統以自動發放獎勵至物品欄");
        }

修改版本/出處:傻糖寶貝
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
int maplepoint = 0, quantity = 0, itemid = 0;
boolean LevelUp = false;
switch (getLevel()) {
    case 30:
        maplepoint = 100;
        itemid = 5220000;
        quantity = 10;
        LevelUp = true;
        break;
    case 70:
        maplepoint = 200;
        itemid = 5220000;
        quantity = 10;
        LevelUp = true;
        break;
    case 120:
        maplepoint = 300;
        itemid = 5220000;
        quantity = 10;
        LevelUp = true;
        break;
}
if (LevelUp) {
    gainItem(itemid, quantity);
    modifyCSPoints(2, maplepoint);
    dropMessage(1, "恭喜您達到" + getLevel() + "等,系統已經自動發放獎勵至物品欄位!");

在任一位置新增
[Java] syntaxhighlighter_viewsource syntaxhighlighter_copycode
public void gainItem(int code, int amount) { 
        MapleInventoryManipulator.addById(client, code, (short) amount, null); //對應MapleInventoryManipulator.java的addById
    }

5.舊版本新增髮型出錯 出處:宗達
[HTML] syntaxhighlighter_viewsource syntaxhighlighter_copycode
http://www.ponytw.com/forum.php?mod=viewthread&tid=15797&extra=page%3D1

評分

參與人數 11小馬硬幣 +11 收起 理由
EEVEE + 1 辛苦你了~
詩墨客 + 1 謝謝各位前輩的用心良苦
參貳壹 + 1 辛苦你了~
童年 + 1 666666666~
光明 + 1 很熱心
愛妳女神 + 1 很贊!
余寶 + 1 很贊!
現煮紅豆餅 + 1 我先去斂財
徐徐徐 + 1 不錯哦~
隱憂愛 + 1 很贊!
屁景 + 1 斂財大補帖! 很贊!

查看全部評分

回復

使用道具 舉報

發表於 2017-8-25 19:24:16 | 顯示全部樓層
這波太補了吧~
回復 支持 反對

使用道具 舉報

發表於 2018-1-26 18:43:13 | 顯示全部樓層
謝大大分享 推推
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|小馬專屬論壇與技術交流  

GMT+8, 2018-7-22 18:54 , Processed in 0.134989 second(s), 20 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表