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

Project1

 找回密码
 注册会员
搜索
查看: 512|回复: 9
打印 上一主题 下一主题

[原创发布] RpgMakerMv接入steam成就的若干问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
7 小时
注册时间
2025-2-6
帖子
5
跳转到指定楼层
1
发表于 2025-2-7 22:47:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 波鲁克 于 2025-2-19 00:03 编辑

最近做了点mv接入steam成就的工作,遇到了不少问题。在此记录,以备其他用户参考。

在论坛搜索steam成就的问题,大概会找到几个帖子,这里我贴两个。我主要是参考第一个。
https://rpg.blue/thread-490052-1-1.html
https://rpg.blue/thread-484006-1-1.html

先介绍下用到的几个文件和它们的作用。有些工作我并没有做过,因此说法不一定准确。

1 steamSdk。毫无疑问,接入steam成就肯定得调用steamSdk的api。

2 GreenWorks.js。steamSdk一般需要用c++调用。但有些游戏不是c++写的,,比如rm用js。
这些语言调用c++库需要做点额外的工作,greenworks的作用就是如此。它是为js开发的游戏准备的。

3 OrangeGreenWorks.js 。它是对greenworks做了一层封装。greenworks对rm开发者还是不够直观。
orangeGreenWorks把steam的api暴露出来,无论是使用还是阅读,它的风格与rm默认脚本类似。

4 nw.js。nw.js可以把前端项目打包成pc端的应用程序,据说rmmv本身就是nw.js做的。
上面两个帖子提到的下载nw.js库应该是用于生产环境的。不要下载sdk版本是用于开发者调试的。

接下来进入正题。接入成就过程中遇到了什么问题,以及是如何解决的。

1 按上面的文章下载相应的文件,放到正确的文件夹内。按f8打开控制台看看有没有报错。
如果你是在2025前后这个时间点,使用上面两个帖子提供的下载链接的文件,十有八九是要报错的。
而且错误提示也不直观,网上搜到资料很少。后来翻github上greenworks的页面,才知道greenworks
对nw.js和steamSDK的版本有要求。必须根据nw.js的版本来找对应的greenworks和steamSDK。

如何确定nw.js版本?测试游戏的时候按f8打开控制台 console页面下输入process.versions即可查看nw.js版本


查看rm使用的nw.js版本之后,根据github上greenworks对应的版本信息下载正确的greenworks和steamsdk。实际上最新的steam的sdk搜一下就能在官网上下载,但是老版本的下载颇费周折。

这一步之后控制台不再报错。我个人猜测,说不定可以使用其他版本的nw.js版本的文件替换发布之后游戏文件夹的文件但是我没有尝试过。

2 游戏打包发布之后,必须上传到steam,成就才能触发。电脑安装steam客户端,使用本地工程测试时无法触发成就。



因为成就需要steam的appId,本地工程不可能有这个id。至于怎么使用orangegreenworks的api,我以后再补充。熟悉默认
脚本,这个文件一看便知。

3 如果前面没有出现错误,到这里已经可以触发steam成就了。不过这里还有个问题。全屏模式下steam成就不会弹出。
这时候你需要打开工程文件夹下package文件 加入两个浏览器命令参数
"chromium-args": "--in-process-gpu",
文件会变成这样



以上虽然不能完美解决弹窗问题,但是接入的成就系统足够使用了

评分

参与人数 2+2 收起 理由
梦路 + 1 塞糖
葱葱 + 1 我很赞同

查看全部评分

Lv4.逐梦者

梦石
4
星屑
1091
在线时间
246 小时
注册时间
2016-2-16
帖子
27
2
发表于 2025-2-17 16:59:53 | 只看该作者
请问第一个帖子没有写游戏内触发成就的插件指令或者脚本
可以求一下吗?没有搞懂
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
7 小时
注册时间
2025-2-6
帖子
5
3
 楼主| 发表于 2025-2-18 00:36:13 | 只看该作者
梦路 发表于 2025-2-17 16:59
请问第一个帖子没有写游戏内触发成就的插件指令或者脚本
可以求一下吗?没有搞懂 ...

