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

Project1

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

[有事请教] (已解决)[MZ]请教一下设置Steam成就的方法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4433
在线时间
1312 小时
注册时间
2022-7-25
帖子
65

极短23参与极短22参与

跳转到指定楼层
1
发表于 2023-7-8 17:40:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Hamstachio 于 2023-7-9 11:13 编辑

想给MZ做的游戏联动一下steam,但是鼓捣了半天似乎都没成功。
想请教一下该怎么弄。

■环境:
macOS Monterey i7芯片(本地开发用)
Windows 10 64bit(云服务器,测试用)

■想要做的事:
通过第三方插件使用greenworks来实现激活Steam成就的功能

■文件配置:
第三方插件用的是下面这个帖子里一个叫【Cyclone-Steam】的插件,但是这个插件没有使用说明,所以也不知道做的对不对。
但是代码和OrangeGreenworks看起来差不多,所以用法应该也是类似的
https://forums.rpgmakerweb.com/i ... ugin-for-mz.130019/

同时也参考了坛里这两个帖子:
https://rpg.blue/thread-490052-1-1.html
https://rpg.blue/thread-484006-1-1.html

然后汇总了各方的做法,最终配置如下:

根目录里放了greennworks.js和steam_appid.txt,lib文件夹里放了greenworks的prebuilt binary(也试了不同版本,这个之后说)
greennworks.js和index.html里面的代码没有修改(上面的帖子里有说要改,但是做法不太一样所以我暂时没改)

■状况:
1. 上传到Steam后,在Mac/Windows上测试时均无法触发成就。
2. 本地测试打开index.html因为没有require导致插件无法正常工作(nodejs环境问题),不知道要怎么在能运行的环境下看console log
    this.initialized = false;
    this.initialize('CycloneSteam');
    super.register({});
    if (typeof require !== 'function') { ← 到这一步就return了,导致用index.html启动没法正常初始化greenworks
      return;
    }

    try {
      this.greenworks = require('./greenworks');
    } catch (e) {
      this.greenworks = false;
      console.error('Greenworks failed to load. Make sure you copied all files from the Steamworks SDK to the right folders;');
      console.log('https://makerdevs.com/plugin/cyclone-steam');
      console.error(e);
      return;
    }
有没有大佬能教教我怎么测试?

■尝试过的办法:
很多地方都提到nw版本的问题,我试了两种办法:
第一种,用这个帖子里给的版本
greenworks v0.14.0
NW.js v0.32.4
https://rpg.blue/thread-490052-1-1.html
但是替换NW版本的那一步,换完以后运行会出现以下报错。原因不明。
「Unexpected token ?」
把RPGMAKER根目录里的NW版本换掉也是一样的。
然后跳过替换NW的步骤直接上,不跳成就。

第二种,我现在MZ的版本号是v1.7.0,网上搜了下对应的NW版本好像是v0.48.4
然后我下了能对应这个版本的greenworks(v83),试了下仍旧是不跳成就。
在一楼大佬的帮助下现在是搞清楚报错的内容了,似乎是找不到greenworks-win64.node
The specified procedure could not be found.
但是文件本身是存在的,所以应该是版本问题导致的读取失败。

■想要解决的问题:
1. (已解决)怎么在能运行nodejs的环境里debug greenworks相关的操作?至少能看到console log
2. NW的版本怎么替换?为什么会有「Unexpected token ?」的问题?Node版本问题?
3. 还有没有更好的办法(别的插件之类的)能让MZ联上Steam的成就系统?

我已经被这个问题搞得神智不清了所以写得有点乱,请大佬指点。

Lv4.逐梦者

梦石
0
星屑
7294
在线时间
475 小时
注册时间
2021-12-4
帖子
514
2
发表于 2023-7-8 23:09:17 | 只看该作者
1. 怎么在能运行nodejs的环境里debug greenworks相关的操作?至少能看到console log
SceneManager.onKeyDown = function(event) {
    if (!event.ctrlKey && !event.altKey) {
        switch (event.keyCode) {
            case 116: // F5
                this.reloadGame();
                break;
            case 119: // F8
                this.showDevTools();
                break;
        }
    }
};

SceneManager.reloadGame = function() {
    if (Utils.isNwjs()) {
        chrome.runtime.reload();
    }
};

SceneManager.showDevTools = function() {
    if (Utils.isNwjs() && Utils.isOptionValid("test")) {
        nw.Window.get().showDevTools(); // 注意这一行
    }
};
注意到上面的函数是怎么在按下F8的情况下showDevTools的,直接调用倒数第三行或许就可以了?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4433
在线时间
1312 小时
注册时间
2022-7-25
帖子
65

极短23参与极短22参与

3
 楼主| 发表于 2023-7-9 00:19:24 | 只看该作者
小秋橙 发表于 2023-7-8 23:09
1. 怎么在能运行nodejs的环境里debug greenworks相关的操作?至少能看到console log
SceneManager.onKeyDow ...

感谢!这个debug的问题解决了!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4433
在线时间
1312 小时
注册时间
2022-7-25
帖子
65

极短23参与极短22参与

4
 楼主| 发表于 2023-7-9 10:34:55 | 只看该作者
最新进展,版本好像对上了,greenworks能运行了,
但是又开始报下面这样的错误:
Steam initialization failed. Steam is not running.

我明明是从steam启动的,不知道为什么显示steam启动失败
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4433
在线时间
1312 小时
注册时间
2022-7-25
帖子
65

极短23参与极短22参与

5
 楼主| 发表于 2023-7-9 11:13:51 | 只看该作者
自己研究了一下搞定了w
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
4980
在线时间
858 小时
注册时间
2019-11-7
帖子
361
6
发表于 2024-7-24 09:54:37 | 只看该作者
请问一下mz中大佬调用steam成就的代码是什么     是这个吗:ACH ADD My achievements  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 03:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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