2000FUN論壇

 

 

搜索
2000FUN論壇 綜合論壇 PC 遊戲討論區 解決楓之谷單機版不能玩的問題+小技巧(要求+精) ...
返回列表 發新帖 回覆
查看: 10808|回覆: 7
go

[其他] 解決楓之谷單機版不能玩的問題+小技巧(要求+精) [複製鏈接]

Rank: 2Rank: 2

UID
899479 
帖子
210 
積分
76 
Good
0  
註冊時間
07-6-11 
在線時間
162 小時 
1#
發表於 09-11-16 09:56 PM |只看該作者 |倒序瀏覽 |打印
以下是我以前一點一滴收集來的希望不要扔我謝謝多頂頂哈哈
以後還有我會繼續更新謝謝




OD端一閃就自動關閉了的幾種可能

一把客戶端的16個文件複製到服務端的WZ文件夾沒有自己建一個WZ文件夾




二數據庫的名字密碼沒有修改
大家會打開db.properties這個文件吧? ? ? ?
修改下面幾處
# qualified class name of your JDBC driver
driver=com.mysql.jdbc.Driver
# JDBC URL to your database
url=jdbc:mysql://127.0.0.1:3306/odinms odinms是冒險島數據庫的名字切忌IP別修改
# credentials for database access
user = root你的數據庫
password = root數據庫密碼


三還有不確定的IP問題
channel.properties
world.properties
login.properties這三個文件

小寶的個人經驗是如果要開外網就之用修改world.properties裡的IP就可以了

四在有就是啟動慢一點啟動服務器的順序是
一launch_world.bat二launch_login.bat三launch_channel.bat
啟動每個程序中間間隔4,5秒最好了
最好用端自帶的啟動器啟動

-------------------------------------------------- ------------------------------


服務器不能開起,出現:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFacto
ry
        at net.odinms.net.world.WorldServer.<clinit>(WorldServer.java:51)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        ... 1 more

請把你所使用端裡的dist文件夾內的
mina-core.jar
mysql-connector-java-bin.jar
odinms.jar
slf4j-api.jar
slf4j-jdk14.jar這五個文件覆蓋到:

C:\Program Files\Java\jdk1.6.0_10\jre\lib\ext
C:\Program Files\Java\jre6\lib\ext

再把
odinms.jar覆蓋到

C:\Program Files\Java\jdk1.6.0_10\jre\lib\security
C:\Program Files\Java\jre6\lib\security
既可.!

-------------------------------------------------- ------------------------------

關於登陸無反應,人物原地踏步:
請把:
local_policy.jar
US_export_policy.jar這兩個文件覆蓋到:

C:\Program Files\Java\jdk1.6.0_10\jre\lib\security
C:\Program Files\Java\jre6\lib\security

-------------------------------------------------- ------------------------------


關於OD封號解決辦法:
把以下代碼導入即可
update set loggedin=0,macs=0,banned=0,banreason=0;
delete FROM ipbans;
delete FROM macbans;

如果你用的是SQLyog Enterprise就把以上命令複製到Query裡,選取你的數據庫(比如odinms)然後按SHIFT+F5就可以了`!
如果你用的是MySQL Query Browser就把以上命令複製到上面的框裡,選取你的數據庫(比如odinms)然後點擊Execute就可以了`!



-------------------------------------------------- ------------------------------


OD修改爆率:
打開MySQL Query Browse
看到monsterdrops這個表,其中,monsterid表示怪物ID,itemid表示物品ID,chance表示爆率,數字越小爆率越大.如果你把chance全部改成1,你進遊戲試試感覺....爽死你!!!!!!將所有chance改為1的SQL語句為:
update monsterdrops set chance=1;
將上面這句話複製到Query Browse的命令行里面執行Execute就行了
如果你要將爆率提高10倍,SQL語句為:
update monsterdrops set chance=chance*0.1 where chance>100;


-------------------------------------------------- ------------------------------
OD開多條線

你如果只在channel.properties裡增加線數是沒用的.
我就先已開10條線做例子首先打開channel.properties
修改
# hostname or IP address of your world server
net.odinms.world.host=127.0.0.1
# number of channels to host in this process
net.odinms.channel.count=10
# channel keys
# (these are defined in the channels table)
net.odinms.channel.0.key=release1
net.odinms.channel.1.key=release2
net.odinms.channel.2.key=release3
net.odinms.channel.3.key=release4
net.odinms.channel.4.key=release5
net.odinms.channel.5.key=release6
net.odinms.channel.6.key=release7
net.odinms.channel.7.key=release8
net.odinms.channel.8.key=release9
net.odinms.channel.9.key=release10
如果你只修改了這裡是沒用的.
然後打開數據庫channelcofnig列表此列表為線程設置
增加第一項為數據庫裡的線數ID從1開始一直寫到9
第二項為線數從2開始寫到10 ,為什麼從2開始?因為一線是默認在其他地方所以不用寫
第三項為名字全寫成net.odinms.channel.net.port就行了
第四項為端口7575是一線而這裡是從2線開始所以我們從7576開始寫7576 7577 .....
一直寫到10線的地方..

