Jump to content
Rpg²S Forum
  • 0

Mog Hunter menu problema


Bartowski
 Share

Question

Salve , ultimamente volevo cambiare menù e ho scelto quello di mog hunter (per la personalizzazione dell'immagini) l'unica pecca era il salvataggio nel menù cosi tramite lo script provai a levarlo e funzionava benissimo, ma non avevo ancora provato a vedere se c'era qualche conflitto nel sistema di combattimento uso il

tankentai3.4+atb.Quando entro in combattiemnto e clicco su attacca,abilità,oggetti ecc... mi da un problema su diverse stringhe dell ATB(1,2c),l'errore è wrong line of

argumetnts (0 for 2).Qualcuno puo aiutarmi a risolverlo?

 

Questo è lo script modificato da me per togliere il salvataggio

 

#################################################

# Mog Menu Yui V 1.0 #

##################################################

# By Moghunter

# http://www.atelier-rgss.com

##################################################

# Menu com layout em pictures.

# É necessário criar uma pasta com o nome de

# Menus e colocar todas as imagens dentro dela, de resto

# é só criar o seu próprio estilo de menu através de um

#editor de imagem.

#-------------------------------------------------

###############

# module Cache #

###############

module Cache

def self.menu(filename)

load_bitmap("Graphics/Menus/", filename)

end

end

###############

# Window_Base #

###############

class Window_Base < Window

def draw_actor_level_menu(actor, x, y)

self.contents.font.color = system_color

self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)

self.contents.font.color = normal_color

self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)

end

def draw_currency_value_menu(value, x, y, width)

cx = contents.text_size(Vocab::gold).width

self.contents.font.color = normal_color

self.contents.draw_text(x, y, width-cx-2, WLH, value, 1)

end

def draw_actor_hp_menu(actor, x, y)

back = Cache.menu("Meter_Back")

cw = back.width

ch = back.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x + 65, y - ch + 30, back, src_rect)

meter = Cache.menu("HP_Meter")

cw = meter.width * actor.hp / actor.maxhp

ch = meter.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x + 65, y - ch + 30, meter, src_rect)

text = Cache.menu("HP_Text")

cw = text.width

ch = text.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x + 35, y - ch + 30, text, src_rect)

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)

end

def draw_actor_mp_menu(actor, x, y)

back = Cache.menu("Meter_Back")

cw = back.width

ch = back.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x + 65, y - ch + 30, back, src_rect)

meter = Cache.menu("MP_Meter")

cw = meter.width * actor.mp / actor.maxmp

ch = meter.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x + 65, y - ch + 30, meter, src_rect)

text = Cache.menu("MP_Text")

cw = text.width

ch = text.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x + 35, y - ch + 30, text, src_rect)

self.contents.font.color = Color.new(0,0,0,255)

self.contents.draw_text(x + 81, y - 1, 48, 32, actor.mp.to_s, 2)

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_text(x + 80, y - 2, 48, 32, actor.mp.to_s, 2)

end

def draw_actor_name_menu(actor, x, y)

self.contents.font.color = text_color(23)

self.contents.draw_text(x, y, 108, WLH, actor.name,1)

end

def draw_actor_level_menu(actor, x, y)

self.contents.font.color = system_color

self.contents.draw_text(x, y, 32, WLH, " L")

self.contents.font.color = text_color(10)

self.contents.draw_text(x + 18, y, 24, WLH, actor.level, 1)

end

end

############

# Game_Map #

############

class Game_Map

attr_reader :map_id

def mpname

$mpname = load_data("Data/MapInfos.rvdata")

$mpname[@map_id].name

end

end

########################

# Window_Selectable_Menu #

########################

class Window_Selectable_Menu < Window_Base

attr_reader :item_max

attr_reader :column_max

attr_reader :index

def initialize(x, y, width, height, spacing = 32)

@item_max = 1

@column_max = 1

@index = -1

@spacing = spacing

super(x, y, width, height)

end

def create_contents

self.contents.dispose

self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)

end

def index=(index)

@index = index

end

def row_max

return (@item_max + @column_max - 1) / @column_max

end

def top_row

return self.oy / WLH

end

def top_row=(row)

row = 0 if row < 0

row = row_max - 1 if row > row_max - 1

self.oy = row * WLH

end

def page_row_max

return (self.height - 32) / WLH

end

def page_item_max

return page_row_max * @column_max

end

def bottom_row

return top_row + page_row_max - 1

end

def bottom_row=(row)

self.top_row = row - (page_row_max - 1)

end

def cursor_movable?

return false if (not visible or not active)

return false if (index < 0 or index > @item_max or @item_max == 0)

return false if (@opening or @closing)

