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);
注译掉后重新编译就行了