Orange Greenworks
对于steam游戏开发,成就功能是必不可少的。
而Rpgmaker系列无自带的插件或指令实现,且多数游戏作者并无熟练的脚本编写能力,所以~~
我们要使用外部插件----Orange Work。
这里,我对orange work进行研究,并和大家一起分享使用方式。(啊,只对部分 重点进行翻译划线描红)
插件地址:http://hudell.com/blog/orangegreenworks/
Configuring the Plugin:配置
If you simply put the OrangeGreenworks plugin on your project, it will simulate a steam connection so you don’t get any errors while playtesting, even if you don’t have greenworks properly configured.(并不是放入就行~~~~~)
Configuring Greenworks:配置greenwork
First of all, download the latest version of Greenworks (last time I checked the most recent version was 0.10.0). You need to pick the nwjs version (unless you’re using Electron).
Make sure to download it for the right OS and CPU (most of time you’ll use win-x64).
You can also download all 5 of them if you want, as the files will have different names and only the right one will be loaded.
首先下载最新版本的GreenWorks
你需要选择nwjs的版本(你也可以使用Electron;他们都是构建跨平台应用的玩意~~过多的东西不延伸了)
确保匹配当前你使用的电脑版本,64/32
(楼主下载的是greenworks-v0.14.0-nw-v0.31.5-win-x64.zip;如果以后有空做教程,就使用这个版本~~~)

You’ll get a zip file with a folder called “lib” and a file called greenworks.js. Put both of them on your project’s main folder.
The JS file is the same regardless of which zip you downloaded, so you only need one copy if you downloaded multiple zips.
解压后你会获得:
1.lib文件夹; 2.greenwork.js
将他们全部放入项目的主目录下,主目录下,主目录下,
js无论哪个版本都是一样的,神奇~~~~~
Next, download the version of the Steamworks SDK that your greenworks lib was compiled for (the greenworks download page should say what version it is. For greenworks 0.10, the best Steamworks SDK version is 1.40). You can find it for download on the steamworks site, if you log in with your steam account there.
然后下载与greenworks相匹配的steamworks SDK。
上边那个版本适用于Steamworks SDK 1.42
补充:
- Greenworks complied for for NW.js v0.31.5, v0.32.4, v0.33.3 and Electron v3.0.9, v4.0.0-beta 7 with Steamworks SDK 1.42
On the steamworks SDK files, there will be a folder called redistributable_bin. Open it and copy the steam_api.dll file.
Paste it inside the lib folder that you put on your project on the previous step.
在steamSDK文件夹中,有一个玩意儿叫做redistributable_bin;
打开它,拷贝steam_api.dll
粘贴到项目的lib文件夹中
With the newer versions of greenworks, there are several files that you have to copy and some that you have to rename, like this (you can ignore any OS/CPU you don’t care about):
传新版本的greenworks,有一系列需要你拷贝和重命名的文件,如下