return true

end

def cursor_down(wrap = false)

if (@index < @item_max - @column_max) or (wrap and @column_max == 1)

@index = (@index + @column_max) % @item_max

end

end

def cursor_up(wrap = false)

if (@index >= @column_max) or (wrap and @column_max == 1)

@index = (@index - @column_max + @item_max) % @item_max

end

end

def cursor_right(wrap = false)

if (@column_max >= 2) and

(@index < @item_max - 1 or (wrap and page_row_max == 1))

@index = (@index + 1) % @item_max

end

end

def cursor_left(wrap = false)

if (@column_max >= 2) and

(@index > 0 or (wrap and page_row_max == 1))

@index = (@index - 1 + @item_max) % @item_max

end

end

def update

super

if cursor_movable?

last_index = @index

if Input.repeat?(Input::DOWN)

cursor_down(Input.trigger?(Input::DOWN))

end

if Input.repeat?(Input::UP)

cursor_up(Input.trigger?(Input::UP))

end

if Input.repeat?(Input::RIGHT)

cursor_down(Input.trigger?(Input::DOWN))

end

if Input.repeat?(Input::LEFT)

cursor_up(Input.trigger?(Input::UP))

end

if @index != last_index

Sound.play_cursor

end

end

end

end

#######################

# Window_MenuStatus_Yui #

#######################

class Window_MenuStatus_Yui < Window_Selectable_Menu

def initialize(x, y)

super(x, y, 460, 300)

self.contents.font.bold = true

self.contents.font.shadow = true

self.contents.font.size = 16

refresh

self.active = true

self.index = -1

end

def refresh

self.contents.clear

@item_max = $game_party.members.size

for actor in $game_party.members

if actor.index == 0

draw_actor_graphic(actor, 65, 110)

draw_actor_name_menu(actor, 15, 120)

draw_actor_level_menu(actor, -5, 55)

draw_actor_state(actor, 20, 100)

draw_actor_hp_menu(actor, -30, 25)

draw_actor_mp_menu(actor, 0, 45)

elsif actor.index == 1

draw_actor_graphic(actor, 170, 210)

draw_actor_name_menu(actor, 120, 220)

draw_actor_level_menu(actor, 100, 155)

draw_actor_state(actor, 125, 200)

draw_actor_hp_menu(actor, 75, 120)

draw_actor_mp_menu(actor, 105, 145)

elsif actor.index == 2

draw_actor_graphic(actor, 265, 110)

draw_actor_name_menu(actor, 215, 120)

draw_actor_level_menu(actor, 195, 55)

draw_actor_state(actor, 220, 100)

draw_actor_hp_menu(actor, 170, 20)

draw_actor_mp_menu(actor, 205, 45)

elsif actor.index == 3

draw_actor_graphic(actor, 370, 210)

draw_actor_name_menu(actor, 320, 220)

draw_actor_level_menu(actor, 370, 155)

draw_actor_state(actor, 325, 200)

draw_actor_hp_menu(actor, 275, 120)

draw_actor_mp_menu(actor, 245, 145)

end

end

end

def update_cursor

end

end

###############

# Window_Time #

###############

class Window_Mapname < Window_Base

def initialize(x, y)

super(x, y, 160, WLH + 32)

self.contents.font.bold = true

self.contents.font.size = 16

refresh

end

def refresh

self.contents.clear

self.contents.font.color = normal_color

self.contents.draw_text(4, 0, 120, 32, $game_map.mpname.to_s, 1)

end

end

###################

# Window_Gold_Menu #

###################

class Window_Gold_Menu < Window_Base

def initialize(x, y)

super(x, y, 160, WLH + 32)

self.contents.font.bold = true

self.contents.font.size = 16

self.contents.font.color = power_up_color

refresh

end

def refresh

self.contents.clear

draw_currency_value_menu($game_party.gold, 10, 0, 120)

end

end

###############

# Window_Time #

###############

class Window_Time < Window_Base

def initialize(x, y)

super(x, y, 160, WLH + 32)

self.contents.font.bold = true

self.contents.font.size = 16

self.contents.font.color = power_up_color

refresh

end

def refresh

self.contents.clear

@total_sec = Graphics.frame_count / Graphics.frame_rate

hour = @total_sec / 60 / 60

min = @total_sec / 60 % 60

sec = @total_sec % 60

text = sprintf("%02d:%02d:%02d", hour, min, sec)

self.contents.draw_text(4, 0, 120, 32, text, 2)

end

def update

super

if Graphics.frame_count / Graphics.frame_rate != @total_sec

refresh

end

end

end

##############

# Scene_Menu #

##############

class Scene_Menu

def main

start

perform_transition