好了然後被大家遺忘的地方在這裡
打開channels列表
第一項寫1~10第二項全寫0第三項1~10
關鍵是第4項key這是被加秘過的..就好像數據庫的密碼一樣,對吧?
現在主要教大家改這裡..
2062e90b3ea10a86ff666a76c41aa0d9e9d88f4e一線寫是key就是這個
他是什麼意思呢?回到最上面
net.odinms.channel.0.key=release1
release1就是一線的key
把release1轉成md5碼就等於2062e90b3ea10a86ff666a76c41aa0d9e9d88f4e
所以net.odinms.channel.0.key=release1後面的release1是隨便我們改的
我們可以改成1xian
1xian的MD5碼= ad4ef3815a01ee478d654976124869c7d4f8950d
我們把ad4ef3815a01ee478d654976124869c7d4f8950d改到channels的key裡就可以了
到這裡大家應該略懂了吧
好了轉換md5碼的東西上傳不了大家需要的話自己到網上下載吧..
記得端口一定要開不然就在選人物的那卡住進不去


-------------------------------------------------- ------------------------------

OD端用4轉技能被封的ID解封方法

表裡把loggedin banned和banreason都改成0
ipbans和macbans表裡記錄全刪除



-------------------------------------------------- ------------------------------


OD端完美顯示中文

net.odinms.tools.data.output中的GenericLittleEndianWriter.java

private static Charset ASCII = Charset.forName("US-ASCII");
改成
private static Charset ASCII = Charset.forName("GBK");
這個是XXMS已經公佈的一個
不過有一個缺點就是中文顯示不完全! !
經過修改~現在可以完整顯示中文!

跟我來~!

同樣是該文件中

在private ByteOutputStream bos;下面加入

  public int getlength(String str){
        int i,t=0;
        byte[] bt = str.getBytes();
        for (i=1;i<=bt.length;i++){
            if (bt[i-1]<0) {t=t+2;i++;}
            else t=t+1;
        }
        return t;
    }

找到writeShort((short)s.length());
改成writeShort((short)getlength(s));


-------------------------------------------------- ------------------------------


OD封號了怎麼解

去數據庫的該表裡面!把loggedin和banned還有banreason裡面改成0就可以了! !


-------------------------------------------------- ------------------------------


點一下trade就能回到自由市場

修改文件:file: net/sf/odinms/net/channel/handler/EnterMTSHandler.java
修改方法:

把內容改為:

Copy code

package net.odinms.net.channel.handler;

import net.odinms.client.MapleClient;
import net.odinms.client.messages.ServernoticeMapleClientMessageCallback;
import net.odinms.net.AbstractMaplePacketHandler;
import net.odinms.tools.MaplePacketCreator;
import net.odinms.tools.data.input.SeekableLittleEndianAccessor;
import net.odinms.net.channel.ChannelServer;
import net.odinms.server.MaplePortal;
import net.odinms.server.maps.MapleMap;
import net.odinms.server.maps.SavedLocationType;

public class EnterMTSHandler extends AbstractMaplePacketHandler {
      @Override
      public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
            if ((c.getPlayer().getMapId() < 910000000) || (c.getPlayer().getMapId() > 910000022)){
              new ServernoticeMapleClientMessageCallback(5, c).dropMessage("提示:進入自由市場.");
              c.getSession().write(MaplePacketCreator.enableActions());
                MapleMap to;
                MaplePortal pto;
                              to = ChannelServer.getInstance(c.getChannel()).getMapFactory().getMap(910000000);
                              c.getPlayer().saveLocation(SavedLocationType.FREE_MARKET);
                              pto = to.getPortal("out00"); // or st00?
                                c.getPlayer().changeMap(to, pto);
            } else {
                              new ServernoticeMapleClientMessageCallback(5, c).dropMessage("提示:請自行從出口出去.");
              c.getSession().write(MaplePacketCreator.enableActions());
            }
            }
      }



-------------------------------------------------- ------------------------------


中文顯示如果亂碼

打開編譯器找到net.odinms.tools.data.output.GenericLittleEndianWriter這個類文件,把這句改為:
private static Charset ASCII = Charset.forName("GB2312");
但有個小問題,如果中文過長,客戶端那邊只顯示一部分,我正在解決這個問題.....

目前有個解決方法,就是把要寫的談話內容寫兩遍,比如,JS腳本里面有一句NPC對話,
cm.sendOk("歡迎進入我的冒險島#b");
應該要寫成這個樣子才能在客戶端正常顯示
cm.sendOk("歡迎進入我的冒險島#b歡迎進入我的冒險島#b");


-------------------------------------------------- ------------------------------


升級HP和MP的修改

打開編譯器
在文件MapleCharacter.java
通過搜索找的搜索HP

類推


-------------------------------------------------- ------------------------------

[ 本帖最後由 田雞1 於 09-11-16 09:59 PM 編輯 ]

Rank: 2Rank: 2

