OD架设出错的问题全集合

社区服务
高级搜索
猴岛论坛综合游戏交流冒险岛OD架设出错的问题全集合
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
3个回复

OD架设出错的问题全集合

楼层直达
⒐o°代裡、

ZxID:1301219

等级: 大校
雨过天晴

举报 只看楼主 使用道具 楼主   发表于: 2008-08-26 0
— 本帖被 tmd88600 执行取消精华操作(2008-09-06) —
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.sf.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 accounts 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.sf.odinms.world.host=127.0.0.1
# number of channels to host in this process
net.sf.odinms.channel.count=10
# channel keys
# (these are defined in the channels table)
net.sf.odinms.channel.0.key=release1
net.sf.odinms.channel.1.key=release2
net.sf.odinms.channel.2.key=release3
net.sf.odinms.channel.3.key=release4
net.sf.odinms.channel.4.key=release5
net.sf.odinms.channel.5.key=release6
net.sf.odinms.channel.6.key=release7
net.sf.odinms.channel.7.key=release8
net.sf.odinms.channel.8.key=release9
net.sf.odinms.channel.9.key=release10
如果你只修改了 这里 是没用的.
然后 打开数据库 channelcofnig 列表 此列表为线程 设置
增加  第一项为  数据库里的 线数ID  从1开始  一直写到9
第二项 为线数  从2 开始写到10  , 为什么从2开始?  因为一线是默认在其他地方 所以不用写
第三项  为名字 全写成net.sf.odinms.channel.net.port  就行了
第四项 为 端口 7575 是一线 而这里是从2线开始 所以我们从7576开始写 7576 7577 .....
一直写到10线的地方..

好了 然后 被大家遗忘的地方在这里
打开 channels 列表
第一项 写 1~10  第二项全写0    第三项  1~10
关键是第4项  key  这是被加秘过的..  就好象数据库的密码一样,  对吧 ?
现在主要教大家改这里..
2062e90b3ea10a86ff666a76c41aa0d9e9d88f4e  一线写是key就是这个
他是什么意思呢 ?  回到最上面
net.sf.odinms.channel.0.key=release1
release1 就是一线的key
把release1 转成md5码 就等于 2062e90b3ea10a86ff666a76c41aa0d9e9d88f4e
所以 net.sf.odinms.channel.0.key=release1  后面的release1是随便我们改的
我们可以改成1xian
1xian 的MD5码  = ad4ef3815a01ee478d654976124869c7d4f8950d
我们把 ad4ef3815a01ee478d654976124869c7d4f8950d 改到channels 的key里就可以了
到这里 大家应该略懂了吧 
好了 转换md5码的东西 上传不了 大家需要的话自己到网上下载吧 ..
记得端口一定要开 不然就在选人物的那卡住进不去


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

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

accounts表里把loggedin  banned和banreason都改成0
ipbans和macbans表里记录全删除



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


OD端完美显示中文

net.sf.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封号了怎么解

去数据库的该表 accounts  里面!  把loggedin  和banned还有 banreason 里面改成0就可以了!!


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


点一下trade就能回到自由市场

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

把内容改为:

Copy code

package net.sf.odinms.net.channel.handler;

import net.sf.odinms.client.MapleClient;
import net.sf.odinms.client.messages.ServernoticeMapleClientMessageCallback;
import net.sf.odinms.net.AbstractMaplePacketHandler;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
import net.sf.odinms.net.channel.ChannelServer;
import net.sf.odinms.server.MaplePortal;
import net.sf.odinms.server.maps.MapleMap;
import net.sf.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.sf.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

类推


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


把能力点加到HP AND MP 上

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

下面的改为:
import net.sf.odinms.client.ISkill;
import net.sf.odinms.client.MapleClient;
import net.sf.odinms.client.MapleStat;
import net.sf.odinms.client.SkillFactory;
import net.sf.odinms.net.AbstractMaplePacketHandler;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.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.sf.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() == 禁止词语D) {return;}
禁止词语D就是你想要移除的怪物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.sf.odinms.client  下的MapleCharacter.java

查找remainingAp += 5;

把5改为你想要的点数,编译...进入游戏..


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


改HP.MP方法

找到 net.sf.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.sf.odinms.world.host=127.0.0.1
# number of channels to host in this process
net.sf.odinms.world.count=3
# login server key
# (this is defined in the loginserver table)
net.sf.odinms.login.key=releaselogin
net.sf.odinms.login.0.key=xxxxxx
net.sf.odinms.login.1.key=xxxxxxx

