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

Project1

 找回密码
 注册会员
搜索
楼主: guoxiaomi
打印 上一主题 下一主题

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

[复制链接]

Lv5.捕梦者 (版主)

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

开拓者

23
 楼主| 发表于 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:


因为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
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
22
发表于 2020-3-26 10:08:53 | 只看该作者
不知道为什么,在标题画面使用自己定义的全局变量或者使用$net.online?(应该是与$net相关的脚本),在点击继续游戏进入存档画面的时候会出现报错。

)7W2BZINWNENF_F4~7$42ST.png (6.44 KB, 下载次数: 22)

)7W2BZINWNENF_F4~7$42ST.png

点评

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

使用道具 举报

Lv3.寻梦者

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

点评

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
20
发表于 2020-3-25 11:26:10 | 只看该作者
66RPG梦 发表于 2020-3-25 10:58
这个插件可以设置成某些在地图上面玩家不能互相看见吗 ,
而且我想问一下那个自己写的脚本要添加在哪里,直 ...

之前看到那个教程我以为只有一个介绍流程,没看到后面还有一堆的几分钟的视频也是教程。
我去看看去了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
19
发表于 2020-3-25 10:58:37 | 只看该作者
本帖最后由 66RPG梦 于 2020-3-25 11:05 编辑

这个插件可以设置成某些在地图上面玩家不能互相看见吗 ,
而且我想问一下那个自己写的脚本要添加在哪里,直接写在脚本编辑器里的话,我开一个游戏是没问题的,开两个连在一起的时候就冲突了。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
18
发表于 2020-3-24 22:14:08 | 只看该作者
原来是要在自己的网站上面创建一个游戏,然后公钥和网站都输入自己的

评分

参与人数 1+1 收起 理由
guoxiaomi + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
17
发表于 2020-3-24 22:00:43 | 只看该作者
66RPG梦 发表于 2020-3-24 21:16
而且发现了一个问题,好像不创建那个user文件了

可以了,刚刚还不行的,不知道怎么的突然可以了。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
16
发表于 2020-3-24 21:16:07 | 只看该作者
66RPG梦 发表于 2020-3-24 21:14
http://qq1483088318.applinzi.com
网站可以了,但是游戏还是这样

而且发现了一个问题,好像不创建那个user文件了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
15
发表于 2020-3-24 21:14:29 | 只看该作者
66RPG梦 发表于 2020-3-24 20:40
不知道是不是这样设置的,公匙下面那个连接是输入云应用的HTTP域名吗

http://qq1483088318.applinzi.com
网站可以了,但是游戏还是这样
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2141
在线时间
133 小时
注册时间
2016-8-13
帖子
42
14
发表于 2020-3-24 20:40:31 | 只看该作者
guoxiaomi 发表于 2020-3-24 20:22
服务器设置好了吗?怀疑是没有设置服务端?Debug的窗口的输出截图发一下? ...

不知道是不是这样设置的,公匙下面那个连接是输入云应用的HTTP域名吗

7G_DF9G7I@F{FD9W[E0E{52.png (36.66 KB, 下载次数: 23)

7G_DF9G7I@F{FD9W[E0E{52.png

TRW)Z~D8EWMR~MGL91G1ST0.png (60.27 KB, 下载次数: 23)

TRW)Z~D8EWMR~MGL91G1ST0.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-28 03:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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