UID
899479 
帖子
210 
積分
76 
Good
0  
註冊時間
07-6-11 
在線時間
162 小時 
2#
發表於 09-11-16 09:56 PM |只看該作者
把能力點加到HP AND MP上

先找到istributeAPHandler.java
找到:
import java.util.ArrayList;
import java.util.List;

下面的改為:
import net.odinms.client.ISkill;
import net.odinms.client.MapleClient;
import net.odinms.client.MapleStat;
import net.odinms.client.SkillFactory;
import net.odinms.net.AbstractMaplePacketHandler;
import net.odinms.tools.MaplePacketCreator;
import net.odinms.tools.Pair;

找到:
        List<air<MapleStat, Integer>> statupdate = new ArrayList<air<MapleStat, Integer>>(2);
        c.getSession().write(MaplePacketCreator.updatePlayerStats(statupdate, true));
        slea.readInt(); // whatever

下面增加:
//MP and HP adding
                  ISkill improvingMaxHP = SkillFactory.getSkill(1000001);
        ISkill improvingMaxMP = SkillFactory.getSkill(2000001);
                  int improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP);
        int improvingMaxMPLevel = c.getPlayer().getSkillLevel(improvingMaxMP);
                  int HPSkillAdd = 0;
                int MPSkillAdd = 0;
                  if (improvingMaxHPLevel > 0){
                                        HPSkillAdd= improvingMaxHP.getEffect(improvingMaxHPLevel).getY();}
                  if (improvingMaxMPLevel > 0) {
                                        MPSkillAdd= improvingMaxMP.getEffect(improvingMaxMPLevel).getY();}

找到:
// case 2048: // hp
                // c.getPlayer().setHpApUsed(c.getPlayer().getHpApUsed()+1);
                // break;
                // case 8192: // mp
                // c.getPlayer().setMpApUsed(c.getPlayer().getMpApUsed()+1);
                // break;
                                                                                  default: // TODO: implement hp and mp adding

替換為:
case 2048: // hp
                                        c.getPlayer().setMaxHP(c.getPlayer().getMaxHp() + 1 + HPSkillAdd);
                                        statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXHP, c.getPlayer().getMaxHp()));
                break;
                case 8192: // mp
                                        c.getPlayer().setMaxMP(c.getPlayer().getMaxMp() + 1 + MPSkillAdd);
                                        statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXMP, c.getPlayer().getMaxMp()));
                break;
                default:
            

在找開文件MapleCharacter.java
找到:
        this.int_ = int_;
        recalcLocalStats();
    }
在這裡空一格,在添加:
public void setMaxHP(int maxhp){
            this.maxhp = maxhp;
            recalcLocalStats();
        }
         
        public void setMaxMP(int maxmp){
            this.maxmp = maxmp;
            recalcLocalStats();
        }


-------------------------------------------------- ------------------------------
修改人數限制


在world.properties裡

# total user limit of the server
net.odinms.login.userlimit=500


-------------------------------------------------- ------------------------------


有時候點NPC沒反映?

發現目前的端都存在此問題,主要原因是OD官方從904端以後,為了一些服務器所設置的腳本修正,導致與遊戲衝突BUG,所以我們要將它還原!
如果你出現,進遊戲的時候先點一個NPC,沒有問題,在點其它的就沒有反應的情況,請用此補丁編譯!


http://ncghj..com/read.php?tid-582.html


-------------------------------------------------- ------------------------------


如何移除NPC和所在地圖的怪物

請注意,以下的都需要重編譯!