这里的xxxxxx就和开多条线一样的做法
3.在数据库里找到 loginsever  打开
loginseverid                    key                                world
1    d3703816f23fdee7fce6ba061244736b83c88fc5    0
2    a895a7b4971af1e5ef191d457ac38fd9655ecbc0    1
3    b30660a0abb5f866b1d1eb3af11930d0c130674f    2
这也和开多条线一样的做法
其中 d3703816f23fdee7fce6ba061244736b83c88fc5=releaselogin
        a895a7b4971af1e5ef191d457ac38fd9655ecbc0=zisedk


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


登录出现找不到ID和角色不见的现象
LTER TABLE `odinms`.`accounts` ADD COLUMN `tempban` INTEGER UNSIGNED NOT NULL DEFAULT 0 AFTER `banned`;
ALTER TABLE `odinms`.`accounts` 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);

注译掉后重新编译就行了


时常变成超级传送员
复制以下代码

    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.sf.odinms.net.channel.handler;

import net.sf.odinms.client.MapleClient;
import net.sf.odinms.client.messages.ServernoticeMapleClientMessageCallback;
import net.sf.odinms.net.AbstractMaplePacketHandler;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
import net.sf.odinms.net.channel.ChannelServer;
import net.sf.odinms.server.MaplePortal;
import net.sf.odinms.server.maps.MapleMap;
import net.sf.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
复制以下代码
Quote:数据库增加需要的SQL
BOSS爆率
扎SQL
ALTER TABLE `monsterdrops`;
INSERT INTO `monsterdrops` VALUES (8000,8800002,1452017,70),(8001,8800002,1462018,80),(8002,8800002,1332027,95),(8003,8800002,1472031,85),(8004,8800002,1432011,65),(8005,8800002,1402016,95),(8006,8800002,1412010,90),(8007,8800002,1442002,100),(8008,8800002,1382008,50),(8009,8800002,1302023,80),(8010,8800002,1332026,50),(8011,8800002,1332022,980),(8012,8800002,1312015,990),(8013,8800002,1322029,88),(8014,8800002,1422013,78),(8015,8800002,1442020,87),(8016,8800002,1002357,48),(8017,8800002,1002357,39),(8018,8800002,1002357,28),(8019,8800002,1002357,30),(8020,8800002,1002357,40),(8021,8800002,4006000,25),(8022,8800002,4006000,25),(8023,8800002,4006001,25),(8024,8800002,4006001,25),(8025,8800002,2020015,25),(8026,8800002,2020015,25),(8027,8800002,2020014,25),(8028,8800002,2020014,25),(8029,8800002,1002357,50),(8030,8800002,2001001,25),(8031,8800002,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,8180000,4000235,20),(8089,8180000,4031348,21),(8090,8180000,4000245,22),(8091,8180000,4000244,23),(8092,8180000,2022176,24),(8093,8180000,4001076,25),(8094,8180000,2290080,90),(8095,8180000,2290062,91),(8096,8180000,2290063,92),(8097,8180000,2290015,89),(8098,8180000,2290030,93),(8099,8180000,2290035,94),(8100,8180000,2290002,95),(8101,8180000,2290069,97),(8102,8180000,2290003,96),(8103,8180000,1302056,30),(8104,8180000,1432030,31),(8105,8180000,1442044,32),(8106,8180000,1382035,33),(8107,8180000,1372010,34),(8108,8180000,1452019,35),(8109,8180000,1462015,35),(8110,8180000,1472053,36),(8111,8180000,1332052,37),(8112,8180000,2044702,40),(8113,8180000,2040805,40),(8114,8180000,2040517,40),(8115,8180000,2040514,40),(8116,8180000,2040505,40),(8117,8180000,2043301,25),(8118,8180000,2044001,25),(8119,8180000,2044301,25),(8120,8180000,2044501,25),(8121,8180000,2043801,25),(8122,8180000,2040804,25),(8123,8180000,2044601,25),(8124,8180000,2040914,50),(8125,8180000,2040919,50),(8126,8180000,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)

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




--------------------------------------------------------------------------------
皮亚奴斯(左)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.sf.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.sf.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);

注译掉后重新编译就行了





linghu100

ZxID:1572126

等级: 上等兵
举报 只看该作者 沙发   发表于: 2008-08-27 0
     
cb5814695

ZxID:1569813

等级: 上尉
不求风骚闻天下,但求淫荡惊世人
举报 只看该作者 板凳   发表于: 2008-08-27 0
   
wuyawenwen

ZxID:1710234

等级: 少尉
举报 只看该作者 地板   发表于: 2008-09-20 0
  zheme  kuai 就有SF了
« 返回列表
发帖 回复