CHERRY'S PROFILE
Search
Filter
How to disable Alt + Enter?
Function to check whether the game is in fullscreen:
Disclaimer: I never used RMVX and I don't have any VX or VX Ace to test this with. I just wrote it out of my head using WinAPI and I cannot guarantee that it works.
@orochii: If you connect a Mac keyboard to a Windows PC, you can use F13-F15. There are also a few very very old keyboards with F13-F24, but I doubt anybody uses them anymore ^^ (Even Windows 8 uses F22-F24 for some internal trickery now) - However, I heard that Shift+Fx will create a F(x+12) keypress, but I never saw this actually happening... Still, it's better to use a key such as VK_EREOF ("Erase EOF key") which is most obscure.
def fullscreen?
# Get API functions and constants
_GetPrivateProfileStringA = Win32API.new('kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'L')
_FindWindow = Win32API.new('user32','FindWindow', %w(p p), 'L')
_GetWindowLong = Win32API.new('user32', 'GetWindowLong', %w(L l), 'L')
_GWL_STYLE = 16
_WS_POPUP = 0x80000000
# Get game title
game_name = "\0" * 256
_GetPrivateProfileString.call('Game', 'Title', '', game_name, 255, ".\\Game.ini")
game_name.delete!("\0")
# Find game window
window_handle = _FindWindow.call('RGSS Player', game_name)
# Get window style
window_style = _GetWindowLong.call(window_handle, _GWL_STYLE)
# If WS_POPUP style is set, the game is fullscreen
window_style & _WS_POPUP != 0
end
Disclaimer: I never used RMVX and I don't have any VX or VX Ace to test this with. I just wrote it out of my head using WinAPI and I cannot guarantee that it works.
@orochii: If you connect a Mac keyboard to a Windows PC, you can use F13-F15. There are also a few very very old keyboards with F13-F24, but I doubt anybody uses them anymore ^^ (Even Windows 8 uses F22-F24 for some internal trickery now) - However, I heard that Shift+Fx will create a F(x+12) keypress, but I never saw this actually happening... Still, it's better to use a key such as VK_EREOF ("Erase EOF key") which is most obscure.
[RM2K3] Need a debugger!
How to disable Alt + Enter?
[RM2K3] Variable IDs past 5000?
@Saving: Yes, exactly.
@Install disk: It would use the RPG_RT.exe in the folder, although I advise against usage of the install disk feature anyway. Firstly, as far as I know it won't add additional files like plugins or readme files. Secondly, the compression is not that good. And it often gets filename encoding wrong when you are using non-English characters in filenames (äöü, etc.). (And I'm not sure whether it works correctly in Windows 8 without compatibility mode.)
I'd pack the game in a ZIP/RAR/7Z archive to publish it. If you are afraid a player wouldn't know what to do with it, consider a self-extracting archive. In case you would like to use the "include RTP" feature, you can also just copy all files you are using from the RTP into your project, and then open RPG_RT.ini and add "FullPackageFlag=1" at the end (this will turn off the check whether RTP is installed).
@Install disk: It would use the RPG_RT.exe in the folder, although I advise against usage of the install disk feature anyway. Firstly, as far as I know it won't add additional files like plugins or readme files. Secondly, the compression is not that good. And it often gets filename encoding wrong when you are using non-English characters in filenames (äöü, etc.). (And I'm not sure whether it works correctly in Windows 8 without compatibility mode.)
I'd pack the game in a ZIP/RAR/7Z archive to publish it. If you are afraid a player wouldn't know what to do with it, consider a self-extracting archive. In case you would like to use the "include RTP" feature, you can also just copy all files you are using from the RTP into your project, and then open RPG_RT.ini and add "FullPackageFlag=1" at the end (this will turn off the check whether RTP is installed).
How can I set the minimum damage dealt in battles to 1 instead of 0? [RPGM2k3]
Issue with 4-byte numbers: Really? I believe, I fixed this in the latest dynloader.dll a while ago.
https://www.dropbox.com/s/hydedc16gwg4495/dynloader.dll?dl=0
https://www.dropbox.com/s/hydedc16gwg4495/dynloader.dll?dl=0
[RM2K3] Variable IDs past 5000?
No problem.
See, patching the RPG_RT doesn't interfere with saving your game's data at all. That's because the game data is kept in separate files; the engine is not supposed to be changed by normal means.
There is no way to change the size of the "normal" font (i.e. the font used in message boxes and menus), it's hardcoded at too many places. However, it would most likely be possible (or maybe it is already - I lost the overview as well, I am afraid) to do this using a DynRPG plugin or RPGSS script (RPGSS is a DynRPG plugin which "translates" the C++ API of DynRPG for use by Lua scripts and adds several extra features), but this plugin would then write the text into a picture or similar and display it, it would still not modify the "normal" fonts. There is a plugin DynText, but as far as I know, it currently only utilizes the default font, no custom fonts.
See, patching the RPG_RT doesn't interfere with saving your game's data at all. That's because the game data is kept in separate files; the engine is not supposed to be changed by normal means.
There is no way to change the size of the "normal" font (i.e. the font used in message boxes and menus), it's hardcoded at too many places. However, it would most likely be possible (or maybe it is already - I lost the overview as well, I am afraid) to do this using a DynRPG plugin or RPGSS script (RPGSS is a DynRPG plugin which "translates" the C++ API of DynRPG for use by Lua scripts and adds several extra features), but this plugin would then write the text into a picture or similar and display it, it would still not modify the "normal" fonts. There is a plugin DynText, but as far as I know, it currently only utilizes the default font, no custom fonts.
[RM2K3] Set Random Between v.A & v.B instead of x&y?
Another, probably faster, way, would be using multiplication and division.
You could - assuming your max. value doesn't go beyond 1000 - do something like Random 0-999, then multiply by your max. value, then divide by 1000.
(This trick will only work with values less than ~3160 because you will hit the 9999999 limit otherwise.)
You could - assuming your max. value doesn't go beyond 1000 - do something like Random 0-999, then multiply by your max. value, then divide by 1000.
(This trick will only work with values less than ~3160 because you will hit the 9999999 limit otherwise.)
[RM2K3] Variable IDs past 5000?
No, HP2 doesn't interfere with it. RM2k9 is purely an addon on the editor-side, while HP2 does a modification on the engine-side.
Why it works: Actually, the limitation to 5000 there, like with most of the database entries (heroes, skills, ...) are purely a limitation of the edit box in the editor where you can set the size. The creators probably thought it's gonna be enough to put a limit of 5000, but this kinda reminds me of the 640 KB memory limit quite some time ago ;)
There are few limitations where changing something in the editor isn't sufficient, such as the picture limit, because there the engine has the values hardcoded as well (for pictures: in the methods which initialize/update/draw pictures).
The variable reference trick works because the RPG Maker tries to save memory and will only hold as many variables in memory as required for the highest changed variable. So, when you start a new game, there will be no variables in memory. If you change variable 100, memory will be allocated for variables 1-100, etc., regardless how much you set as limit in the editor. The editor limit is only used in the F9 debug menu, actually.
Have fun exploring all the new stuff ^^
I hope you have already discovered http://cherrytree.at/dynrpg </advertisement>
Why it works: Actually, the limitation to 5000 there, like with most of the database entries (heroes, skills, ...) are purely a limitation of the edit box in the editor where you can set the size. The creators probably thought it's gonna be enough to put a limit of 5000, but this kinda reminds me of the 640 KB memory limit quite some time ago ;)
There are few limitations where changing something in the editor isn't sufficient, such as the picture limit, because there the engine has the values hardcoded as well (for pictures: in the methods which initialize/update/draw pictures).
The variable reference trick works because the RPG Maker tries to save memory and will only hold as many variables in memory as required for the highest changed variable. So, when you start a new game, there will be no variables in memory. If you change variable 100, memory will be allocated for variables 1-100, etc., regardless how much you set as limit in the editor. The editor limit is only used in the F9 debug menu, actually.
Have fun exploring all the new stuff ^^
I hope you have already discovered http://cherrytree.at/dynrpg </advertisement>
[RM2k][RM2K3] CommonThisEventPatch - Proper "This Event" in CEs
Good point, I didn't think of that. It would have done nothing (just as in the original implementation).
I added support for "Erase Event" now, so that "Erase Event" will work the same as "This Event" commands - it will erase the last map event in the call stack.
Just download and patch again.
I added support for "Erase Event" now, so that "Erase Event" will work the same as "This Event" commands - it will erase the last map event in the call stack.
Just download and patch again.
Event issue / possible engine problem (RM2000/3)
I'd say, the problem is that you have set your event to auto-start and never disable it again, so it's running in a loop. Since "Move Event" is not blocking, it will try to set the whole move route again every single frame, and therefore it will never get further than the first command.
You should either disable the auto-start event at the end (by calling "Erase Event", or turning a switch on which enabled a 2nd, empty, page) or add a "Proceed with Movement" after the "Move Event", which will wait for all movements to be completed before continuing.
You should either disable the auto-start event at the end (by calling "Erase Event", or turning a switch on which enabled a 2nd, empty, page) or add a "Proceed with Movement" after the "Move Event", which will wait for all movements to be completed before continuing.