首先打開:
MapleMap.java (under src/net/sf/odinms/server/maps)
找到:
public void spawnMonster(final MapleMonster monster) {
在下面添加
if(monster.getId() == MOBID) {return;}
MOBID就是你想要移除的怪物ID
如果你想移除更多,就如下寫:
public void spawnMonster(final MapleMonster monster) {
        if(monster.getId() == 9400569) {return;}
        if(monster.getId() == 9500168) {return;}
        if(monster.getId() == 9500169) {return;}
        if(monster.getId() == 9500170) {return;}
        if(monster.getId() == 9500171) {return;}
        if(monster.getId() == 9500172) {return;}
        if(monster.getId() == 9500173) {return;}
        if(monster.getId() == 9500174) {return;}
        if(monster.getId() == 9500175) {return;}
        if(monster.getId() == 9500176) {return;}
        if(monster.getId() == 9500180) {return;}
        if(monster.getId() == 9400572) {return;}
        if(monster.getId() == 9400571) {return;}
        monster.setMap(this);

移除NPC:
進入MapleNPC (under under src/net/sf/odinms/server/life)
找到public void sendSpawnData(MapleClient client) {
在下面添加if(this.getId() == NPCID) {return;}
NPCID就是NPC的ID
如果想移去更多的NPC,那麼:
@Override
    public void sendSpawnData(MapleClient client) {
    if(this.getId() == 9250045) {return;}
    if(this.getId() == 9270000) {return;}
    if(this.getId() == 9250023) {return;}
    if(this.getId() == 9270007) {return;}
    if(this.getId() == 9250024) {return;}
    if(this.getId() == 9250044) {return;}
    if(this.getId() == 9250025) {return;}
    if(this.getId() == 9250042) {return;}
    if(this.getId() == 9250043) {return;}
    if(this.getId() == 9270004) {return;}
    if(this.getId() == 9270005) {return;}
    if(this.getId() == 9270001) {return;}
    if(this.getId() == 9250026) {return;}
    if(this.getId() == 9270006) {return;}
    if(this.getId() == 9270012) {return;}
    if(this.getId() == 9201066) {return;}
    if(this.getId() == 9270003) {return;}
    if(this.getId() == 9250046) {return;}
    if(this.getId() == 9270013) {return;}
    if(this.getId() == 9270002) {return;}
        client.getSession().write(MaplePacketCreator.spawnNPC(this, false));
    }


-------------------------------------------------- ------------------------------


改AP方法

找到net.odinms.client下的MapleCharacter.java

查找remainingAp += 5;

把5改為你想要的點數,編譯. . .進入遊戲. .


-------------------------------------------------- ------------------------------


改HP. MP方法

找到net.odinms.client下的MapleCharacter.java

if (job == MapleJob.BEGINNER) {
            // info from the odin what's working thread, thanks
            maxhp += rand(14, 16);
            maxmp += rand(10, 12);
        } else if (job.isA(MapleJob.BOWMAN) || job.isA(MapleJob.THIEF) || job.isA(MapleJob.GM)) {
            // info from bowman forum at sleepywood, thanks guys
            maxhp += rand(20, 24);
            maxmp += rand(14, 16);
        } else if (job.isA(MapleJob.MAGICIAN)) {
            // made up
            maxhp += rand(10, 14);
            maxmp += rand(20, 24);
        } else if (job.isA(MapleJob.WARRIOR)) {
            // made up
            maxhp += rand(22, 26);
            maxmp += rand(4, 7);
        }

更改紅色部分數字即可. .因該明白是什麼意思吧


-------------------------------------------------- ------------------------------


OD禁止跳級的編譯說明

http://ncghj..com/read.php?tid-588-fpage-3.html


-------------------------------------------------- ------------------------------


多F設置



修改的方法是:
1.在src\net\sf\odinms\net\login\handler找到ServerlistRequestHandler.java
找到:
c.getSession().write(MaplePacketCreator.getServerList(0, "XXXX", LoginServer.getInstance().getLoad()));
在下面加
c.getSession().write(MaplePacketCreator.getServerList(1, "XXXX", LoginServer.getInstance().getLoad()));
要想更多選區就繼續加
c.getSession().write(MaplePacketCreator.getServerList(2, "XXXX", LoginServer.getInstance().getLoad()));
其中XXXX隨便取
在編譯下
2.打開端裡的login.PROPERTIES文件修改成
# hostname or IP address of your world server
net.odinms.world.host=127.0.0.1
# number of channels to host in this process
net.odinms.world.count=3
# login server key
# (this is defined in the loginserver table)
net.odinms.login.key=releaselogin
net.odinms.login.0.key=xxxxxx
net.odinms.login.1.key=xxxxxxx

這裡的xxxxxx就和開多條線一樣的做法
3.在數據庫裡找到loginsever打開
loginseverid key world
1 d3703816f23fdee7fce6ba061244736b83c88fc5 0
2 a895a7b4971af1e5ef191d457ac38fd9655ecbc0 1
3 b30660a0abb5f866b1d1eb3af11930d0c130674f 2
這也和開多條線一樣的做法
其中d3703816f23fdee7fce6ba061244736b83c88fc5=releaselogin
        a895a7b4971af1e5ef191d457ac38fd9655ecbc0=zisedk


-------------------------------------------------- ------------------------------

Rank: 2Rank: 2

UID
899479 
帖子
210 
積分
76 
Good
0  
註冊時間
07-6-11 
在線時間
162 小時 
3#
發表於 09-11-16 09:57 PM |只看該作者
登錄出現找不到ID和角色不見的現象
LTER TABLE `odinms`.`` ADD COLUMN `tempban` INTEGER UNSIGNED NOT NULL DEFAULT 0 AFTER `banned`;
ALTER TABLE `odinms`.`` ADD COLUMN `greason` INTEGER UNSIGNED NULL AFTER `tempban`;
(以上兩句解決沒有ID,下面兩句解決角色不見!)
ALTER TABLE `odinms`.`characters` ADD COLUMN `guildid` INTEGER UNSIGNED NOT NULL DEFAULT 0 AFTER `jobRankMove`,
ADD COLUMN `guildrank` INTEGER UNSIGNED NOT NULL DEFAULT 5 AFTER `guildid`;


-------------------------------------------------- ------------------------------
4轉砸技能書的編譯方法

http://ncghj..com/read.php?tid-626-fpage-5.html


-------------------------------------------------- ------------------------------

GM上線恢復隱身

打開PlayerLoggedinHandler.java文件

找到:

/*if (player.isGM()) {
            // need to be hidden before being on the map o.o
            SkillFactory.getSkill(5101004).getEffect(1).applyTo(player);
        }*/

改成:

if (player.isGM()) {
            // need to be hidden before being on the map o.o
            SkillFactory.getSkill(5101004).getEffect(1).applyTo(player);
        }

最後保存,編譯後覆蓋原來的odinms.jar即可!

上線不想隱身反之即可

修改NPC賣物品.
導入數據庫...找到SHOPS這個文擋.出現的是
    1============11000彩虹村武器店
      2============11100彩虹村藥店
      3============21000
      4==========1001000
      ....===========.....
      商店ID========商店代碼
  首先你要改哪個NPC要記住他的商店的ID.
  再找到SHOPITEMS打開文件
  shopitemid=========shopid======itemid========price========position
  2000 =========1==========1402037=====1000=========1
  2001 =========1==========1412021=====1000========= 2
  2002 =========1==========1432030=====1000=========3
  2003 =========1==========1442044=====1000=========4
  2004 =========1==========1452021=====1000=========5
  2005 =========1==========1462017=====1000=========6
  2006 =========1==========1472053=====1000=========7
.--------------======= --==========----------====== ==------========--
序號物品的次數物品的ID價格.物品的順序


改變公告!打開OD源代碼以下目錄
\src\net\sf\odinms\net\channel\Channelserver.java

找到private String serverMessage ="把以前的公告刪除,這裡寫你新的公告"


-------------------------------------------------- ------------------------------
加錢命令!mesos找到src\net\sf\odinms\client\messages目錄下的CommandProcessor.java
在後面添加

Quote:
  else if (splitted[0].equals("!mesos")){
                            c.getPlayer().gainMeso(Integer.parseInt(splitted[1]), true);
                        }
-------------------------------------------------- ------------------------------


!level調級命令打開OD源代碼以下目錄
找到並打開\src\net\sf\odinms\client\messages\CommandProcessor.java
在}else if (splitted[0].equals("!warphere"))
{上面面添加
else if (splitted[0].equals("!level")) { //By PurpleMadness
                            c.getPlayer().setLevel(getOptionalIntArg(splitted, 1, 1));
                c.getPlayer().levelUp();
                int newexp = c.getPlayer().getExp();
                if (newexp < 0) {
                    c.getPlayer().gainExp(-newexp, false, false);
                }
}



然後打開\src\net\sf\odinms\clientMapleCharacter.java
後面添加這句

public void setLevel(int level) {
this.level = level-1;
}


打開OD源代碼以下目錄
\src\net\sf\odinms\net\channel\Channelserver.java

找到private String serverMessage ="把以前的公告刪除,這裡寫你新的公告"

改完後記得編譯·用這個編譯軟件NetBeans,沒的話網上搜索一下就有了···然後把編譯好的ODINMS.jar分別放到C:\Program Files\Java\jdk1.6.0_10\jre\lib \ext
                                                                                                                C:\Program Files\Java\jre6\lib\ext
目錄下


關於商城端新建人物自動送點卷
\src\net\sf\odinms\net\login\handler目錄裡找CreateCharHandler.java文件

將這句newchar.modifyCSPoints(0,30000);

改成//newchar.modifyCSPoints(0,0);

註譯掉後重新編譯就行了

Rank: 2Rank: 2

UID
899479 
帖子
210 
積分
76 
Good
0  
註冊時間
07-6-11 
在線時間
162 小時 
4#
發表於 09-11-16 09:57 PM |只看該作者
時常變成超級傳送員
複製以下代碼

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

package net.odinms.net.channel.handler;

import net.odinms.client.MapleClient;
import net.odinms.client.messages.ServernoticeMapleClientMessageCallback;
import net.odinms.net.AbstractMaplePacketHandler;
import net.odinms.tools.MaplePacketCreator;
import net.odinms.tools.data.input.SeekableLittleEndianAccessor;
import net.odinms.net.channel.ChannelServer;
import net.odinms.server.MaplePortal;
import net.odinms.server.maps.MapleMap;
import net.odinms.server.maps.SavedLocationType;

public class EnterMTSHandler extends AbstractMaplePacketHandler {
      @Override
      public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
            if ((c.getPlayer().getMapId() < 910000000) || (c.getPlayer().getMapId() > 910000022)){
              new ServernoticeMapleClientMessageCallback(5, c).dropMessage("你將被傳送到自由市場,這裡有超級傳送!");
              c.getSession().write(MaplePacketCreator.enableActions());
                MapleMap to;
                MaplePortal pto;
                              to = ChannelServer.getInstance(c.getChannel()).getMapFactory().getMap(910000000);
                              c.getPlayer().saveLocation(SavedLocationType.FREE_MARKET);
                              pto = to.getPortal("out00"); // or st00?
                                c.getPlayer().changeMap(to, pto);
            } else {
                              new ServernoticeMapleClientMessageCallback(5, c).dropMessage("你已經是在自由市場了,你還想幹什麼!");
              c.getSession().write(MaplePacketCreator.enableActions());
            }
            }
      }




BOSS爆物品的SQL
複製以下代碼
引用
數據庫增加需要的SQL
BOSS爆率
扎SQL
ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8000,82,1452017,70),(8001,82,1462018,80),(8002,82,1332027,95),(8003,82,1472031,85),(8004,82 ,1432011,65),(8005,82,1402016,95),(8006,82,1412010,90),(8007,82,1442002,100),(8008,82,1382008,50),(8009,82 ,1302023,80),(8010,82,1332026,50),(8011,82,1332022,980),(8012,82,1312015,990),(8013,82,1322029,88),(8014,82 ,1422013,78),(8015,82,1442020,87),(8016,82,1002357,48),(8017,82,1002357,39),(8018,82,1002357,28),(8019,82 ,1002357,30),(8020,82,1002357,40),(8021,82,4006000,25),(8022,82,4006000,25),(8023,82,4006001,25),(8024,82 ,4006001,25),(8025,82,2020015,25),(8026,82,2020015,25),(8027,82,2020014,25),(8028,82,2020014,25),(8029,82 ,1002357,50),(8030,82,2001001,25),(8031,82,1372009,70)

鬧鐘SQL:

-------------------------------------------------- ------------------------------

ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8032,8500002,2000004,30),(8033,8500002,2000005,30),(8034,8500002,2020013,1),(8035,8500002,2020015,1),(8036,8500002 ,4031196,10),(8037,8500002,4001084,20),(8038,8500002,1061119,90),(8039,8500002,1040113,80),(8040,8500002,1040112,80),(8041,8500002 ,1041121,80),(8042,8500002,1040111,50),(8043,8500002,1040112,60),(8044,8500002,1072212,60),(8045,8500002,1072196,88),(8046,8500002 ,1072197,78),(8047,8500002,1072220,87),(8048,8500002,1072221,48),(8049,8500002,1040121,39),(8050,8500002,1041122,28),(8051,8500002 ,1041123,80),(8052,8500002,1002377,40),(8053,8500002,4006000,25),(8054,8500002,1060109,25),(8055,8500002,1060110,80),(8056,8500002 ,1061121,40),(8057,8500002,1061122,80),(8058,8500002,1402016,180),(8059,8500002,1412010,180),(8060,8500002,1432011,180),(8061,8500002 ,1422026,180),(8062,8500002,1452017,180),(8063,8500002,1462018,180),(8064,8500002,1472033,180),(8065,8500002,1372010,180),(8066,8500002 ,1051096,25),(8067,8500002,1051097,80),(8068,8500002,1372009,180),(8069,8500002,1372032,800),(8070,8500002,1050094,30),(8071,8500002 ,1050095,80),(8072,8500002,1050102,80),(8073,8500002,1051101,80),(8074,8500002,1072224,80),(8075,8500002,1050107,80),(8076,8500002 ,1051106,80),(8077,8500002,1082158,80),(8078,8500002,1072227,80),(8079,8500002,1332028,480),(8080,8500002,1332027,180),(8081,8500002 ,1072173,80),(8082,8500002,1082149,1000),(8083,8500002,2040807,3000),(8084,8500002,2040917,3000),(8085,8500002,1050098,80),(8086,8500002 ,1051092,80),(8087,8500002,1402037,8000)

