设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: guoxiaomi

[原创发布] 【RGSOS】基于 SAE 的网络插件 v1.0

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2129
在线时间
133 小时
注册时间
2016-8-13
帖子
42
发表于 2020-3-25 13:13:17 | 显示全部楼层
发现了几个问题,不知道是不是只有XP才会出现的问题,就是我用XP打开游戏的话,要等标题画面出现后在等几秒(应该是在连接服务器),如果没等个几秒钟在开始游戏的话进入地图后是看不到别人的。这个时候在打字发出去的话就会出现我之前截图的那个错误。

点评

印象中打字是可以的,只是发不出去?此外,控制台的输出里会明确说明当前的连接状态  发表于 2020-3-25 15:21
登陆有延迟,你可以使用 $net.online? 判断并阻止玩家提前进入地图  发表于 2020-3-25 15:17
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2129
在线时间
133 小时
注册时间
2016-8-13
帖子
42
发表于 2020-3-26 10:08:53 | 显示全部楼层
不知道为什么,在标题画面使用自己定义的全局变量或者使用$net.online?(应该是与$net相关的脚本),在点击继续游戏进入存档画面的时候会出现报错。
)7W2BZINWNENF_F4~7$42ST.png

点评

我可能知道原因了……  发表于 2020-3-26 15:50
这种报错是因为方法main在无限递归的调用了自己,范例有此BUG吗?  发表于 2020-3-26 15:35
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

 楼主| 发表于 2020-3-26 15:45:16 | 显示全部楼层
本帖最后由 guoxiaomi 于 2020-3-26 17:09 编辑
66RPG梦 发表于 2020-3-26 10:08
不知道为什么,在标题画面使用自己定义的全局变量或者使用$net.online?(应该是与$net相关的脚本),在点击 ...

我对Scene_Title进行了如下的改动,并且复现了此BUG,注意19行的super:
捕获.PNG

因为XP没有Scene_Base,为了让每个场景里都会跟随着 $net.update,我直接给所有的以 Scene_ 开头的类修改了对应的 main 和 update 方法,但是这样做是存在一个问题的:
上图中的 Scene_Title 继承自 Scene_Title_Base,从而导致两个类里的 main 和 update 方法都被修改了,但是真实的游戏里,并不会有 $scene = Scene_Title_Base.new(...) 这段代码,
所以 Scene_Title_Base 作为不会被实例化的类应该被排除在外。

你需要修改 scene_base_net.rb 里的内容,在 14 行后加入下面的代码以排除不会被实例化的类。比如 Scene_File:
  1. All_Scenes -= [Scene_File]
复制代码

你可以 print 出 All_Scenes 然后看看里面有哪些类。
或者可以去寻找在 main 和 update 中使用了 super 继承父类方法的类,把这些类排除掉。(不推荐)
如果你的脚本里有其他场景类,但是不以 Scene_ 开头,你也需要手动把这些场景类加入到 All_Scene 里,否则会导致玩家处于这个场景时,网络数据不被更新,如果持续时间较长则会被服务器断开连接。

解释一下为什么和默认脚本兼容,这是因为在默认脚本里只有 Scene_File 和 Scene_Save / Scene_Load 有继承关系,而在继承的时候并没有使用 super 调用父类的 main 和 update 方法。实际上这两个方法甚至没有定义。

顺便多谢你的提醒,我已经更新了gitlab上的工程,排除掉 Scene_File 类。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2129
在线时间
133 小时
注册时间
2016-8-13
帖子
42
发表于 2020-3-26 21:40:00 | 显示全部楼层
本帖最后由 66RPG梦 于 2020-3-26 21:49 编辑
guoxiaomi 发表于 2020-3-26 15:45
我对Scene_Title进行了如下的改动,并且复现了此BUG,注意19行的super:


范例好像并没有这个问题,好奇怪

点评

嗯,原因我在上面的帖子里说明了  发表于 2020-3-26 23:04
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4471
在线时间
1053 小时
注册时间
2013-3-28
帖子
390

开拓者

发表于 2021-8-2 21:37:48 | 显示全部楼层
请教一下不用的时候怎么停止使用云豆(

点评

不知道……要不你去SAE上发个工单问问,他们客服态度很好的,啥问题都会认真回答  发表于 2021-8-2 21:56
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
520
在线时间
68 小时
注册时间
2023-1-27
帖子
26
发表于 2023-3-13 20:03:32 | 显示全部楼层
好棒的插件,真羡慕会做插件的人儿~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
520
在线时间
68 小时
注册时间
2023-1-27
帖子
26
发表于 2023-3-13 20:04:43 | 显示全部楼层
有个小问题,按B站的教程做完后,发现游戏不能全屏了应该咋办?

点评

按说网络功能和全屏应该不冲突。你试一下直接删掉后台运行的那个脚本看看是否能全屏。如果可以就换别的后台运行脚本。  发表于 2023-3-14 11:19
是不是我用了什么有问题的脚本屏蔽了全屏功能?  发表于 2023-3-14 11:17
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
520
在线时间
68 小时
注册时间
2023-1-27
帖子
26
发表于 2023-3-16 19:43:45 | 显示全部楼层
15217320790 发表于 2023-3-13 20:04
有个小问题,按B站的教程做完后,发现游戏不能全屏了应该咋办?

我猜可能是因为聊天框是ENTER呼出的,所以有点关联?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
101
在线时间
12 小时
注册时间
2020-3-7
帖子
11
发表于 2023-4-11 17:24:47 | 显示全部楼层
测试范例时显示"console.rb"第18行发生Errno::EBADF Bad file descriptor-CONIN$,要怎么解决

点评

什么操作系统?干脆删掉这一行吧  发表于 2023-4-12 00:56
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
101
在线时间
12 小时
注册时间
2020-3-7
帖子
11
发表于 2023-4-13 20:35:59 | 显示全部楼层
子叶子叶 发表于 2023-4-11 17:24
测试范例时显示"console.rb"第18行发生Errno::EBADF Bad file descriptor-CONIN$,要怎么解决 ...

谢谢!已经解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-19 07:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表