You can do that and use a script call to check if the player owns the DLC, but I prefer to keep the DLC content all on separate files and make the game load them when they exist.
OrangeGreenworks - Steam Integration with Achievements and Time Log
● ARCHIVED · READ-ONLY
-
-
Hello, I'm new here but I'm currently trying to get my game working onto Steam. It boots fine in Windows and Linux (at the moment), but getting it running through Mac OS is not working.
I've just tried running unmodified files (exported straight from MV) and the game runs fine. However, replacing the files from the correct version of nwjs forces the game to error out. Opening it directly through Steam doesn't even give an error, I had to manually open the game to show me the error.
- Crashed Thread: 0 Dispatch queue: com.apple.main-thread
- Exception Type: EXC_CRASH (SIGABRT)
- Exception Codes: 0x0000000000000000, 0x0000000000000000
- Exception Note: EXC_CORPSE_NOTIFY
- Application Specific Information:
- abort() called
- Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
- 0 libsystem_kernel.dylib 0x00007fff6959423e __pthread_kill + 10
- 1 libsystem_pthread.dylib 0x00007fff6964ac1c pthread_kill + 285
- 2 libsystem_c.dylib 0x00007fff694fd1c9 abort + 127
- 3 io.nwjs.nwjs 0x0000000107ff8d9a main + 314
- 4 libdyld.dylib 0x00007fff69454ed9 start + 1
- Thread 0 crashed with X86 Thread State (64-bit):
- rax: 0x0000000000000000 rbx: 0x000000010f8bd5c0 rcx: 0x00007ffee7c07af8 rdx: 0x0000000000000000
- rdi: 0x0000000000000307 rsi: 0x0000000000000006 rbp: 0x00007ffee7c07b30 rsp: 0x00007ffee7c07af8
- r8: 0x00000000000130a8 r9: 0x0000000000000000 r10: 0x0000000000000000 r11: 0x0000000000000206
- r12: 0x0000000000000307 r13: 0x00007fc92950df70 r14: 0x0000000000000006 r15: 0x000000000000002d
- rip: 0x00007fff6959423e rfl: 0x0000000000000206 cr2: 0x00007fff9bfb3188
- Logical CPU: 0
- Error Code: 0x02000148
- Trap Number: 133
I'm not a Mac user so I apologize as I am a little confused on how to progress from here. I'm not sure what files specifically are to be replaced due to the different structure of Mac OS programs, so I'd like to know if there are a need of different instructions/troubleshooting for resolving this for Mac OS Steam programs. Thank you in advance. -
The latest version of nw.js will error out if you make the mac version on a windows computer. There's a simple fix, but I'll need to check it on my work mac to be able to write instructions and I'll probably not go to the office for another week :/
Meanwhile, you can try using the previous greenworks.js version and it's corresponding nw.js version.
A short explanation of the problem, in case you're familiar with this sort of thing:
nw.js now has a folder called Version that should be able to store multiple version of it's core files. Outside this folder is a symbolic link to the correct version that should be used. Those symbolic links become invalid when you download it on windows. Replacing the symbolic link with the files from inside the Versions folder should fix it. -
Hi, what happens if I only a black screen after I try to test my nw.exe file? dunno what kind of info do you need to help me here.
-
Hello Hudell,
Since you mentioned that this plugin also supports Steam DLCs, would it be possible to use this in some kind of "purchase per chapter" setup wherein the user needs to purchase succeeding chapters after playing the first chapter? Technically, potential next chapters are DLCs, right?
Thank you! -
Does your plugin work with more recent versions of Greenworks and node.js? (Greenworks v.0.14 and nwjs v0.33.3)
When I try your plugin it gives me the "Greenworks failed to initialize.". It seems like the steam sdk (v.1.42) files loaded correctly, but after that it doesn't seem to work. It passes your try/catch at line 110, but fails the $.greenworks.initAPI(). I'm not familiar with greenworks and the steam sdk, so I have no idea what the initAPI method does (and it seems to not be define in the greenwork.js, so I'm assuming it's a method defined in the steam api?).
Any help would be greatly appreciated. -
I don't know what issue you're running into, but at least in RPG Maker version 1.5.2 I can confirm nwjs v0.33.3 does work if installed correctly.Does your plugin work with more recent versions of Greenworks and node.js? (Greenworks v.0.14 and nwjs v0.33.3)
When I try your plugin it gives me the "Greenworks failed to initialize.". It seems like the steam sdk (v.1.42) files loaded correctly, but after that it doesn't seem to work. It passes your try/catch at line 110, but fails the $.greenworks.initAPI(). I'm not familiar with greenworks and the steam sdk, so I have no idea what the initAPI method does (and it seems to not be define in the greenwork.js, so I'm assuming it's a method defined in the steam api?).
Any help would be greatly appreciated. -
@MushroomCake28 : Not sure if anyone else can confirm, or if you've seen my post from the last page, but the best compatibility I had was with NWJS v22.3. Any later versions of NWJS that I tried running, launched the game fine, but didn't trigger the achievements. I am not sure if the issue was at Orange Greenworks end, or at Greenworks, or at NWJS, or the combination of all.
-
Yes, I use Greenworks v.0.14 and nwjs v0.33.3 in my own game. Never had any issue with it.
-
-
If you're not logged on Steam, the game can't find (nor update) your steam profile, so it won't work.Also, is it supposed to fail the greenworks initialization if not on steam? Or is it supposed to succeed?
-
@TWings Alright, it's just this was on @Hudell 's blog:
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.
So I'm not sure if it only refers to the fact that it won't crash (won't initialize greenworks), or that it should simulate a steam connection in the sense that it says "greenworks initialized" but that it won't do anything besides that.
Aslo, are stuff placed correctly in my folders? (see my above post) -
I think steam_appid.txt goes inside the www folder as well.
-
Okay, so with the steam.appid.txt inside the www folder, the console still gives me this:
Spoiler
Note that it did read the steam dll assets correctly (otherwise it would have thrown the error from line 115 or something like that). Also, this is without uploading my build to steam, so maybe this error is normal. I will retest after uploading the build to steam.
EDIT: Just want to add that my rpg maker core is on version 1.4, but I don't think that's relevant here right? -
Checked the code of the plugin here. It's okay to show that it failed to initialize if steam is not opened. It'll run in simulation mode instead.
-
@Hudell Thanks for your help! Now everything works perfectly!
If you're okay with it, I would like to add compatibility between my free public achievement plugin and your OrangeGreenwork plugin so that when someone unlocks an internal achievement in rpg maker mv (via my plugin), it will automatically unlock the plugin on steam. Furthermore, I would like to make a tutorial on how to set everything (Because I'm sure I'm not the only that was confused by steam api and greenwork lol) on rpg maker mv, including the steam sdf, greenwork, nwjs, your plugin and my achievement plugin. -
Sure!
Glad it's working now. -
Has this plugin been updated to work with steam workshop?
Because greenworks recently added support for it -
You can access the greenworks object and call any of their methods withCode:
OrangeGreenworks.greenworks -
Hi, I have a problem.
I used Virtual Box to wrap the www folder into a file, and it still triggers steam's achievements, this is great. But it no longer needs to use steam to run.
Usually when you start the game, you need to open the steam, but after wrapping the WWW folder into a single file, you can open the game from anywhere, even without steam. How can I solve this problem?