MShaka Posted August 12, 2008 Share Posted August 12, 2008 Come da titolo qualcuno ha lo script del Menù...Ho trovato un link ma non funge! Link to comment Share on other sites More sharing options...
0 Omega Ciccio Posted August 12, 2008 Share Posted August 12, 2008 Ciao^^, visto che sei Nuovo ne approfitto per dirti di Postare, d'ora in avanti, nella stessa Discussione dove trovi quello che Cerchi (come, ad esempio, il Link di cui parli), senza aprire un Nuovo Topic ;). Cmq, prova a chiedere a qualcuno di Riuppare il File che ti serve, credo lo avranno ;). http://th09.deviantart.net/fs26/150/f/2008/091/7/3/Rule_of_Rose__brush__by_maelstromb.pngComing http://i56.tinypic.com/fu56c6.png Soon...http://fc06.deviantart.net/fs47/f/2009/163/8/a/Polka_from_Eternal_Sonata_by_oOLuccianaOo.pnghttp://fc00.deviantart.com/fs34/f/2008/306/2/d/Icon_Hojo_by_Sasori_donna.gif Link to comment Share on other sites More sharing options...
0 MShaka Posted August 12, 2008 Author Share Posted August 12, 2008 (edited) Il fatto che il link che dicevo era di un altro sito...comunque grazie dell informazione... Comunque se qualcuno ce l'ha potrebbe postarlo qui!? Edited August 12, 2008 by MShaka Link to comment Share on other sites More sharing options...
0 Asagaru Posted August 13, 2008 Share Posted August 13, 2008 Penso che tu intenda questo #================================================== ======= # This is the ffx-2 Custom Menu System by Catchm. # version 2, revised, shortened code # It is a long script and includes many alterations and images attached to it. # These images can be edited, and the script can be edited, you are free to do so # credit to Catchm is the only thing needed. # this is to be copied into a new script in the script editor # # Have fun with the script! #================================================== ======= class Bitmap def draw_text_shadow_rect(rect, text, align = 0) self.font.size -= 2 old_col = self.font.color.clone # Dark shadow self.font.color = Color.new(0,0,0, 255) draw_text(Rect.new(rect.x+1, rect.y+1, rect.width, rect.height), text, align) # Small outline self.font.color = Color.new(96,96,96,96) draw_text(Rect.new(rect.x+1, rect.y, rect.width, rect.height), text, align) draw_text(Rect.new(rect.x-1, rect.y, rect.width, rect.height), text, align) draw_text(Rect.new(rect.x, rect.y-1, rect.width, rect.height), text, align) draw_text(Rect.new(rect.x, rect.y+1, rect.width, rect.height), text, align) # Normal text self.font.color = old_col draw_text(rect, text, align) self.font.size += 2 end def draw_text_shadow(x, y, wid, hei, text, align = 0) self.font.size -= 2 old_col = self.font.color.clone # Dark shadow self.font.color = Color.new(0,0,0, 255) draw_text(x+1,y+1,wid,hei,text, align) # Small outline self.font.color = Color.new(96,96,96,96) draw_text(x+1,y,wid,hei,text, align) draw_text(x+2,y,wid,hei,text, align) draw_text(x+2,y,wid,hei,text, align) draw_text(x,y-1,wid,hei,text, align) draw_text(x,y+1,wid,hei,text, align) draw_text(x,y+2,wid,hei,text, align) # Normal self.font.color = old_col draw_text(x,y,wid,hei,text, align) self.font.size += 2 end def draw_text_outline(x, y, wid, hei, text, align = 0) self.font.color = Color.new(0, 0, 0, 255) draw_text(x + 1,y + 1,wid,hei,text, align) draw_text(x + 1,y - 1,wid,hei,text, align) draw_text(x - 1,y - 1,wid,hei,text, align) draw_text(x - 1,y + 1,wid,hei,text, align) self.font.color = Color.new(255, 255, 255, 255) draw_text(x,y,wid,hei,text, align) end def draw_text_outline2(x, y, wid, hei, text, align = 0) self.font.color = Color.new(0, 0, 0, 255) draw_text(x + 1,y + 1,wid,hei,text, align) draw_text(x + 1,y - 1,wid,hei,text, align) draw_text(x - 1,y - 1,wid,hei,text, align) draw_text(x - 1,y + 1,wid,hei,text, align) self.font.color = Color.new(255, 255, 255, 200) draw_text(x,y,wid,hei,text, align) end def draw_text_outline3(x, y, wid, hei, text, align = 0) self.font.color = Color.new(0, 0, 0, 255) draw_text(x + 1,y + 1,wid,hei,text, align) draw_text(x + 1,y - 1,wid,hei,text, align) draw_text(x - 1,y - 1,wid,hei,text, align) draw_text(x - 1,y + 1,wid,hei,text, align) self.font.color = Color.new(192, 224, 255, 255) draw_text(x,y,wid,hei,text, align) end def draw_text_outline4(x, y, wid, hei, text, align = 0) self.font.color = Color.new(0, 0, 0, 190) draw_text(x + 1,y + 1,wid,hei,text, align) draw_text(x + 1,y - 1,wid,hei,text, align) draw_text(x - 1,y - 1,wid,hei,text, align) draw_text(x - 1,y + 1,wid,hei,text, align) self.font.color = Color.new(255, 255, 255, 255) draw_text(x,y,wid,hei,text, align) end end class Window_Base < Window #===================================== # Gradient Bars , thanks to Acedent Prone def draw_normal_barz(x, y, type, length, thick, e1, e2, c1 = Color.new(255,0,0,255), c2 = Color.new(0,0,0,255)) if type == "horizontal" width = length height = thick self.contents.fill_rect(x-1, y - 1, width+2, height + 3, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width, height + 1, Color.new(0, 0, 0, 255)) w = width * e1 / e2 for i in 0..height r = c1.red + (c2.red - c1.red) * (height -i)/height + 0 * i/height g = c1.green + (c2.green - c1.green) * (height -i)/height + 0 * i/height b = c1.blue + (c2.blue - c1.blue) * (height -i)/height + 0 * i/height a = c1.alpha + (c2.alpha - c1.alpha)* (height -i)/height + 255 * i/height self.contents.fill_rect(x, y+i, w, 1, Color.new(r, g, b, a)) end elsif type == "vertical" width = thick height = length self.contents.fill_rect(x-1, y - 1, width+3, height + 2, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width+1, height , Color.new(0, 0, 0, 255)) h = height * e1 / e2 for i in 0..width r = c1.red + (c2.red - c1.red) * (width -i)/width + 0 * i/width g = c1.green + (c2.green - c1.green) * (width -i)/width + 0 * i/width b = c1.blue + (c2.blue - c1.blue) * (width -i)/width + 0 * i/width a = c1.alpha + (c2.alpha - c1.alpha)* (width -i)/width + 255 * i/width self.contents.fill_rect(x+i, y, 1, h, Color.new(r, g, b, a)) end end end def draw_actor_barz(actor,x, y, type, length, thick, e1, e2, c1 = Color.new(255,0,0,255), c2 = Color.new(0,0,0,255)) if type == "horizontal" width = length height = thick self.contents.fill_rect(x-1, y - 1, width+2, height + 3, Color.new(0, 0, 0, 255)) self.contents.fill_rect(x, y, width, height + 1, Color.new(0, 0, 0, 255)) w = width * e1 / e2 for i in 0..height r = c1.red + (c2.red - c1.red) * (height -i)/height + 0 * i/height g = c1.green + (c2.green - c1.green) * (height -i)/height + 0 * i/height b = c1.blue + (c2.blue - c1.blue) * (height -i)/height + 0 * i/height a = c1.alpha + (c2.alpha - c1.alpha)* (height -i)/height + 255 * i/height self.contents.fill_rect(x, y+i, w, 1, Color.new(r, g, b, a)) end elsif type == "vertical" width = thick height = length self.contents.fill_rect(x-1, y - 1, width+3, height + 2, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width+1, height , Color.new(0, 0, 0, 255)) h = height * e1 / e2 for i in 0..width r = c1.red + (c2.red - c1.red) * (width -i)/width + 0 * i/width g = c1.green + (c2.green - c1.green) * (width -i)/width + 0 * i/width b = c1.blue + (c2.blue - c1.blue) * (width -i)/width + 0 * i/width a = c1.alpha + (c2.alpha - c1.alpha)* (width -i)/width + 255 * i/width self.contents.fill_rect(x+i, y, 1, h, Color.new(r, g, b, a)) end end end #===================================== # New definitions def draw_battlegraphic(actor, x, y) bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue) cw = bitmap.width ch = bitmap.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #====================================== def draw_actor_statuswindow(actor, x, y) bitmap = RPG::Cache.picture(actor.character_name , actor.character_hue) cw = bitmap.width / 4 ch = bitmap.height / 4 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end #===================================== def draw_actor_face(actor, x, y) face = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue) fw = face.width fh = face.height src_rect = Rect.new(0, 0, fw, fh) self.contents.blt(x - fw / 23, y - fh, face, src_rect) end #===================================== def draw_actor_name2(actor, x, y) self.contents.font.name = $fontface self.contents.font.color = outline_color self.contents.draw_text(x - 1, y - 1, 120, 32, actor.name) self.contents.draw_text(x + 1, y - 1, 120, 32, actor.name) self.contents.draw_text(x + 1, y + 1, 120, 32, actor.name) self.contents.draw_text(x - 1, y + 1, 120, 32, actor.name) self.contents.font.color = normal_color self.contents.draw_text(x, y, 120, 32, actor.name) end #===================================== def draw_actor_level2(actor, x, y) self.contents.font.name = $fontface self.contents.font.color = outline_color self.contents.draw_text(x - 1, y - 1, 32, 32, "Lv") self.contents.draw_text(x - 1, y + 1, 32, 32, "Lv") self.contents.draw_text(x + 1, y - 1, 32, 32, "Lv") self.contents.draw_text(x + 1, y + 1, 32, 32, "Lv") self.contents.font.color = Color.new(254, 230, 159, 255) self.contents.draw_text(x, y, 32, 32, "Lv") self.contents.font.color = outline_color self.contents.draw_text(x + 31, y + 1, 24, 32, actor.level.to_s, 2) self.contents.draw_text(x + 31, y - 1, 24, 32, actor.level.to_s, 2) self.contents.draw_text(x + 33, y + 1, 24, 32, actor.level.to_s, 2) self.contents.draw_text(x + 33, y - 1, 24, 32, actor.level.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2) end #===================================== def draw_actor_class2(actor, x, y) self.contents.font.name = "Black Chancery" self.contents.font.color = outline_color self.contents.draw_text(x + 1, y + 1, 236, 32, actor.class_name) self.contents.draw_text(x + 1, y - 1, 236, 32, actor.class_name) self.contents.draw_text(x - 1, y + 1, 236, 32, actor.class_name) self.contents.draw_text(x - 1, y - 1, 236, 32, actor.class_name) self.contents.font.color = Color.new(238, 139, 254, 255) self.contents.draw_text(x, y, 236, 32, actor.class_name) end #====================================== def draw_actor_hp2(actor, x, y, width = 144) self.contents.font.name = "Tahoma" # 文字列 "HP" を描画 self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(x + 1, y + 1, 32, 32, $data_system.words.hp) self.contents.draw_text(x + 1, y - 1, 32, 32, $data_system.words.hp) self.contents.draw_text(x - 1, y - 1, 32, 32, $data_system.words.hp) self.contents.draw_text(x - 1, y + 1, 32, 32, $data_system.words.hp) self.contents.font.color = Color.new(254, 238, 189, 255) self.contents.draw_text(x, y, 32, 32, $data_system.words.hp) # MaxHP を描画するス 2506;ースがあるӔ 3;計算 if width - 32 >= 108 hp_x = x + width - 108 flag = true elsif width - 32 >= 48 hp_x = x + width - 48 flag = false end # HP を描画 self.contents.font.name = $fontface self.contents.font.size = $fontsize self.contents.font.color = outline_color self.contents.draw_text(hp_x - 1, y - 1, 48, 32, actor.hp.to_s, 2) self.contents.draw_text(hp_x - 1, y + 1, 48, 32, actor.hp.to_s, 2) self.contents.draw_text(hp_x + 1, y + 1, 48, 32, actor.hp.to_s, 2) self.contents.draw_text(hp_x + 1, y - 1, 48, 32, actor.hp.to_s, 2) self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2) # MaxHP を描画 if flag self.contents.font.color = outline_color self.contents.draw_text(hp_x + 60 - 1, y - 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 60 - 1, y + 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 60 + 1, y - 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 60 + 1, y + 1, 48, 32, actor.maxhp.to_s) self.contents.draw_text(hp_x + 48 - 1, y - 1, 12, 32, "/", 1) self.contents.draw_text(hp_x + 48 + 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(hp_x + 48 - 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(hp_x + 48 + 1, y - 1, 12, 32, "/", 1) self.contents.font.color = normal_color self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1) self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s) end end #============================================ def draw_actor_sp2(actor, x, y, width = 144) self.contents.font.name = "Tahoma" # 文字列 "SP" を描画 self.contents.font.size = 24 self.contents.font.color = outline_color self.contents.draw_text(x + 1, y + 1, 32, 32, $data_system.words.sp) self.contents.draw_text(x + 1, y - 1, 32, 32, $data_system.words.sp) self.contents.draw_text(x - 1, y - 1, 32, 32, $data_system.words.sp) self.contents.draw_text(x - 1, y + 1, 32, 32, $data_system.words.sp) self.contents.font.color = Color.new(74, 230, 51, 225) self.contents.draw_text(x, y, 32, 32, $data_system.words.sp) # MaxSP を描画するス 2506;ースがあるӔ 3;計算 if width - 32 >= 108 sp_x = x + width - 108 flag = true elsif width - 32 >= 48 sp_x = x + width - 48 flag = false end # SP を描画 self.contents.font.name = $fontface self.contents.font.size = $fontsize self.contents.font.color = outline_color self.contents.draw_text(sp_x - 1, y - 1, 48, 32, actor.sp.to_s, 2) self.contents.draw_text(sp_x - 1, y + 1, 48, 32, actor.sp.to_s, 2) self.contents.draw_text(sp_x + 1, y - 1, 48, 32, actor.sp.to_s, 2) self.contents.draw_text(sp_x + 1, y + 1, 48, 32, actor.sp.to_s, 2) self.contents.font.color = actor.sp == 0 ? knockout_color : actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2) # MaxSP を描画 if flag self.contents.font.color = outline_color self.contents.draw_text(sp_x + 60 - 1, y - 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 60 - 1, y + 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 60 + 1, y + 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 60 + 1, y - 1, 48, 32, actor.maxsp.to_s) self.contents.draw_text(sp_x + 48 - 1, y - 1, 12, 32, "/", 1) self.contents.draw_text(sp_x + 48 - 1, y - 1, 12, 32, "/", 1) self.contents.draw_text(sp_x + 48 + 1, y + 1, 12, 32, "/", 1) self.contents.draw_text(sp_x + 48 + 1, y + 1, 12, 32, "/", 1) self.contents.font.color = normal_color self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1) self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s) end end #========================================= def draw_actor_state2(actor, x, y, width = 120) self.contents.font.name = $fontface text = make_battler_state_text(actor, width, true) self.contents.font.color = outline_color self.contents.draw_text(x - 1, y - 1, width, 32, text) self.contents.draw_text(x - 1, y + 1, width, 32, text) self.contents.draw_text(x + 1, y + 1, width, 32, text) self.contents.draw_text(x + 1, y - 1, width, 32, text) self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color self.contents.draw_text(x, y, width, 32, text) end #===================================== def draw_actor_parameter2(actor, x, y, type, writing) case type when 0 parameter_name = $data_system.words.atk parameter_value = actor.atk when 1 parameter_name = $data_system.words.pdef parameter_value = actor.pdef when 2 parameter_name = "Magic Def" parameter_value = actor.mdef when 3 parameter_name = $data_system.words.str parameter_value = actor.str when 4 parameter_name = $data_system.words.dex parameter_value = actor.dex when 5 parameter_name = $data_system.words.agi parameter_value = actor.agi when 6 parameter_name = $data_system.words.int parameter_value = actor.int end self.contents.font.color = normal_color if writing == 1 self.contents.draw_text_outline(x, y, 120, 32, parameter_name) self.contents.font.color = normal_color self.contents.draw_text_outline(x + 130, y, 36, 32, parameter_value.to_s, 2) end if writing == 2 self.contents.draw_text_shadow(x, y, 120, 32, parameter_name) self.contents.font.color = normal_color self.contents.draw_text_shadow(x + 130, y, 36, 32, parameter_value.to_s, 2) end end def draw_actor_parameter3(actor, x, y, type) case type when 0 parameter_name = $data_system.words.atk parameter_value = new_atk when 1 parameter_name = $data_system.words.pdef parameter_value = new_pdef when 2 parameter_name = "Magic Def" parameter_value = new_mdef when 3 parameter_name = $data_system.words.str parameter_value = new_str when 4 parameter_name = $data_system.words.dex parameter_value = new_dex when 5 parameter_name = $data_system.words.agi parameter_value = new_agi when 6 parameter_name = $data_system.words.int parameter_value = new_int end self.contents.font.color = system_color self.contents.draw_text_outline(x, y, 120, 32, parameter_name) self.contents.font.color = normal_color self.contents.draw_text_outline(x + 130, y, 36, 32, parameter_value.to_s, 2) end #========================================= def draw_item_name2(item, x, y) if item == nil self.contents.draw_text_outline(x + 28, y, 212, 32, "EMPTY") return end bitmap = RPG::Cache.icon(item.icon_name) self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24)) self.contents.draw_text_outline(x + 28, y, 212, 32, item.name) end # New colour for outlining text - Black def outline_color return Color.new(0, 0, 0, 255) end end #================================================== ============================ # ■ Window_Selectable #-------------------------------------------------- ---------------------------- # カーソルの 1227;動やスクロӦ 0;ルの機能を持& #12388;ウィンドウ 463;ラスです。 #================================================== ============================ class Window_Itemselectable < Window_Base #-------------------------------------------------- ------------------------ # ● 公開インスタ 2531;ス変数 #-------------------------------------------------- ------------------------ attr_reader :index # カーソル位置 attr_reader :help_window # ヘルプウィン 2489;ウ #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 # x : ウィンドウの X 座標 # y : ウィンドウの Y 座標 # width : ウィンドウの 4133; # height : ウィンドウの 9640;さ #-------------------------------------------------- ------------------------ def initialize(x, y, width, height) super(x, y, width, height) @item_max = 1 @column_max = 1 @index = -1 end #-------------------------------------------------- ------------------------ # ● カーソル位置 2398;設定 # index : 新しいカーソ 2523;位置 #-------------------------------------------------- ------------------------ def index=(index) @index = index # ヘルプテキス 2488;を更新 (update_help は継承先で定 2681;される) if self.active and @help_window != nil update_help end # カーソルの矩 4418;を更新 update_cursor_rect end #-------------------------------------------------- ------------------------ # ● 行数の取得 #-------------------------------------------------- ------------------------ def row_max # 項目数と列数 2363;ら行数を算࠲ 6; return (@item_max + @column_max - 1) / @column_max end #-------------------------------------------------- ------------------------ # ● 先頭の行の取 4471; #-------------------------------------------------- ------------------------ def top_row # ウィンドウ内 3481;の転送元 Y 座標を、1 行の高さ 32 で割る return self.oy / 32 end #-------------------------------------------------- ------------------------ # ● 先頭の行の設 3450; # row : 先頭に表示す 2427;行 #-------------------------------------------------- ------------------------ def top_row=(row) # row が 0 未満の場合は 0 に修正 if row < 0 row = 0 end # row が row_max - 1 超の場合は row_max - 1 に修正 if row > row_max - 1 row = row_max - 1 end # row に 1 行の高さ 32 を掛け、ウィ 2531;ドウ内容の้ 8;送元 Y 座標とする self.oy = row * 32 end #-------------------------------------------------- ------------------------ # ● 1 ページに表示 2391;きる行数のࡢ 2;得 #-------------------------------------------------- ------------------------ def page_row_max # ウィンドウの 9640;さから、フӤ 4;ームの高さ 32 を引き、1 行の高さ 32 で割る return (self.height - 32) / 32 end #-------------------------------------------------- ------------------------ # ● 1 ページに表示 2391;きる項目数ӗ 8;取得 #-------------------------------------------------- ------------------------ def page_item_max # 行数 page_row_max に 列数 @column_max を掛ける return page_row_max * @column_max end #-------------------------------------------------- ------------------------ # ● ヘルプウィン 2489;ウの設定 # help_window : 新しいヘルプ 2454;ィンドウ #-------------------------------------------------- ------------------------ def help_window=(help_window) @help_window = help_window # ヘルプテキス 2488;を更新 (update_help は継承先で定 2681;される) if self.active and @help_window != nil update_help end end #-------------------------------------------------- ------------------------ # ● カーソルの矩 4418;更新 #-------------------------------------------------- ------------------------ def update_cursor_rect # カーソル位置 2364; 0 未満の場合 if @index < 0 self.cursor_rect.empty return end # 現在の行を取 4471; row = @index / @column_max # 現在の行が、 4920;示されていӚ 7;先頭の行より& #21069;の場合 if row < self.top_row # 現在の行が先 8957;になるようӗ 5;スクロール self.top_row = row end # 現在の行が、 4920;示されていӚ 7;最後尾の行よ& #12426;後ろの場合 if row > self.top_row + (self.page_row_max - 1) # 現在の行が最 4460;尾になるよӓ 8;にスクロール self.top_row = row - (self.page_row_max - 1) end # カーソルの幅 2434;計算 cursor_width = self.width / @column_max - 32 # カーソルの座 7161;を計算 x = @index % @column_max * (cursor_width + 6) + 10 y = @index / @column_max * 32 - self.oy # カーソルの矩 4418;を更新 self.cursor_rect.set(x, y, cursor_width, 32) end #-------------------------------------------------- ------------------------ # ● フレーム更新 #-------------------------------------------------- ------------------------ def update super # カーソルの移 1205;が可能な状 7;の場合 if self.active and @item_max > 0 and @index >= 0 # 方向ボタンの 9979;が押された࣒ 0;合 if Input.repeat?(Input::DOWN) # 列数が 1 かつ 方向ボタンの 9979;の押下状態Ӕ 4;リピートでな& #12356;場合か、 # またはカーソ 2523;位置が(項目& #25968; - 列数)より前ӗ 8;場合 if (@column_max == 1 and Input.trigger?(Input::DOWN)) or @index < @item_max - @column_max # カーソルを下 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index = (@index + @column_max) % @item_max end end # 方向ボタンの 9978;が押された࣒ 0;合 if Input.repeat?(Input::UP) # 列数が 1 かつ 方向ボタンの 9978;の押下状態Ӕ 4;リピートでな& #12356;場合か、 # またはカーソ 2523;位置が列数Ӛ 4;り後ろの場合 if (@column_max == 1 and Input.trigger?(Input::UP)) or @index >= @column_max # カーソルを上 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index = (@index - @column_max + @item_max) % @item_max end end # 方向ボタンの 1491;が押された࣒ 0;合 if Input.repeat?(Input::RIGHT) # 列数が 2 以上で、カー 2477;ル位置が(項& #30446;数 - 1)より前の場× 12; if @column_max >= 2 and @index < @item_max - 1 # カーソルを右 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index += 1 end end # 方向ボタンの 4038;が押された࣒ 0;合 if Input.repeat?(Input::LEFT) # 列数が 2 以上で、カー 2477;ル位置が 0 より後ろの場 1512; if @column_max >= 2 and @index > 0 # カーソルを左 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index -= 1 end end # R ボタンが押さ 2428;た場合 if Input.repeat?(Input::R) # 表示されてい 2427;最後尾の行Ӕ 4;、データ上の& #26368;後の行より 418;前の場合 if self.top_row + (self.page_row_max - 1) < (self.row_max - 1) # カーソルを 1 ページ後ろに 1227;動 $game_system.se_play($data_system.cursor_se) ; @index = [@index + self.page_item_max, @item_max - 1].min self.top_row += self.page_row_max end end # L ボタンが押さ 2428;た場合 if Input.repeat?(Input::L) # 表示されてい 2427;先頭の行が 0 より後ろの場 1512; if self.top_row > 0 # カーソルを 1 ページ前に移 1205; $game_system.se_play($data_system.cursor_se) ; @index = [@index - self.page_item_max, 0].max self.top_row -= self.page_row_max end end end # ヘルプテキス 2488;を更新 (update_help は継承先で定 2681;される) if self.active and @help_window != nil update_help end # カーソルの矩 4418;を更新 update_cursor_rect end end #================================================== ============================ # ■ Window_Menuselectable #-------------------------------------------------- ---------------------------- # カーソルの 1227;動やスクロӦ 0;ルの機能を持& #12388;ウィンドウ 463;ラスです。 #================================================== ============================ class Window_Menuselectable < Window_Base #-------------------------------------------------- ------------------------ # ● 公開インスタ 2531;ス変数 #-------------------------------------------------- ------------------------ attr_reader :index # カーソル位置 attr_reader :help_window # ヘルプウィン 2489;ウ #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 # x : ウィンドウの X 座標 # y : ウィンドウの Y 座標 # width : ウィンドウの 4133; # height : ウィンドウの 9640;さ #-------------------------------------------------- ------------------------ def initialize(x, y, width, height) super(x, y, width, height) @item_max = 1 @column_max = 1 @index = -1 end #-------------------------------------------------- ------------------------ # ● カーソル位置 2398;設定 # index : 新しいカーソ 2523;位置 #-------------------------------------------------- ------------------------ def index=(index) @index = index # ヘルプテキス 2488;を更新 (update_help は継承先で定 2681;される) if self.active and @help_window != nil update_help end # カーソルの矩 4418;を更新 update_cursor_rect end #-------------------------------------------------- ------------------------ # ● 行数の取得 #-------------------------------------------------- ------------------------ def row_max # 項目数と列数 2363;ら行数を算࠲ 6; return (@item_max + @column_max - 1) / @column_max end #-------------------------------------------------- ------------------------ # ● 先頭の行の取 4471; #-------------------------------------------------- ------------------------ def top_row # ウィンドウ内 3481;の転送元 Y 座標を、1 行の高さ 32 で割る return self.oy / 32 end #-------------------------------------------------- ------------------------ # ● 先頭の行の設 3450; # row : 先頭に表示す 2427;行 #-------------------------------------------------- ------------------------ def top_row=(row) # row が 0 未満の場合は 0 に修正 if row < 0 row = 0 end # row が row_max - 1 超の場合は row_max - 1 に修正 if row > row_max - 1 row = row_max - 1 end # row に 1 行の高さ 32 を掛け、ウィ 2531;ドウ内容の้ 8;送元 Y 座標とする self.oy = row * 32 end #-------------------------------------------------- ------------------------ # ● 1 ページに表示 2391;きる行数のࡢ 2;得 #-------------------------------------------------- ------------------------ def page_row_max # ウィンドウの 9640;さから、フӤ 4;ームの高さ 32 を引き、1 行の高さ 32 で割る return (self.height - 32) / 32 end #-------------------------------------------------- ------------------------ # ● 1 ページに表示 2391;きる項目数ӗ 8;取得 #-------------------------------------------------- ------------------------ def page_item_max # 行数 page_row_max に 列数 @column_max を掛ける return page_row_max * @column_max end #-------------------------------------------------- ------------------------ # ● ヘルプウィン 2489;ウの設定 # help_window : 新しいヘルプ 2454;ィンドウ #-------------------------------------------------- ------------------------ def help_window=(help_window) @help_window = help_window # ヘルプテキス 2488;を更新 (update_help は継承先で定 2681;される) if self.active and @help_window != nil update_help end end #-------------------------------------------------- ------------------------ # ● カーソルの矩 4418;更新 #-------------------------------------------------- ------------------------ def update_cursor_rect # カーソル位置 2364; 0 未満の場合 if @index < 0 self.cursor_rect.empty return end # 現在の行を取 4471; row = @index / @column_max # 現在の行が、 4920;示されていӚ 7;先頭の行より& #21069;の場合 if row < self.top_row # 現在の行が先 8957;になるようӗ 5;スクロール self.top_row = row end # 現在の行が、 4920;示されていӚ 7;最後尾の行よ& #12426;後ろの場合 if row > self.top_row + (self.page_row_max - 1) # 現在の行が最 4460;尾になるよӓ 8;にスクロール self.top_row = row - (self.page_row_max - 1) end # カーソルの幅 2434;計算 cursor_width = self.width / @column_max - 32 # カーソルの座 7161;を計算 x = @index % @column_max * (cursor_width + 32) y = @index / @column_max * 40 - self.oy # カーソルの矩 4418;を更 end #-------------------------------------------------- ------------------------ # ● フレーム更新 #-------------------------------------------------- ------------------------ def update super # カーソルの移 1205;が可能な状 7;の場合 if self.active and @item_max > 0 and @index >= 0 # 方向ボタンの 9979;が押された࣒ 0;合 if Input.repeat?(Input::DOWN) # 列数が 1 かつ 方向ボタンの 9979;の押下状態Ӕ 4;リピートでな& #12356;場合か、 # またはカーソ 2523;位置が(項目& #25968; - 列数)より前ӗ 8;場合 if (@column_max == 1 and Input.trigger?(Input::DOWN)) or @index < @item_max - @column_max # カーソルを下 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index = (@index + @column_max) % @item_max end end # 方向ボタンの 9978;が押された࣒ 0;合 if Input.repeat?(Input::UP) # 列数が 1 かつ 方向ボタンの 9978;の押下状態Ӕ 4;リピートでな& #12356;場合か、 # またはカーソ 2523;位置が列数Ӛ 4;り後ろの場合 if (@column_max == 1 and Input.trigger?(Input::UP)) or @index >= @column_max # カーソルを上 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index = (@index - @column_max + @item_max) % @item_max end end # 方向ボタンの 1491;が押された࣒ 0;合 if Input.repeat?(Input::RIGHT) # 列数が 2 以上で、カー 2477;ル位置が(項& #30446;数 - 1)より前の場× 12; if @column_max >= 2 and @index < @item_max - 1 # カーソルを右 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index += 1 end end # 方向ボタンの 4038;が押された࣒ 0;合 if Input.repeat?(Input::LEFT) # 列数が 2 以上で、カー 2477;ル位置が 0 より後ろの場 1512; if @column_max >= 2 and @index > 0 # カーソルを左 2395;移動 $game_system.se_play($data_system.cursor_se) ; @index -= 1 end end # R ボタンが押さ 2428;た場合 if Input.repeat?(Input::R) # 表示されてい 2427;最後尾の行Ӕ 4;、データ上の& #26368;後の行より 418;前の場合 if self.top_row + (self.page_row_max - 1) < (self.row_max - 1) # カーソルを 1 ページ後ろに 1227;動 $game_system.se_play($data_system.cursor_se) ; @index = [@index + self.page_item_max, @item_max - 1].min self.top_row += self.page_row_max end end # L ボタンが押さ 2428;た場合 if Input.repeat?(Input::L) # 表示されてい 2427;先頭の行が 0 より後ろの場 1512; if self.top_row > 0 # カーソルを 1 ページ前に移 1205; $game_system.se_play($data_system.cursor_se) ; @index = [@index - self.page_item_max, 0].max self.top_row -= self.page_row_max end end end # ヘルプテキス 2488;を更新 (update_help は継承先で定 2681;される) if self.active and @help_window != nil update_help end # カーソルの矩 4418;を更新 update_cursor_rect end end #================================================== ============================ # ■ Window_Menucommand #-------------------------------------------------- ---------------------------- # 一般的なコ 2510;ンド選択をඡ 2;うウィンドウ& #12391;す。 #================================================== ============================ class Window_Menucommand < Window_Menuselectable #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 # width : ウィンドウの 4133; # commands : コマンド文字 1015;の配列 #-------------------------------------------------- ------------------------ def initialize(width, commands) # コマンドの個 5968;からウィンӠ 9;ウの高さを算& #20986; super(0, 0, width, commands.size * 32 + 32) @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, @item_max * 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh self.index = 0 end #-------------------------------------------------- ------------------------ # ● リフレッシュ #-------------------------------------------------- ------------------------ def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------- ------------------------ # ● 項目の描画 # index : 項目番号 # color : 文字色 #-------------------------------------------------- ------------------------ def draw_item(index, color) self.contents.font.color = color rect = Rect.new(4, 32 * index, self.contents.width - 8, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index]) end #-------------------------------------------------- ------------------------ # ● 項目の無効化 # index : 項目番号 #-------------------------------------------------- ------------------------ def disable_item(index) draw_item(index, disabled_color) end end #================================================== ============================ # ■ Window_Help #-------------------------------------------------- ---------------------------- # スキルやア 2452;テムの説明ӌ 9;アクターのス& #12486;ータスなど 434;表示するウィ ;ンドウです。 #================================================== ============================ class Window_Menuhelp < Window_Base #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 #-------------------------------------------------- ------------------------ def initialize super(0, - 77, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = 18 self.opacity = 0 end #-------------------------------------------------- ------------------------ # ● テキスト設定 # text : ウィンドウに 4920;示する文字࠵ 5; # align : アラインメン 2488; (0..左揃え、1..中 央揃え、2..右揃 え) #-------------------------------------------------- ------------------------ def set_text(text, align = 0) # テキストとア 2521;インメントӗ 8;少なくとも一& #26041;が前回と違 387;ている場合 if text != @text or align != @align # テキストを再 5551;画 self.contents.clear self.contents.font.color = normal_color self.contents.draw_text(4, 0, self.width - 40, 32, text, align) @text = text @align = align @actor = nil end self.visible = true end #-------------------------------------------------- ------------------------ # ● アクター設定 # actor : ステータスを 4920;示するアクӟ 9;ー #-------------------------------------------------- ------------------------ def set_actor(actor) if actor != @actor self.contents.clear draw_actor_name(actor, 4, 0) draw_actor_state(actor, 140, 0) draw_actor_hp(actor, 284, 0) draw_actor_sp(actor, 460, 0) @actor = actor @text = nil self.visible = true end end #-------------------------------------------------- ------------------------ # ● エネミー設定 # enemy : 名前とステー 2488;を表示するӝ 6;ネミー #-------------------------------------------------- ------------------------ def set_enemy(enemy) text = enemy.name state_text = make_battler_state_text(enemy, 112, false) if state_text != "" text += " " + state_text end set_text(text, 1) end end #================================================== ============================ # ■ Window_Gold #-------------------------------------------------- ---------------------------- # ゴールドを 4920;示するウィӥ 1;ドウです。 #================================================== ============================ class Window_Gold < Window_Base #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 #-------------------------------------------------- ------------------------ def initialize super(0, 0, 200, 64) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = 21 refresh end #-------------------------------------------------- ------------------------ # ● リフレッシュ #-------------------------------------------------- ------------------------ def refresh self.contents.clear cx = contents.text_size("Gold").width self.contents.font.color = outline_color self.contents.draw_text(81, - 1, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.draw_text(81, 1, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.draw_text(79, 1, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.draw_text(79, - 1, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(80, 0, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.font.color = outline_color self.contents.draw_text(- 1, - 1, cx, 32, "Gold", 2) self.contents.draw_text(1, 1, cx, 32, "Gold", 2) self.contents.draw_text(- 1, 1, cx, 32, "Gold", 2) self.contents.draw_text(1, - 1, cx, 32, "Gold", 2) self.contents.font.color = Color.new(254, 230, 159, 255) self.contents.draw_text(0, 0, cx, 32, "Gold", 2) end end #================================================== ============================ # ■ Window_PlayTime #-------------------------------------------------- ---------------------------- # メニュー画 8754;でプレイ時 1;を表示するウ& #12451;ンドウです 290; #================================================== ============================ class Window_PlayTime < Window_Base #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 #-------------------------------------------------- ------------------------ def initialize super(0, 0, 200, 70) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = 21 self.opacity = 0 refresh end #-------------------------------------------------- ------------------------ # ● リフレッシュ #-------------------------------------------------- ------------------------ def refresh self.contents.clear self.contents.font.color = outline_color self.contents.draw_text(1, - 1, 120, 32, "Play Time") self.contents.draw_text(1, 1, 120, 32, "Play Time") self.contents.draw_text(-1, - 1, 120, 32, "Play Time") self.contents.draw_text(-1, 1, 120, 32, "Play Time") self.contents.font.color = Color.new(254, 230, 159, 255) self.contents.draw_text(0, 0, 120, 32, "Play Time") @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.font.color = outline_color self.contents.draw_text(39, - 1, 120, 32, text, 2) self.contents.draw_text(39, 1, 120, 32, text, 2) self.contents.draw_text(41, 1, 120, 32, text, 2) self.contents.draw_text(41, -1, 120, 32, text, 2) self.contents.font.color = normal_color self.contents.draw_text(40, 0, 120, 32, text, 2) end #-------------------------------------------------- ------------------------ # ● フレーム更新 #-------------------------------------------------- ------------------------ def update super if Graphics.frame_count / Graphics.frame_rate != @total_sec refresh end end end #================================================== ============================ # ■ Window_MenuStatus #-------------------------------------------------- ---------------------------- # メニュー画 8754;でパーティӣ 3;ンバーのステ& #12540;タスを表示 377;るウィンドウ ;です。 #================================================== ============================ class Window_MenuStatus < Window_Selectable #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 #-------------------------------------------------- ------------------------ def initialize super(0, 0, 480, 430) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize refresh self.active = false self.index = -1 end #-------------------------------------------------- ------------------------ # ● リフレッシュ #-------------------------------------------------- ------------------------ def refresh self.contents.clear @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 100 - i * 18 y = i * 100 actor = $game_party.actors draw_actor_face(actor, x - 40, y + 80) draw_actor_name2(actor, x + 50, y) draw_actor_class2(actor, x + 50, y + 50) draw_actor_level2(actor, x + 50, y + 25) draw_actor_state2(actor, x + 155, y + 50) draw_actor_hp2(actor, x + 140, y ) draw_actor_sp2(actor, x + 140, y + 25) draw_actor_barz(actor, x + 140, y + 25, "horizontal", 130, 1, actor.hp, actor.maxhp, Color.new(254, 238, 189, 255), Color.new(182, 137, 2, 255)) draw_actor_barz(actor, x + 140, y + 50, "horizontal", 130, 1, actor.sp, actor.maxsp, Color.new(74, 230, 51, 225), Color.new(35, 150, 19, 225)) end end #-------------------------------------------------- ------------------------ # ● カーソルの矩 4418;更新 #-------------------------------------------------- ------------------------ def update_cursor_rect self.cursor_rect.empty end end #================================================== ============================ # ■ Window_Item #-------------------------------------------------- ---------------------------- # アイテム画 8754;、バトル画༣ 4;で、所持アイ& #12486;ムの一覧を" 920;示するウィン ;ドウです。 #================================================== ============================ class Window_Menuitem < Window_Itemselectable #-------------------------------------------------- ------------------------ # ● オブジェクト 1021;期化 #-------------------------------------------------- ------------------------ def initialize super(0, 500, 640, 380) @column_max = 2 refresh self.index = 0 self.opacity = 0 # 戦闘中の場合 2399;ウィンドウӛ 4;画面中央へ移& #21205;し、半透明 395;する if $game_temp.in_battle self.y = 64 self.height = 256 self.back_opacity = 160 end end #-------------------------------------------------- ------------------------ # ● アイテムの取 4471; #-------------------------------------------------- ------------------------ def item return @data[self.index] end #-------------------------------------------------- ------------------------ # ● リフレッシュ #-------------------------------------------------- ------------------------ def refresh if self.contents != nil self.contents.dispose self.contents = nil end spero di essere stato d'aiuto Link to comment Share on other sites More sharing options...
0 MShaka Posted August 13, 2008 Author Share Posted August 13, 2008 No purtroppo per me no...Grazie lo stesso comunque... Quello che intendo io è questo qui: http://www.rmxp.org/forums/index.php?topic=2778.0 Ma purtroppo il link non funge Link to comment Share on other sites More sharing options...
Question
MShaka
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now