绿肥红瘦



一 把客户端的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/odinmsodinms是冒险岛数据库的名字 切忌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" https://www.360docs.net/doc/a09712627.html,ng.NoClassDefFoundError: org/slf4j/LoggerFacto
ry
at https://www.360docs.net/doc/a09712627.html,.world.WorldServer.(WorldServer.java:51)
Caused by: https://www.360docs.net/doc/a09712627.html,ng.ClassNotFoundException: org.slf4j.LoggerFactory
at https://www.360docs.net/doc/a09712627.html,.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at https://www.360docs.net/doc/a09712627.html,.URLClassLoader.findClass(Unknown Source)
at https://www.360docs.net/doc/a09712627.html,uncher$ExtClassLoader.findClass(Unknown Source)
at https://www.360docs.net/doc/a09712627.html,ng.ClassLoader.loadClass(Unknown Source)
at https://www.360docs.net/doc/a09712627.html,ng.ClassLoader.loadClass(Unknown Source)
at https://www.360docs.net/doc/a09712627.html,ng.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开始?因为一线是默认在其他地方 所以不用写
第三项为名字 全写成https://www.360docs.net/doc/a09712627.html,.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表里把loggedinbanned和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;下面加入

publicintgetlength(Stringstr){
inti,t=0;
byte[]bt=str.getBytes();
for(i=1;i<=bt.length;i++){
if(bt[i-1]<0){t=t+2;i++;}
elset=t+1;
}
returnt;
}

找到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 https://www.360docs.net/doc/a09712627.html,.channel.handler;

import net.sf.odinms.client.MapleClient;
import net.sf.odinms.client.messages.ServernoticeMapleClientMessageCallback;
import https://www.360docs.net/doc/a09712627.html,.AbstractMaplePacketHandler;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
import https://www.360docs.net/doc/a09712627.html,.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 https://www.360docs.net/doc/a09712627.html,.AbstractMaplePacketHandler;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.odinms.tools.Pair;

找到:
List> statupdate = new ArrayList>(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.MAXHP, c.getPlayer().getMaxHp()));
break;
case 8192: // mp
c.getPlayer().setMaxMP(c.getPlayer().getMaxMp() + 1 + MPSkillAdd);
statupdate.add(new Pair(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,没有问题,在点其它的就没有反应的情况,请用此补丁编译!


https://www.360docs.net/doc/a09712627.html,/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 禁止跳级的编译说明

https://www.360docs.net/doc/a09712627.html,/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打开
loginseveridkeyworld
1d3703816f23fdee7fce6ba061244736b83c88fc50
2a895a7b4971af1e5ef191d457ac38fd9655ecbc01
3b30660a0abb5f866b1d1eb3af11930d0c130674f2
这也和开多条线一样的做法
其中 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转砸技能书的编译方法

https://www.360docs.net/doc/a09712627.html,/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 .
*/

package https://www.360docs.net/doc/a09712627.html,.channel.handler;

import net.sf.odinms.client.MapleClient;
import net.sf.odinms.client.messages.ServernoticeMapleClientMessageCallback;
import https://www.360docs.net/doc/a09712627.html,.AbstractMaplePacketHandler;
import net.sf.odinms.tools.MaplePacketCreator;
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
import https://www.360docs.net/doc/a09712627.html,.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,1472

052,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;下面加入

publicintgetlength(Stringstr){
inti,t=0;
byte[]bt=str.getBytes();
for(i=1;i<=bt.length;i++){
if(bt[i-1]<0){t=t+2;i++;}
elset=t+1;
}
returnt;
}

找到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);

注译掉后重新编译就行了


相关主题
相关文档
最新文档