-------------------------------------------------- ------------------------------
肥龍SQL:

-------------------------------------------------- ------------------------------

ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8088,81,4000235,20),(8089,81,4031348,21),(8090,81,4000245,22),(8091,81,4000244,23),(8092,81 ,2022176,24),(8093,81,4001076,25),(8094,81,2290080,90),(8095,81,2290062,91),(8096,81,2290063,92),(8097,81 ,2290015,89),(8098,81,2290030,93),(8099,81,2290035,94),(8100,81,2290002,95),(8101,81,2290069,97),(8102,81 ,2290003,96),(8103,81,1302056,30),(8104,81,1432030,31),(8105,81,1442044,32),(8106,81,1382035,33),(8107,81 ,1372010,34),(8108,81,1452019,35),(8109,81,1462015,35),(8110,81,1472053,36),(8111,81,1332052,37),(8112,81 ,2044702,40),(8113,81,2040805,40),(8114,81,2040517,40),(8115,81,2040514,40),(8116,81,2040505,40),(8117,81 ,2043301,25),(8118,81,2044001,25),(8119,81,2044301,25),(8120,81,2044501,25),(8121,81,2043801,25),(8122,81 ,2040804,25),(8123,81,2044601,25),(8124,81,2040914,50),(8125,81,2040919,50),(8126,81,2040817,25)