打开orangegreenworks直接翻看源码 函数名写的挺清楚的 要不就是打开那个帖子的里oranggreenworks的GitHub链接,里面有api的用法 你翻译一下就知道各个函数是干什么用的了
具体用法我给你举个例子
事件编辑器里有一个命令叫脚本,和插件命令这个命令在一组
打开事件编辑器脚本命令出现一个对话框,这样写
OrangeGreenworks.activateAchievement('achievementName')
achievementName换成你在steam设置里的成就名括号和引号一定换成英文的。
其他api和的用法和上面那个类似

评分

参与人数 1+1 收起 理由
梦路 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
4
星屑
1091
在线时间
246 小时
注册时间
2016-2-16
帖子
27
4
发表于 2025-2-18 11:46:00 | 只看该作者
本帖最后由 梦路 于 2025-2-18 11:47 编辑
波鲁克 发表于 2025-2-18 00:36
打开orangegreenworks直接翻看源码 函数名写的挺清楚的 要不就是打开那个帖子的里oranggreenworks的GitHu ...


感谢解答!

如果只是想要触发成就,是不是这样设置就可以了?


另外nw版本还是不太懂,这样可以使用第一个帖子给的组合包吗?
也就是nwjs-v0.32.4版本,GreenWork不太清楚
对应的steamSDK版本可以用1.5吗?

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
7 小时
注册时间
2025-2-6
帖子
5
5
 楼主| 发表于 2025-2-19 00:00:38 | 只看该作者
梦路 发表于 2025-2-18 11:46
感谢解答!

如果只是想要触发成就,是不是这样设置就可以了?

触发成就那样可以
你的是mv吗?我的mv已经是steam最新版本了 nw的版本只是0.29。不知道你的为什么是0.32
我的建议是,你最好看看github上orangegreenwork支持的的版本 这几个文件版本最好对的上
你根据github上greenwork页面的信息,不同版本的greenwork对应不同版本的nw和steamsdk

评分

参与人数 1+1 收起 理由
梦路 + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
4
星屑
1091
在线时间
246 小时
注册时间
2016-2-16
帖子
27
6
发表于 2025-2-19 10:56:58 | 只看该作者
波鲁克 发表于 2025-2-19 00:00
触发成就那样可以
你的是mv吗?我的mv已经是steam最新版本了 nw的版本只是0.29。不知道你的为什么是0.32
...

是mv,版本1.61,也可以用steam的1.63
主要是主楼提到的第一个帖子 https://rpg.blue/thread-490052-1-1.html
里面提供的nw版本就是0.32
总之我再研究一下吧,感谢解答!

部署游戏→用nw替换→用对应版本SDK上传steam→steam启动游戏,如果没有问题就可以触发成就了,是这样的流程吧?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
7 小时
注册时间
2025-2-6
帖子
5
7
 楼主| 发表于 2025-2-19 23:16:24 | 只看该作者
梦路 发表于 2025-2-19 10:56
是mv,版本1.61,也可以用steam的1.63
主要是主楼提到的第一个帖子 https://rpg.blue/thread-490052-1-1. ...

实际上你的steamsdk应该是先放到工程文件夹里再部署
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
4
星屑
1091
在线时间
246 小时
注册时间
2016-2-16
帖子
27
8
发表于 2025-2-20 11:51:19 | 只看该作者
波鲁克 发表于 2025-2-19 23:16
实际上你的steamsdk应该是先放到工程文件夹里再部署

好的
是指把sdk的组件放到lib文件夹里,然后和greenwork一起放到工程目录下后再部署吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
7 小时
注册时间
2025-2-6
帖子
5
9
 楼主| 发表于 2025-2-20 17:04:47 | 只看该作者
梦路 发表于 2025-2-20 11:51
好的
是指把sdk的组件放到lib文件夹里,然后和greenwork一起放到工程目录下后再部署吧 ...

对,这一步参考上面给出的两个链接就行

评分

参与人数 1+1 收起 理由
梦路 + 1 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
40
在线时间
4 小时
注册时间
2025-2-21
帖子
15
10
发表于 昨天 19:06 | 只看该作者
参考到了感谢各位大佬
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-3-6 03:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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