Hey guys. I've recently started a project with RMX-OS, and everything has been going great this far. I was surprised that I was able to use most of the scripts from my old project, without any incompatibilities. However, some have started to pop up now after further testing. I'm not a scripter, but I do use my own head and try to search and test things out before asking, but these issues have left me pulling my hair out... I simply can't seem to be able to find what's causing them, or how to fix it. Thus, I've decided to ask here. There's quite a few so bear with me. If anyone could help me with even one of them, I'd be very grateful.
1) RMX-OS & RTAB - Error upon using an item. Fixed I was so happy when I saw that RTAB worked with RMX-OS. It's simply my favorite battle system, and I really wanted to keep it for my new project. However, today I discovered that when using an item, an error pops up. I've tried re-arranging my scripts etc but nothing seems to help... I don't even know which script is causing this, whether its RMX-OS itself, or something else. This is the error I'm getting:
Which leaves me at line 1915 in RTAB. The line is: target.item_effect(@item, battler)
I'm not sure how the error system in RMX-OS works, because the lines shown in the error seem to have nothing to do with the problem. I'm not even using those options in TONS. :/ Just in case it's relevant, here are the addons I have enabled in TONS:
Shaded text
Ultimate Font override
Multi-drop
Heal at lvl-up
Enemy Status
2) Shaded Text issue in RTAB. FixedUhh this is pretty low-priority, as it's merely a small cosmetic annoyance, and I could just disable Shaded Text in TONS to make it go away (I like it, though), but if there's a solution, it'd be better. Basically, the text (like HP & SP, or menu selections) becomes shaded and non-shaded randomly during battle within RTAB. Sometimes the shades are on, sometimes they're off. I think this happens whenever something is affected, for example if I use a skill and lose SP, it becomes non-shaded. I'm not sure about this though.
3) CMS + Item Rarity issue. FixedI'm using an older Custom Menu System by LegACy and the Item Rarity script by game_guy, but the item colors don't display in the CMS. It actually
partially worked at some point, displaying the colors in the equipment window (nowhere else, though) but now it doesn't at all. They completely disappeared after I implemented either TONS or the Multiple Message Windows by Wachunga/ForeverZer0, not sure which is causing it. This probably requires some sort of editing to the CMS. Here's the script, in case it's needed.
4) Lighting System rough edges. FixedSince my old Lighting system doesn't work (requires SDK, sadly) I resorted to using the Dynamic Lighting System by kellesdee. It has some sweet options like flicker which I've found useful, so it's pretty nice. However, if the lights have remained on-screen for a while, they get these ugly edges. Sometimes even square shaped... At first I thought it was the light image, so I made my own with very soft edges and made sure nothing is clipping off it. Still the same, though. I guess it's in the script then, but I don't know. The creator of the script doesn't seem to be active on it anymore.
Here's a screenshot to explain what I mean:
And here is the script itself:
#==============================================================================
# ** Dynamic Lights
#------------------------------------------------------------------------------
# by kellessdee
# Version: 1.00
# Date: 23/05/2011
#------------------------------------------------------------------------------
# Version History:
#
# 1.00 - First release
#------------------------------------------------------------------------------
# Description:
#
# Allows the user to set up dynamic lights on the game map
#------------------------------------------------------------------------------
# Compatibility:
#
#------------------------------------------------------------------------------
# Instructions:
#
# To create an event as a light source, create an event and set the first
# command as a comment. The syntax is as follows:
# render_light filename
# radius
# tone_red tone_green tone_blue
# flicker
# glow
# brightness
#------------------------------------------------------------------------------
# Parameters:
#
# filename :the light picture file
# radius :radius in pixels
# tone_red :tone red value to be mixed (0 - 255)
# tone_green :tone green value to be mixed (0 - 255)
# tone_blue :tone blue value to be mixed (0 - 255)
# flicker :type true if you want the lights to flicker
# glow :type true if you want the lights to glow
# brightness :the brightness of the light source (0 - 255)
#------------------------------------------------------------------------------
# Notes:
#
# Any questions, comments or issues you may reach me at:
#
# kellessdee@gmail.com
# http://www.rmxpunlimited.com/forums (look for kellessdee)
# http://wakingdreams.weebly.com/
#
#==============================================================================
#==============================================================================
# ** Sprite_Light_Source
#------------------------------------------------------------------------------
# Displays the light on the screen
#==============================================================================
class Light_Source < Sprite
#----------------------------------------------------------------------------
# * Constants
#----------------------------------------------------------------------------
DEFAULT = 'light_render'
#----------------------------------------------------------------------------
# * Public Instance Variables
#----------------------------------------------------------------------------
attr_accessor :event
#----------------------------------------------------------------------------
# * Object Initialization
#----------------------------------------------------------------------------
def initialize(event, radius, tone, flicker, glow, brightness, filename)
super()
self.z = 1000
self.tone = tone
self.opacity = brightness
self.x = (event.real_x - radius * 2 - $game_map.display_x) / 4 + 12
self.y = (event.real_y - radius * 2 - $game_map.display_y) / 4 + 6
bmp = filename == nil ? RPG::Cache.picture(DEFAULT) : RPG::Cache.picture(filename)
self.bitmap = Bitmap.new(radius, radius)
self.bitmap.stretch_blt(Rect.new(0, 0, radius, radius), bmp, bmp.rect)
@radius = radius
@brightness = brightness
@event = event
@flicker = flicker
@glow = glow
@step = 0.001
@flicker_count = -1
@count = 0
end
#----------------------------------------------------------------------------
# * Update Frame
#----------------------------------------------------------------------------
def update
# Update flicker effect
if @flicker
self.opacity += rand(5) * @flicker_count
@flicker_count = -@flicker_count if self.opacity >= @brightness || self.opacity <= 0
end
# Update Glow effect
if @glow
self.zoom_x += @step
self.zoom_y += @step
@count += 1
if @count == 220
@step = -@step
@count = 0
end
end
self.x = (@event.real_x - (@radius * 2).to_f * self.zoom_x - $game_map.display_x) / 4 + 12
self.y = (@event.real_y - (@radius * 2).to_f * self.zoom_y - $game_map.display_y) / 4 + 6
end
end
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# Redefine initialization to create light array
# Redefine update to update light array
# Redefine dispose to destroy light array
# Added render light method to set up light array
#==============================================================================
class Spriteset_Map
#----------------------------------------------------------------------------
# * Method Aliases
#----------------------------------------------------------------------------
unless self.method_defined?(:new_light_render_init)
alias :new_light_render_init :initialize
end
unless self.method_defined?(:new_light_render_updt)
alias :new_light_render_updt :update
end
unless self.method_defined?(:new_light_render_disp)
alias :new_light_render_disp :dispose
end
#----------------------------------------------------------------------------
# * Object Initialization
#----------------------------------------------------------------------------
def initialize
@light_source = []
render_light_source
new_light_render_init
end
#----------------------------------------------------------------------------
# * Update Frame
#----------------------------------------------------------------------------
def update
@light_source.each {|light| light.update } unless @light_source == []
new_light_render_updt
end
#----------------------------------------------------------------------------
# * Dispose Object
#----------------------------------------------------------------------------
def dispose
new_light_render_disp
@light_source.each {|light| light.dispose }
@light_source = []
end
#----------------------------------------------------------------------------
# * Render Light Source
#----------------------------------------------------------------------------
def render_light_source
$game_map.events.values.each {|event|
next if event.list == nil
if event.list[0].code == 108 && event.list[0].parameters[0].split[0] == 'render_light'
# Get file name
filename = event.list[0].parameters[0].split[1]
parms = []
(1..5).each {|i|
if event.list[i].code == 108
parms << event.list[i].parameters
end
}
5.times {|i| parms[i] = [0] if parms[i] == [nil] }
# Get Radius
rad = parms[0][0].to_i
t = parms[1][0].split
ton = Tone.new(-t[0].to_i, -t[1].to_i, -t[2].to_i)
fli = (parms[2] == ['true'])
glo = (parms[3] == ['true'])
bri = parms[4][0].to_i
@light_source << Light_Source.new(event, rad, ton, fli, glo, bri, filename)
@light_source << Light_Source.new(event, rad + 50, ton, fli, glo, bri - 25, filename)
@light_source << Light_Source.new(event, rad + 100, ton, fli, glo, bri - 50, filename)
end
}
end
end
Here is a list of scripts I'm using, and the order of them. I know that the order is different from Blizzard's recommended script order, but I tried that, and it resulted in a ton of errors... I just can't put TONS and certain other scripts above RMX-OS scripts, or it gives me errors. :/ Not sure why.
RMX-OS Options
RMX-OS Script
RTAB
MOG - Battler L Effects
Critical Hit Screen Shake (I believe this was custom written for me by someone in the past, just a short and simple script)
CMS 1.17b by LegACy
Item Quality 1.4 by game_guy
Dynamic Lights by kellesdee
MOG C HUD
MOG - Location Name
TONS 1
TONS 2
TONS 3
Multiple Message Windows by Wachunga & De-SDKed by ForeverZer0
Global Switched & Variables
ATES
Global Day-and-Night System for RMX-OS by Blizzard
Daily Messages
Achievement System by game_guy
Achievement RMX-OS patch
RMX-OS Player Report
I also have a question about RMX-OS itself. I've found a possible exploit, and I'm wondering if its just me doing something wrong, or its an actual issue. Basically, when you have an event on auto-run, for a cutscene for example, and it gives you some items and continues dialogue after, the user can close the game window (red X) and once they log back in, the NPC starts talking again and gives you the items again, but the old ones also remained, resulting in double items. People can exploit this rather easily. Is there any fix to this?
Thanks a lot in advance! Have a nice day everyone.