-------------------------------------------------- ------------------------------




-------------------------------------------------- ------------------------------

胖鳳SQL:[BUG已修復]

-------------------------------------------------- ------------------------------

ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8127,8180001,4000243,20),(8128,8180001,4031348,21),(8129,8180001,4000245,22),(8130,8180001,4000244,23),(8131,8180001 ,2022176,24),(8132,8180001,4031464,25),(8133,8180001,4031467,25),(8134,8180001,4031457,25),(8135,8180001,1432030,92),(8136,8180001 ,2290018,89),(8137,8180001,2290042,93),(8138,8180001,2290092,94),(8139,8180001,2290019,95),(8140,8180001,2290032,97),(8141,8180001 ,2290035,96),(8142,8180001,1302056,30),(8143,8180001,1412021,85),(8144,8180001,1442044,32),(8145,8180001,1382035,33),(8146,8180001 ,1372010,34),(8147,8180001,1452019,35),(8148,8180001,1462015,35),(8149,8180001,1472053,36),(8150,8180001,1332052,37),(8151,8180001 ,2044702,40),(8152,8180001,2040805,40),(8153,8180001,2040517,40),(8154,8180001,2040514,40),(8155,8180001,2040505,40),(8156,8180001 ,2043301,25),(8157,8180001,2044001,25),(8158,8180001,2044301,25),(8159,8180001,2044501,25),(8160,8180001,2043801,25),(8161,8180001 ,2040804,25),(8162,8180001,2044601,25),(8163,8180001,2040914,50),(8164,8180001,2040919,50),(8165,8180001,2040817,25),(8166,8180001 ,1422027,90),(8167,8180001,1402035,90),(8168,8180001,1332051,68),(8169,8180001,2040705,25),(8170,8180001,2040501,25),(8171,8180001 ,2040516,30),(8172,8180001,2040513,30),(8173,8180001,2040302,25),(8174,8180001,2040516,30),(8263,8180001,2040513,30),(8264,8180001 ,2040302,25),(8175,8180001,2290058,90),(8176,2290011,2280007,95),(8177,8180001,2280008,95),(8178,8180001,2280009,90),(8179,2290011 ,2280010,95),(8180,8180001,2290009,95)

