Disco Japones Administrador
Mensagens : 345 Cash Makers : 12352
| Assunto: [v1.0.2] Livro de ítens Qua Out 07, 2009 10:35 am | |
| Esse é um script velho que ficou perdido durante algum tempo. Dei uma revisada e taí: Função:Exibe todos os ítens conhecidos do personagem e algumas informações técnicas sobre esses ítens. Compactibilidade:Nenhum problema conhecido Como usar:Apenas chame a cena através do comando $scene = Scene_LItens.new Screen:- Spoiler:
- Código:
-
########################################################### #################### LIVRO DE ITENS ####################### #### V 1.0.2 ############################################## ################################### Por: LB ############### ###########################################################
BACK_LITENS = ""
class Scene_LItens < Scene_Base def start super create_menu_background @window_items = Window_LItens.new(228,416) @window_infos = Window_Base.new(228,0,316,416) if BACK_LITENS != "" @window_items.opacity = 0 @window_infos.opacity = 0 @window_items.z = 1 @window_infos.z = 1 @back = Sprite.new @back.bitmap = Bitmap.new(BACK_LITENS) end b = 0 for i in 0...$data_items2.size if $data_items2[i + 1] == true b += 1 end end if b == 0 @t = false @window_items.index = -1 @window_info = Window_Base.new(261,180,250,128) @window_info.contents.draw_text(0, 0, 218, 24, "Você não conhece", 1) @window_info.contents.draw_text(0, 24, 218, 24, "nenhum item", 1) @window_info.contents.draw_text(0, 72, 218, 24, "Precione ESC para sair", 1) else @t = true update_info @window_info = Window_Base.new(261,180,250,128) @window_info.visible = false end end def update super update_menu_background @window_items.update if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.repeat?(Input::DOWN) and @t update_info elsif Input.repeat?(Input::UP) and @t update_info end end def terminate super dispose_menu_background @window_info.dispose @window_items.dispose @window_infos.dispose if BACK_LITENS != "" @back.dispose end end def update_info @a = [] b = 0 for i in 0...$data_items2.size if $data_items2[i + 1] == true @a[b] = i + 1 b += 1 end end @window_infos.contents.clear item = $data_items[@a[@window_items.index]] @window_infos.contents.font.color = @window_infos.normal_color @window_infos.contents.draw_text(0, 24 * 0, 284, 24, "Nome: " + item.name.to_s) @window_infos.contents.draw_text(0, 24 * 1, 284, 24, item.description.to_s) @window_infos.contents.draw_text(0, 24 * 2, 284, 24, "Valor: " + item.price.to_s) cx = @window_infos.contents.text_size("Valor: " + item.price.to_s).width @window_infos.contents.draw_text(cx, 24 * 2, 284, 24, " " + Vocab::gold) hp = "Recuperação de HP: " + item.hp_recovery.to_s + " + " + item.hp_recovery_rate.to_s + "%" mp = "Recuperação de MP: " + item.mp_recovery.to_s + " + " + item.mp_recovery_rate.to_s + "%" @window_infos.contents.draw_text(0, 24 * 4, 284, 24, hp) @window_infos.contents.draw_text(0, 24 * 5, 284, 24, mp) if item.parameter_type > 0 parameter = ["","o HP Max","o MP Max","o Ataque","a Defesa","a Agilidade","a Inteligencia"] text = "Almenta " + parameter[item.parameter_type] + " em " + item.parameter_points.to_s + " pontos" else text = "Não modifica atributos" end @window_infos.contents.draw_text(0, 24 * 7, 284, 24, text) scopes = ["Nenhum","Um inimigo","Grupo de inimigos","Próximo inimigo","Um inimigo aleatório","Dois inimigos aleatórios","Três inimigos aleatórios","Um aliado","Grupo de personagens","Um aliado morto","Todos os personagens mortos","Herói"] text = "Afeta: " + scopes[item.scope] @window_infos.contents.draw_text(0, 24 * 9, 284, 24, text) occasions = ["Batalha e menu","Apenas batalha","Apenas menu","Não usável"] text = "Usável em: " + occasions[item.occasion] @window_infos.contents.draw_text(0, 24 * 10, 284, 24, text) sn = item.consumable ? "Sim" : "Não" @window_infos.contents.draw_text(0, 24 * 12, 284, 24, "Consumivel? " + sn) @window_infos.contents.draw_text(0, 24 * 15, 284, 24, "Precione ESC para sair") end end class Scene_Title < Scene_Base alias litens command_new_game def command_new_game litens $data_items2 = [nil] for i in 1...$data_items.size - 1 $data_items2[i] = false end end end class Window_LItens < Window_Selectable def initialize(width, height) super(0, 0, width, height) @commands = $data_items2 @item_max = @commands.size @column_max = 1 self.contents = Bitmap.new(width-32,@commands.size*24) refresh self.index = 0 end def refresh self.contents.clear @a = 0 for i in 0...@item_max if $data_items2[i + 1] == true draw_item(i) @a += 1 end end @item_max = @a end def draw_item(index, enabled = true) rect = item_rect(@a) self.contents.clear_rect(rect) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 draw_item_name($data_items[index + 1], rect.x, rect.y) end end class Game_Party < Game_Unit def gain_item(item, n, include_equip = false) number = item_number(item) case item when RPG::Item @items[item.id] = [[number + n, 0].max, 99].min $data_items2[item.id] = true when RPG::Weapon @weapons[item.id] = [[number + n, 0].max, 99].min when RPG::Armor @armors[item.id] = [[number + n, 0].max, 99].min end n += number if include_equip and n < 0 for actor in members while n < 0 and actor.equips.include?(item) actor.discard_equip(item) n += 1 end end end end end Creditos:LB - Acho que foi ele que criou o Script Dj - Por trazer da ReinoRPG Reino RPG - Pelo Script estar lá | |
|
°thiago° Administrador
Mensagens : 327 Cash Makers : 1210
| Assunto: Re: [v1.0.2] Livro de ítens Qua Out 07, 2009 5:01 pm | |
| HAHA... legal, gostei desse script, bem legal, tem nos jogos do Pokemon do GBA e do DS XD Vlw DJ | |
|
Trasgo@01254 Coordenador Maker
Mensagens : 426 Cash Makers : 723
| Assunto: Re: [v1.0.2] Livro de ítens Dom Out 11, 2009 2:26 pm | |
| Hum... muito bom DJ! Ótimo script! | |
|