Sure!
I didn't want to do it just yet in case he said no.
Anyways, I've checked and there are 5 scripts that I am using. Two of them are compatible with the Battle System, the other two aren't. I'll put them all in though.
I can't upload the Scripts here because there are 5 of them and it won't let me double post to show them. You can download them all from http://www.atelier-rgss.com
It'll be a shame if I can't get it to work because I LOVE LOVE this battle system and a lot of people use MOGs system too. I'm hoping it's just a simple little error that can be easily fixed.
I'll be honest, I'm having a hell of a time opening the MOG demos. Do me a favor and whip up a quick demo in a new project and just pop in those scripts. Most likely, the MOG and Charlie's scripts are trying to do the exact same action and it's not really needed for them both to do it. I'm not scripter, but I can take a look at it.
Okay, here are the scripts direct from my game and the images too to make it work. I'm not good at scripting so I have no idea. I'd love if they were both compatible though and knowing what little I do about coding it sounds like that that's the problem.
However, there is a problem with all 3 of the scripts that don't work. The scripts that do work are the Equipment and the Item scripts. They work fine with the battle system. The other three give me the error whenever they're switched on.
What kind of problems exactly? I don't seem to have any problems.
I wonder why I'm getting problems then if you're not. I just copied and pasted together. I've just done a complete wipe of the scripts and re-done it and it's working fine now however now I'm getting problems with the Menu as well. This is the 3rd time I've wiped and this time it worked so no clue as to what the crap is going on.
I'll just fiddle with it. Thanks for your time Alpha, if you can just let me know what errors you weer getting with the Menu system.
Here's what I did. I opened up your demo, then opened up Charlie's. I put your scripts into his demo, transferred the graphic files, then playtested. There were problems when I went into the Skills/items/status menus.
However, I did not have the error at the end of battle. To be frank and honest, MOG menus are horribly arranged (codewise) and are hard to use. This is beyond my comprehension to fix, lets wait for Charlie :D
The problem in Window_BattleReport is due to a duplicated definition of Game_Actor's method next_exp. It should be enough to change "next_exp" into "next_exp2" in the three places where it appears in Window_BattleReport.
Please put together an updated demo with this fix, report the errors you get, and I'll see what I can do.
Charlie Fleed Wrote:The problem in Window_BattleReport is due to a duplicated definition of Game_Actor's method next_exp. It should be enough to change "next_exp" into "next_exp2" in the three places where it appears in Window_BattleReport.
Please put together an updated demo with this fix, report the errors you get, and I'll see what I can do.
I tried that but it didn't work so I just removed the two lines completely and it's now working fine, the only thing removed is the small experience bar growing when they get experience. But I'd rather sacrifice that than losing both systems and you wasting time on something as trivial this.
class Window_BattleReport < Window_Selectable_Plus
#--------------------------------------------------------------------------
# ? Inizialization
#--------------------------------------------------------------------------
def initialize
super(32,64,320,320,BATTLE_REPORT_ROW_SIZE)
@actors=$game_party.actors+
(($game_party.backup_actors!=nil)?($game_party.backup_actors):([]))+
(($game_party.removed_actors!=nil)?($game_party.removed_actors):([]))+
(($game_party.transformed_actors!=nil)?($game_party.transformed_actors):([]))
for actor in @actors.clone
if $game_party.aeons_ids!=nil and $game_party.aeons_ids.include?(actor.id)
@actors.delete(actor)
end
end
@item_max = @actors.size
self.contents = Bitmap.new(width - 32, BATTLE_REPORT_ROW_SIZE*@item_max)
self.height=4*BATTLE_REPORT_ROW_SIZE+32
@need_update=true
@wait_count=20
self.opacity=BATTLE_REPORT_WINDOW_WINDOWSKIN_OPACITY
begin
self.windowskin = RPG::Cache.windowskin(BATTLE_REPORT_WINDOWSKIN_NAME)
rescue
if BATTLE_REPORT_WINDOWSKIN_NAME != ""
p BATTLE_REPORT_WINDOWSKIN_NAME+" not found."
end
end
refresh
end
#--------------------------------------------------------------------------
# ? Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.name = Font.default_name
self.contents.font.size = 14
@custom_normal_color=Color.new(STATUS_WINDOW_TEXT_RGB[0],
STATUS_WINDOW_TEXT_RGB[1],STATUS_WINDOW_TEXT_RGB[2])
@custom_normal_b_color=Color.new(STATUS_WINDOW_TEXT_B_RGB[0],
STATUS_WINDOW_TEXT_B_RGB[1],STATUS_WINDOW_TEXT_B_RGB[2])
@bg_sprites=[]
for i in 0...([4,@item_max].min)
x = 0
y = i * BATTLE_REPORT_ROW_SIZE
@bg_sprites[i] = Sprite.new
begin
@bg_sprites[i].bitmap = RPG::Cache.picture(BATTLE_REPORT_BG_PICTURE_NAME)
rescue
if BATTLE_REPORT_BG_PICTURE_NAME != nil
p BATTLE_REPORT_BG_PICTURE_NAME+" not found."
end
end
@bg_sprites[i].opacity = BATTLE_REPORT_BG_PICTURE_OPACITY
@bg_sprites[i].x = self.x + x + 16
@bg_sprites[i].y = self.y + y + 16
@bg_sprites[i].z = self.z
end
@bg=Sprite.new
begin
@bg.bitmap=RPG::Cache.picture(BATTLE_REPORT_BACKGROUND_NAME)
@bg.z = self.z-1
rescue
if BATTLE_REPORT_BACKGROUND_NAME != nil
p BATTLE_REPORT_BACKGROUND_NAME+" not found."
end
end
@bg.opacity=BATTLE_REPORT_BACKGROUND_OPACITY
for i in 0...@item_max
x = 0
y = i * BATTLE_REPORT_ROW_SIZE
actor = @actors[i]
def update
if @wait_count > 0
@wait_count-=1
super
return
end
if @need_update
@need_update=false
self.contents.font.size = 14
for i in 0...@item_max
x = 80
y = i * BATTLE_REPORT_ROW_SIZE
self.contents.fill_rect(x, y+3, 200, 26, Color.new(0,0,0,0))
self.contents.fill_rect(x, y+BATTLE_REPORT_ROW_SIZE/2, 68, BATTLE_REPORT_ROW_SIZE/2, Color.new(0,0,0,0))
actor = @actors[i]
temp=actor.old_exp
actor.old_exp=(actor.old_exp)+(0.05*(actor.exp-actor.old_exp)).ceil
if temp!=actor.old_exp
@need_update=true
end
# EXP
self.contents.font.color=Color.new(200,200,255)
@exp_string_size = 32
self.contents.font.size = 14
bar=Bar.new(x+2,y+22,180,6,self.contents)
bar.back_opacity=200
bar.bar="bar_exp"
bar.bar_background="bar_exp_bg"
level=actor.get_level(actor.old_exp)
if level==99
bar.highlight_complete=true
bar.refresh(100,100)
else
bar.refresh(actor.old_exp-actor.prev_exp(level),actor.next_exp2(level)-actor.prev_exp(level))
end
self.contents.draw_text(x+2,y+4,48,24,"EXP ")
self.contents.font.color=Color.new(230,230,230)
self.contents.draw_text(x+2+48,y+4,150-48,24,Integer(actor.old_exp).to_s,2)
if level!=actor.old_level
actor.old_level=level
Audio.se_play("Audio/SE/056-Right02", 100, 150)
self.contents.font.color=Color.new(50,200,0)
self.contents.draw_text_bordered_2(x+80, i * BATTLE_REPORT_ROW_SIZE + BATTLE_REPORT_ROW_SIZE/2+2, 100, fontsize, "LEVEL UP!", 0)
end
end
end
super
end
def dispose
super
for i in 0...([4,@item_max].min)
@bg_sprites[i].dispose
end
@bg.dispose
end
def visible=(value)
super
for i in 0...([4,@item_max].min)
@bg_sprites[i].visible=value
end
@bg.visible=value
end
end
class Game_Actor
attr_accessor :old_exp
attr_accessor :old_level
def get_level(exp)
for level in 1..99
if @exp_list[level]>exp
return level-1
end
end
return 99
end
# points from level n to level n+1
def next_exp2(level=nil)
if level==nil
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] : -1
else
return @exp_list[level+1] > 0 ? @exp_list[level+1] : -1
end
end
def prev_exp(level=nil)
if level==nil
return @exp_list[@level]
else
return @exp_list[level]
end
end
end
#==============================================================================
# ** Window_BattleResult
#------------------------------------------------------------------------------
# This window displays amount of gold and EXP acquired at the end of a battle.
#==============================================================================
class Window_BattleResult < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# exp : EXP
# gold : amount of gold
# treasures : treasures
#--------------------------------------------------------------------------
def initialize(exp, gold, treasures)
@exp = exp
@gold = gold
@treasures = treasures
super(368,64+16,240,@treasures.size * 32 + 64)
self.contents = Bitmap.new(width - 32, height - 32)
#self.y = 160 - height / 2
#self.back_opacity = 160
#self.visible = false
begin
self.windowskin = RPG::Cache.windowskin(BATTLE_REPORT_WINDOWSKIN_NAME)
rescue
if BATTLE_REPORT_WINDOWSKIN_NAME != ""
p BATTLE_REPORT_WINDOWSKIN_NAME+" not found."
end
end
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
x = 4
self.contents.font.color = normal_color
cx = contents.text_size(@exp.to_s).width
self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
x += cx + 4
self.contents.font.color = system_color
cx = contents.text_size("EXP").width
self.contents.draw_text(x, 0, 64, 32, "EXP")
x += cx + 16
self.contents.font.color = normal_color
cx = contents.text_size(@gold.to_s).width
self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
x += cx + 4
self.contents.font.color = system_color
self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
y = 32
for item in @treasures
draw_item_name(item, 4, y)
y += 32
end
end
end
I have just tested it, and it works with the main menu script (I have added only the main menu script after the CTB and before main).