-------------------------------------------------- ------------------------------




-------------------------------------------------- ------------------------------

Rank: 2Rank: 2

UID
899479 
帖子
210 
積分
76 
Good
0  
註冊時間
07-6-11 
在線時間
162 小時 
5#
發表於 09-11-16 09:58 PM |只看該作者
皮亞奴斯(左)SQL:

-------------------------------------------------- ------------------------------

ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8222,8510000,4031253,25),(8223,8510000,2022176,26),(8224,8510000,2290000,65),(8225,8510000,2290024,64),(8226,8510000 ,2290025,64),(8227,8510000,2290018,50),(8228,8510000,2290026,65),(8229,8510000,2290076,65),(8230,8510000,2290076,65),(8231,8510000 ,2290005,70),(8232,8510000,2290001,70),(8233,8510000,2290077,82),(8234,8510000,2290020,65),(8235,8510000,2290052,60),(8236,8510000 ,2290053,80),(8237,8510000,2290054,65),(8238,8510000,2290055,70),(8239,8510000,2290083,65),(8240,8510000,2290027,80),(8241,8510000 ,1402005,40),(8242,8510000,1412010,40),(8243,8510000,1322029,35),(8244,8510000,1060111,45),(8245,8510000,1072222,33),(8246,8510000 ,1061123,45),(8247,8510000,1041124,45),(8248,8510000,1040122,45),(8249,8510000,1050103,35),(8250,8510000,1051102,35),(8251,8510000 ,1051106,35),(8252,8510000,1050107,35),(8253,8510000,1050097,35),(8254,8510000,1051091,35),(8255,8510000,2040513,50),(8256,8510000 ,2040501,50),(8257,8510000,2040413,50),(8258,8510000,2040406,50),(8259,8510000,2040017,50),(8260,8510000,4000175,24),(8261,8510000 ,4001085,25),(8262,8510000,2040613,25)

-------------------------------------------------- ------------------------------

皮亞奴斯(右)SQL:

-------------------------------------------------- ------------------------------

ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8181,8520000,4000175,24),(8182,8520000,4001085,25),(8183,8520000,4001085,25),(8184,8520000,4031253,25),(8185,8520000 ,2022176,26),(8186,8520000,2290000,65),(8187,8520000,2290024,64),(8188,8520000,2290025,64),(8189,8520000,2290018,50),(8190,8520000 ,2290026,65),(8191,8520000,2290076,65),(8192,8520000,2290076,65),(8193,8520000,2290005,70),(8194,8520000,2290001,70),(8195,8520000 ,2290077,82),(8196,8520000,2290020,65),(8197,8520000,2290052,60),(8198,8520000,2290053,80),(8199,8520000,2290054,65),(8200,8520000 ,2290055,70),(8201,8520000,2290083,65),(8202,8520000,2290027,80),(8203,8520000,1402005,40),(8204,8520000,1412010,40),(8205,8520000 ,1322029,35),(8206,8520000,1060111,45),(8207,8520000,1072222,33),(8208,8520000,1061123,45),(8209,8520000,1041124,45),(8210,8520000 ,1040122,45),(8211,8520000,1050103,35),(8212,8520000,1051102,35),(8213,8520000,1051106,35),(8214,8520000,1050107,35),(8215,8520000 ,1050097,35),(8216,8520000,1051091,35),(8217,8520000,2040513,50),(8218,8520000,2040501,50),(8219,8520000,2040413,50),(8220,8520000 ,2040406,50),(8221,8520000,2040017,50)

