关于PGMMVJH的SteamWorksApi支持
关于PGMMVJH的SteamWorksApi支持
这个Pixel Game Maker MV Player Open Source Edition JHVersion是根据Pixel Game Maker MV Player Open Source Edition修改而来的版本,该版本添加了成就相关的Steamworks API的jsb绑定支持.
下载替换
编译好的版本下载 PGMMVJH/releases
- 解压下载的
PGMMVJH.zip压缩包 - 打开
Pixel Game Maker安装目录,使用player-win文件夹替换Pixel Game Maker安装目录中的player-win文件夹。 - 检查
player-win文件夹中的steam_appid.txt,修改为需要调试的游戏id,没有可以填480用于测试 - 打开
Pixel Game Maker安装目录的resource文件夹,使用debugMenuRuntime.zip和runtime.zip文件替换官方的文件
480是官方案例中用于测试的游戏id
使用Steamworks js Api
所有api均在Agtk.steam对象下,详情请看github中的调用文档SteamInterfaceDesc
初始化
在Pixel Game Maker对象面板创建一个新的对象或者使用现有对象,添加其他运行动作。
选择执行脚本,填入下面的JS代码。
// 查看您的可执行文件是否通过 Steam 启动 (可以忽略这一步)
var steamAppId = 2692950;
Agtk.log("[STEAM]steam初始化情况:" + Agtk.steam.steamapi_restarappifnecessary(steamAppId)); // 输出: true 或 false
// 执行初始化
var result = Agtk.steam.steamapi_init();
Agtk.log("[STEAM]steam初始化情况:" + result);
触发成就解锁
和上一步步骤相同,使用下面的JS代码。
Agtk.log("[STEAM]准备解锁成就");
var achievementName = "NEW_ACHIEVEMENT_1_3";
var unlockResult = Agtk.steam.steamuserstats_unlockedachievement(achievementName);
if(unlockResult && Agtk.steam.steamuserstats_storestats()){
Agtk.log("[STEAM]解锁成就" + achievementName + "成功");
}else{
Agtk.log("[STEAM]解锁成就" + achievementName + "失败");
}
使用调试参数单独进行调试
- 在steam中找到
Pixel Game Maker的安装目录 - 选择在安装目录下的
player-win文件夹中的player.exe创建桌面快捷方式 - 找到项目的目录下的
test.json文件例如C:/Users/Jerry/Documents/PGMMV/Project2/data/test.json - 现在修改刚刚创建的快捷方式属性中的目标属性如下所示
"I:\SteamLibrary\steamapps\common\Pixel Game Maker\player-win\player.exe" 0 C:/Users/Jerry/Documents/PGMMV/Project2/data/test.json zh_CN 0该方式可以脱离
Pixel Game Maker调试Steamworks api
每次有修改需要在Pixel Game Maker中点击试玩游戏(F5)等待Pixel Game Maker试玩窗口打开后关闭再启动快捷方式才能使用最新修改调试
本方式仅为调试Steamworks api的无奈之举,直接在Pixel Game Maker中使用试玩游戏(F5)无法测试Steamworks api
编译指南
拉取github中的代码 JHPGMMV 下载SteamWorks SDK
- 把压缩包解压后的
sdk/public/steam复制到项目的Player/Classes/External目录 - 把压缩包解压后的
sdk/redistrbutable_bin复制到项目的Player/Classes/External/steam目录 - 在项目的
Player/Classes/External/steam下创建steam_appid.txt文件 - 修改上一步创建的
steam_appid.txt文件,填入你的steam游戏ID,没有可以填480用于测试
480是官方案例中用于测试的游戏id
SteamworksSDK访问协议Steamworks SDK Access Agreement
更多版本的下载链接steamworks sdk downloads list
打开install目录,使用build_player_buildCache.bat编译,成功后会在同目录下创建三个文件夹player、debugMenuRuntime、runtime
按照官方说明,替换编辑器中的文件夹.
编译文件替换官方版本player.exe
- 打开
Pixel Game Maker安装目录,使用player文件夹里面的内容替换Pixel Game Maker安装目录player-win中的内容。 - 分别压缩上一步编译生成的
debugMenuRuntime和runtime目录生成debugMenuRuntime.zip和runtime.zip文件 - 打开
Pixel Game Maker安装目录的resource文件夹,使用debugMenuRuntime.zip和runtime.zip文件替换官方的文件
项目的由来
vueko花钱让我做一个pgmmv的成就系统,我制作了两套方案,其中一套经过商量决定开源。
购买游戏支持vueko Welcome to Planet E1d0r4d0!
我的discord discord