Input.update

loop do

Graphics.update

Input.update

update

break if $scene != self

end

Graphics.update

pre_terminate

Graphics.freeze

terminate

end

def initialize(menu_index = 0)

@menu_index = menu_index

end

def perform_transition

Graphics.transition(10, "Graphics/System/BattleStart", 80)

end

def start

@menu_back = Plane.new

@menu_back.bitmap = Cache.menu("Background")

@menu_layout = Sprite.new

@menu_layout.bitmap = Cache.menu("Menu_Layout")

@menu_com = Sprite.new

@menu_com.bitmap = Cache.menu("Menu_Com01")

@menu_select = Sprite.new

@menu_select.bitmap = Cache.menu("Menu_Select00")

create_command_window

@gold_window = Window_Gold_Menu.new(195, 45)

@status_window = Window_MenuStatus_Yui.new(100, 60)

@playtime_window = Window_Time .new(165, 0)

@mapname_window = Window_Mapname.new(195,360)

@status_window.opacity = 0

@playtime_window.opacity = 0

@mapname_window.opacity = 0

@gold_window.opacity = 0

end

def pre_terminate

end

def terminate

@menu_back.dispose

@menu_layout.dispose

@menu_com.dispose

@menu_select.dispose

@command_window.dispose

@gold_window.dispose

@status_window.dispose

@playtime_window.dispose

@mapname_window.dispose

end

def update

@menu_back.ox += 1

@command_window.update

@gold_window.update

@status_window.update

@mapname_window.update

@playtime_window.update

if @command_window.active

update_command_selection

elsif @status_window.active

update_actor_selection

end

end

def create_command_window

s1 = Vocab::item

s2 = Vocab::skill

s3 = Vocab::equip

s4 = Vocab::status

s5 = Vocab::game_end

@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5])

@command_window.index = @menu_index

@command_window.openness = 0

@command_window.open

@command_window.opacity = 0

@command_window.contents_opacity = 0

if $game_system.save_disabled

@command_window.draw_item(4, false)

end

end

def update_command_selection

case @command_window.index

when 0 #Item

@menu_com.bitmap = Cache.menu("Menu_Com01")

when 1 #Status

@menu_com.bitmap = Cache.menu("Menu_Com02")

when 2 #Equip

@menu_com.bitmap = Cache.menu("Menu_Com03")

when 3 #Skill

@menu_com.bitmap = Cache.menu("Menu_Com04")

when 4 # Exit

@menu_com.bitmap = Cache.menu("Menu_Com06")

end

if Input.trigger?(Input::B)

Sound.play_cancel

$scene = Scene_Map.new

elsif Input.trigger?(Input::C)

if $game_party.members.size == 0 and @command_window.index < 4

Sound.play_buzzer

return

elsif $game_system.save_disabled and @command_window.index == 4

Sound.play_buzzer

return

end

Sound.play_decision

case @command_window.index

when 0

$scene = Scene_Item.new

when 1,2,3

start_actor_selection

when 4

$scene = Scene_End.new

end

end

end

def start_actor_selection

@command_window.active = false

@status_window.active = true

if $game_party.last_actor_index < @status_window.item_max

@status_window.index = $game_party.last_actor_index

else

@status_window.index = 0

end

end

def end_actor_selection

@command_window.active = true

@status_window.active = false

@menu_select.bitmap = Cache.menu("Menu_Select00")

@status_window.index = -1

end

def update_actor_selection

case @status_window.index

when 0

@menu_select.bitmap = Cache.menu("Menu_Select01")

when 1

@menu_select.bitmap = Cache.menu("Menu_Select02")

when 2

@menu_select.bitmap = Cache.menu("Menu_Select03")

when 3

@menu_select.bitmap = Cache.menu("Menu_Select04")

end

if Input.trigger?(Input::B)

Sound.play_cancel

end_actor_selection

elsif Input.trigger?(Input::C)

$game_party.last_actor_index = @status_window.index

Sound.play_decision

case @command_window.index

when 1

$scene = Scene_Skill.new(@status_window.index)

when 2

$scene = Scene_Equip.new(@status_window.index)

when 3

$scene = Scene_Status.new(@status_window.index)

when 4

actor_id = $game_party.members[@status_window.index].id

x = $game_party.members[@status_window.index].last_grid_x

y = $game_party.members[@status_window.index].last_grid_y

proceed_ability_grid(actor_id,x,y)

end

end

end

end

$mogscript = {} if $mogscript == nil

$mogscript["menu_yui"] = true

 

 

la modifica parte dalla linea 379

ps provandolo con il sistema di combattimento base del vx non da problemi

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
A quale riga? Qual'è la stringa?

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...