-------------------------------------------------- ------------------------------



-------------------------------------------------- ------------------------------

暗黑龍王SQL:

-------------------------------------------------- ------------------------------

ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8275,8810026,2290096,25),(8276,8810026,4001094,26),
(8265,8810026,2290075,65),(8266,8810026,2290047,64),(8267,8810026,2290085,64),
(8268,8810026,2290023,50),(8269,8810026,2290041,65),(8270,8810026,2290009,65),
(8271,8810026,2290076,65),(8272,8810026,2290005,70),(8273,8810026,2290001,70),
(8274,8810026,2290065,82),(8278,8810026,2290021,65),(8279,8810026,2290017,60),
(8280,8810026,1402036,80),(8281,8810026,2290049,65),(8282,8810026,2290095,70),
(8283,8810026,1302059,90),(8284,8810026,1402037,90),(8285,8810026,1402005,40),
(8286,8810026,1412010,40),(8287,8810026,1322029,35),(8288,8810026,1322052,65),
(8289,8810026,1312031,45),(8290,8810026,1432038,90),(8291,8810026,1412026,70),
(8292,8810026,1422028,70),(8293,8810026,1442045,80),(8294,8810026,1372032,70),
(8295,8810026,1382036,90),(8296,8810026,1452044,80),(8297,8810026,1462039,65),
(8298,8810026,1472052,90),(8299,8810026,1332050,90),(8300,8810026,1332049,60),
(8301,8810026,1472051,80),(8302,8810026,1122000,25),(8303,8810026,1122000,25),
(8304,8810026,1122000,25),(8305,8810026,2041200,25),(8306,8810026,2041200,25)

-------------------------------------------------- ------------------------------
OD端視頻喇叭中文聊天
中文喇叭
net.odinms.tools.data.input.GenericLittleEndianAccessor.java


找到
public final String readAsciiString(int n) {
char ret[] = new char[n];
for (int x = 0; x < n; x++) {
ret[x] = (char) readByte();
}
return String.valueOf(ret);
}



修改為:
public final String readAsciiString(int n) {
//char ret[] = new char[n];
byte ret[] = new byte[n];
for (int x = 0; x < n; x++) {
ret[x] = (byte) readByte();
}
try {
String str= new String(ret,"gbk");
return str;
} catch (Exception e) {
System.err.println(e);
}
return null;
}


OD中文顯示
OD中文顯示net.odinms.tools.data.output中的GenericLittleEndianWriter.java

private static Charset ASCII = Charset.forName("US-ASCII");
改成
private static Charset ASCII = Charset.forName("GBK");

不過有一個缺點就是中文顯示不完全! !
經過修改~現在可以完整顯示中文!

跟我來~!

同樣是該文件中

在private ByteOutputStream bos;下面加入

  public int getlength(String str){
        int i,t=0;
        byte[] bt = str.getBytes();
        for (i=1;i<=bt.length;i++){
            if (bt[i-1]<0) {t=t+2;i++;}
            else t=t+1;
        }
        return t;
    }

找到writeShort((short)s.length());
改成writeShort((short)getlength(s));

編譯!完成!


關於商城端新建人物自動送點卷
\src\net\sf\odinms\net\login\handler目錄裡找CreateCharHandler.java文件

將這句newchar.modifyCSPoints(0,30000);

改成//newchar.modifyCSPoints(0,0);

註譯掉後重新編譯就行了

Rank: 2Rank: 2

UID
899479 
帖子
210 
積分
76 
Good
0  
註冊時間
07-6-11 
在線時間
162 小時 
6#
發表於 09-11-17 12:33 AM |只看該作者
我用我家姐部電腦入到去帳號登入戈到..
打完帳密禁登入..出現
error code:38 到達檔案結尾

有冇人知咩問題

Rank: 4Rank: 4Rank: 4Rank: 4

UID
667369 
帖子
169 
積分
1413 
Good
1  
註冊時間
06-6-13 
在線時間
1111 小時 
7#
發表於 09-11-17 02:44 AM |只看該作者
我既問題同你一樣~
問左好耐都冇人回答,
冇人回答可能性有2個...
1,佢地可能有同樣問題
2,佢地冇出現呢個問題(如果係咁既可能係電腦問題)

最衰就唔知咩原因...

Rank: 2Rank: 2

UID
180982 
帖子
228 
積分
258 
Good
0  
註冊時間
04-4-23 
在線時間
320 小時 
8#
發表於 09-11-19 11:31 PM |只看該作者
好詳細=口=...詳細到唔係太識睇
‹ 上一主題|下一主題
你需要登錄後才可以回帖 登錄 | 免費註冊

聯絡我們|Archiver| 2000FUN論壇

SERVER: 2 GMT+8, 26-5-8 11:20 AM , Processed in 0.157073 second(s), 11 queries , Gzip On.

Sponsor:工作間 , 網頁寄存

Powered by Discuz! X1.5.1

© 2001-2010 Comsenz Inc.