Next, go to RPG Maker MV and deploy your game to any folder you want.
接下来,前往RMM展开你的游戏到任意文件夹。
Go to the deployed folder and make sure that the lib folder and greenworks.js file are inside the www folder.
Outside the www folder, delete everything except for the package.json file. We will replace those deleted files by a newer version of nw.js later.
在文件夹中确保lib文件夹与green.js在www文件夹下;
在www文件夹下,删除全部东西,除了package.json
我们将用nwjs创建那些删掉的东西(nwjs. I like it)
Now create a file called steam_appid.txt on the same folder of the deleted files and put your game’s appid inside of it. You can find this ID on the Steamworks page (it usually ends with a zero). This file is only needed for testing purposes, when you send your game to steam’s servers, you don’t need to include it.
现在,在删除掉东西的那个文件夹下,创建一个steam_appid.txt ,在其中写入游戏的appid.
appid可以在你的开发者页面找到(如果你购买了的话)
这只是为了测试使用,当你上传至steam服务器,你就不需要了
Finally, you’ll need to download nw.js. Once again, check the greenworks page to determine which version you should download (For greenworks 0.10, it is nw.js version 0.22.3). There are two different builds to choose from: Normal and SDK. In the SDK build, you can press the F12 key to open the console (good for testing). In the normal build, there’s no way to open the console (better for a final release). Place all of the nw.js files where you removed the old files earlier.
最后,你需要神器:nw.js
在greenwork页面确认你需要哪个版本,(对应上边的,0.31.5)
有两种创建方式可选择:通常方式与SDK
1.SDK,可以使用F12,便于调试
2.通常:利于最终发布
将nwjs的所有东西放入之前你删除掉东西的文件夹,是所有
Everything should be ready now. Run the nw file and your steam status should indicate that you’re running your game. If it is, then everything is working.
告一段落~~~~~
运行nw,你的steam状态会显示你在运行游戏,如果是的话,那么OK,可以接着向下看;
如果不是,back and check!!!
Available Commands:
划重点,敲黑板~~~~插件命令脚本
OrangeGreenworks.getScreenName();
This script call will return the Player’s Steam Screen Name. While playtesting, it will return “Play Test” instead.
You can set this name to a variable with the following script call:
返回玩家steam昵称,测试中显示play test
$gameVariables.setValue(VARIABLE_ID, OrangeGreenworks.getScreenName());
just replace VARIABLE_ID for the number of the variable that you want to store the name on.
用你想存储的值代替VARIABLE_ID
OrangeGreenworks.getUILanguage();
This script call will return the Player’s Steam UI Language. While playtesting, it will always return ‘english’.
返回steam界面语言,测试中显示“English”
OrangeGreenworks.getGameLanguage();
This script call will return the language that the player chose on the game settings. While playtesting, it will always return ‘english’.
获取游戏语言,测试中显示“English”
OrangeGreenworks.activateAchievement('ACHIEVEMENT_NAME');
This script call will activate an achievement called ACHIEVEMENT_NAME. While playtesting, it will only display a message on the console indicating that the achievement was activated.
召唤steam成就ACHIEVEMENT_NAME.
测试中,只显示成就激活
New commands (OrangeGreenworks 1.2):
新指令
$gameSwitches.setValue(SWITCH_ID, OrangeGreenworks.getAchievement('ACHIEVEMENT_NAME'));
Replace SWITCH_ID for the number of a switch in your game. This script call will check if the player already has the achievement called ACHIEVEMENT_NAME and change the value of the switch accordingly.
用游戏中的开关id代替SWITCH_ID
这条语句会在玩家完成成就ACHIEVEMENT_NAME和改变开关的值时执行。
OrangeGreenworks.clearAchievement('ACHIEVEMENT_NAME');
This script call will remove the achievement from the user. It’s useful when you’re testing the game, but probably won’t be needed for anything else.
移除成就,或许没什么用
(个人建议:成就二刷系统的建设,对疯狂成就党,比如完成XXX成就100次~~~~~)
$gameVariables.setValue(VARIABLE_ID, OrangeGreenworks.getNumberOfAchievements());
Replace VARIABLE_ID for the number of a variable in your game. This script will put in that variable the number of achievements that your game has.
用游戏中的变量值代替VARIABLE_ID。
这条语句将传值到你的成就
--------------------以下可以不怎么看了~~~~~---------------------------
最后,enjoy the designing~~~~~
Commands pending documentation (Already available in the plugin):
- activateGameOverlay
- isGameOverlayEnabled
- activateGameOverlayToWebPage
- isSubscribedApp
- getDLCCount
- isDLCInstalled
- installDLC
- uninstallDLC
- getStatInt
- getStatFloat
- setStat
- storeStats
Orange Greenworks的更多相关文章
- 利用Python【Orange】结合DNA序列进行人种预测
http://blog.csdn.net/jj12345jj198999/article/details/8951120 coursera上 web intelligence and big data ...
- orange pi pc 体验(一)
最近在淘宝上看到一款和树莓派差不多的卡片机,定价才99元,而且是国产的,忍不住入手了一个,就是orange pi 感兴趣的可以百度搜索下,深圳一个公司出的,不过资料比树莓派少了很多,论坛中人也没多少, ...
- 《Orange'S:一个操作系统的实现》笔记(一)
感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下. ...
- python数据挖掘orange
http://blog.csdn.net/pipisorry/article/details/52845804 orange的安装 linux下的安装 先安装依赖pyqt4[PyQt教程 - pyth ...
- Orange——开源机器学习交互式数据分析工具
Orange为新手和专家提供开源机器学习和数据可视化.使用大型工具箱交互式数据分析工作流程. 交互式数据可视化 Orange的全部内容都是关于数据可视化,帮助发现隐藏的数据模式,提供数据分析过程背后的 ...
- Orange Pi 3 GPIO 笔记
这是我写过的最水的文章 设备:Orange pi H6,Pi 3 引脚图: (使用Wiringpi 查看GPIO) +------+-----+----------+------+---+Orange ...
- 女子监狱第四季/全集Orange Is the New Black迅雷下载
女子监狱 第三季 Orange Is the New Black 3 (2015) 本季看点:该剧由<吉尔莫女孩>.<单身毒妈第一季>编剧杰姬·科恩的打造.由<护士当家& ...
- 女子监狱第一季/全集Orange Is the New Black迅雷下载
本季第一季 Orange Is the New Black 1 (2013) 看点:该剧描述主人公Piper Chapman(Taylor Schilling)在大学里结识了毒贩Alex(Laura ...
- java 泛型没有协变类型, 所以要重用extends, 但使用List<? extends Fruit> 可以是ArrayList<Fruit>()、ArrayList<Apple>()、ArrayList<Orange>(), 因此不能add元素进去
class Fruit{} class Apple extends Fruit{} class SubApple extends Apple{} class Orange extends Fruit{ ...
随机推荐
- WPF: 共享Grid宽度或高度的方法
需要两个属性: 1. Grid.IsSharedSizeScope="True" 2. SharedSizeGroup=名称 <StackPanel Margin=" ...
- 2017-11-4—LTspice
LTspice这个软件基本上上手就能用,没什么好说的. ADI的一些器件下载的spice文件可能是.cir的需要使用cadence的pspice软件打开后另存为.dir文件使用.(比如ad4096) ...
- jwt、session、oauth 异同
1,jwt 和session机制 首先jwt 和session机制 都是用户认证的,oauth 不是 session 的流程: 1.用户向服务器发送用户名和密码. 2.服务器验证通过后,在当前对话(s ...
- java遍历List中的map的几种方法
Student 类 public class Student { private String name; private int age; private int taller; public St ...
- 30、进程的基础理论,并发(multiprocessing模块)
我们之前基于tcp所做的通信都只能一个一个链接只有关闭当前链接时才能去链接下一个通信,这显然与现实情况不合.今天我们将来学一个新的概念进程,来做一个python多进程的并发编程.还会贴一个用json序 ...
- [LeetCode] Most Profit Assigning Work 安排最大利润的工作
We have jobs: difficulty[i] is the difficulty of the ith job, and profit[i] is the profit of the ith ...
- C语言面试题分类->宏定义
1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题. ...
- svn的简单学习与日常使用
- logback使用注意点1
logback中配置了springProfile(策略),因此在properties中只需要配置如下即可logging.config=./config/logback.xml //logback配置文 ...
- 腾讯云“智能+互联网TechDay”:揭秘智慧出行核心技术与创新实践
现如今,地面交通出行与大家的生活息息相关.在当前城市道路日益复杂和拥挤的情况下,如何保证交通出行的安全和便捷相信是每个人以及众多专家.科研工作者重点关注的问题. “智慧交通”系统是解决交通发展瓶颈的有 ...