大佬都按照做了都启动成功 就是客户端启动游戏报错https://pan.baidu.com/s/1ZwR_SPojgk9qCcQxVpfqrA?pwd=2ab3
zknihaoa 发表于 2026-5-29 14:44
那么这些都是补丁,客户端哪里去下载啊
论坛里搜一下(冒险岛 北斗)就有
86330303 发表于 2026-5-29 16:19
大佬都按照做了都启动成功 就是客户端启动游戏报错
我这边是纯服务端的改动不涉及客户端,能启动成功说明OK了。客户端报错有可能是分辨率的问题(我在别的单机版遇到过),你在客户端的文件夹里看看config.ini文件,调整下分辨率试试,如果都不行的话我就不清楚了,客户端这块我不懂
这个必须赞,大佬费心了:::
老哥你好,我想把功能分开,因为我是小白,只能跟着您的思路改,比如【吸怪】【吸宠】功能变成gm功能,【背包自动整理】改成手动,您是否有思路可以帮忙下
这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止。
everby778 发表于 2026-5-29 18:12
老哥你好,我想把功能分开,因为我是小白,只能跟着您的思路改,比如【吸怪】【吸宠】功能变成gm功能,【背 ...
吸怪/吸物变成GM功能:
思路1:在快捷功能.js中,判断玩家是不是GM,是的话就给箱子,否则就不给(优点:好改,缺点:很容易绕过去,非法得到了箱子也能用)
思路2:改服务端源码(帖子中的那个java文件),点击箱子后,在java中判断使用了哪个箱子,如果是吸怪与吸物的箱子,就判断玩家是不是GM,不是的话直接给个消息提示并return返回就好(缺点:麻烦点,你得会编译程序)
背包整理变成手动触发:
思路:必须改服务端源码,也是改那个java文件,如果玩家点击的箱子是背包整理的箱子,就直接调用整理背包的organize.js脚本。(目前的逻辑是服务端定时调用脚本,把【定时】这个功能去掉就行)
老大啊求求你了全屏吸怪 30分钟能不能取消啊- -不限时不行吗
为什么吸怪和整理的包裹我用不起来。。。
a393460677 发表于 2026-5-29 22:31
吸怪/吸物变成GM功能:
思路1:在快捷功能.js中,判断玩家是不是GM,是的话就给箱子,否则就不给(优点: ...
那是不是表示不是gm 是不能用吸怪的? 我是自己建的号,按照你的方式做,但是还没有吸怪的功能
不错不错,很棒
感谢大佬分享!正好想体验一下呢。
全屏捡物品有BUG,开一会就关掉了,不会自动捡了
尘世摇篮 发表于 2026-6-8 21:34
全屏捡物品有BUG,开一会就关掉了,不会自动捡了
截图发个服务端运行日志窗口看看报错信息
感谢大佬分享,谢谢!!
大佬能不能上传个修改好的9900001.JS文件
不错不错,感谢分享
2026-06-10 08:38:19.966 [ WARN] ==> Player: 尘世摇篮 maxDistanceSqToMob: 242965.0 thresholdSq: 200000.0 SID: 1111008 MID: 2220100 BBOX{use=true, rel=(-32,-67)-(36,0), world=(1739,266)-(1807,333), size=68x67, playerPos=java.awt.Point, checkPos=java.awt.Point, teleportBeforePos=null, movementBeforePos=null, usedTeleportContext=false, usedMovementContext=false, mobPos=java.awt.Point, facingLeft=false, noFlip=false}
java.lang.IllegalStateException: Multi threaded access requested by thread Thread[#553,nioEventLoopGroup-3-1,10,main] but is not allowed for language(s) js.
at com.oracle.truffle.polyglot.PolyglotEngineException.illegalState(PolyglotEngineException.java:135)
at com.oracle.truffle.polyglot.PolyglotContextImpl.throwDeniedThreadAccess(PolyglotContextImpl.java:1207)
at com.oracle.truffle.polyglot.PolyglotContextImpl.checkAllThreadAccesses(PolyglotContextImpl.java:1008)
at com.oracle.truffle.polyglot.PolyglotContextImpl.enterThreadChanged(PolyglotContextImpl.java:839)
at com.oracle.truffle.polyglot.PolyglotEngineImpl.enterCached(PolyglotEngineImpl.java:2033)
at com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:109)
at com.oracle.truffle.api.impl.DefaultCallTarget.callDirectOrIndirect(DefaultCallTarget.java:85)
at com.oracle.truffle.api.impl.DefaultCallTarget.call(DefaultCallTarget.java:102)
at com.oracle.truffle.polyglot.PolyglotMap.entrySet(PolyglotMap.java:124)
at java.base/java.util.AbstractMap$1$1.<init>(AbstractMap.java:356)
at java.base/java.util.AbstractMap$1.iterator(AbstractMap.java:355)
at org.gms.util.PacketCreator.writeIntMask(PacketCreator.java:3968)
at org.gms.util.PacketCreator.cancelMonsterStatus(PacketCreator.java:4012)
at org.gms.server.life.Monster.lambda$applyMonsterBuff$3(Monster.java:1325)
at org.gms.net.server.services.BaseScheduler.interruptEntry(BaseScheduler.java:153)
at org.gms.net.server.services.BaseScheduler.interruptEntry(BaseScheduler.java:136)
at org.gms.net.server.services.task.channel.MobStatusService$MobStatusScheduler.interruptMobStatus(MobStatusService.java:138)
at org.gms.net.server.services.task.channel.MobStatusService.interruptMobStatus(MobStatusService.java:66)
at org.gms.server.life.Monster.applyStatus(Monster.java:1202)
at org.gms.server.life.Monster.applyStatus(Monster.java:1145)
at org.gms.net.server.channel.handlers.AbstractDealDamageHandler.applyAttack(AbstractDealDamageHandler.java:553)
at org.gms.net.server.channel.handlers.CloseRangeDamageHandler.handlePacket(CloseRangeDamageHandler.java:194)
at org.gms.client.Client.channelRead(Client.java:224)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at org.gms.net.packet.logging.InPacketLogger.channelRead(InPacketLogger.java:25)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:289)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: Attached Guest Language Frames (1)
2026-06-10 08:48:52.467 ==> 任务异常: 2022468java.lang.NullPointerException: Cannot invoke "org.gms.provider.Data.getChildByPath(String)" because "data" is null
2026-06-10 08:48:59.546 ==> 任务异常: 2022468java.lang.NullPointerException: Cannot invoke "org.gms.provider.Data.getChildByPath(String)" because "data" is null
2026-06-10 08:48:59.871 ==> 任务异常: 2022468java.lang.NullPointerException: Cannot invoke "org.gms.provider.Data.getChildByPath(String)" because "data" is null
2026-06-10 08:49:00.212 ==> 任务异常: 2022468java.lang.NullPointerException: Cannot invoke "org.gms.provider.Data.getChildByPath(String)" because "data" is null
2026-06-10 08:49:01.017 ==> 任务异常: 2022468java.lang.NullPointerException: Cannot invoke "org.gms.provider.Data.getChildByPath(String)" because "data" is null
2026-06-10 08:49:50.629 ==> 任务异常: 2022468java.lang.NullPointerException: Cannot invoke "org.gms.provider.Data.getChildByPath(String)" because "data" is null
自动捡物使用后,一段时间就报错,用不了了,再次使用也无法关闭,一直提示,[全屏捡物]功能已开启,我好像账号发不了本地截图
这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止。
尘世摇篮 发表于 2026-6-10 08:52
2026-06-10 08:38:19.966 [ WARN] ==> Player: 尘世摇篮 maxDistanceSqToMob: 242965.0 thresholdSq: 20000 ...
简单说一下可能的问题:某一个或者有一些有问题的物品被配制在了怪物掉落中,如果去哪都出问题,有可能是全局掉落中配制了有问题的物品,如果个别地区才出问题,那就是那片区域的怪物掉落有问题。解决方法1·找出有问题的物品并修复,2·修改优化服务端源码,3·找出有问题的物品,然后删除这个物品的掉落配制。js脚本本身应该是没问题的。