RPGMaker 板


LINE

※ 引述《yinsheng (總是被忽略...)》之銘言: : 想增加第二裝飾品 : 所以用了板上bill大1709篇的RGSS修改內容 : 然後又用RPG教學站ritud大提供的商店畫面改造 : 進入遊戲測試後卻發現 : 假設身上裝了一個力戒+15力量 還剩一個飾品空格 : 這時要到商店再買一個力戒 資訊顯示上卻不會有任何的增加 : 想請問要如何修改RGSS讓商店資訊顯示能夠判斷我有兩個飾品 : 好能夠正確顯示我打算裝同樣物品時的增加數值 我改寫了ritud大的商店畫面改造腳本 效果預覽http://imgur.com/hNZIV.jpg
可以看到游標正停在商店中的力量戒指上 隊員「拜倫」裝備的一號飾品是「力量戒指」,二號飾品是「防護戒指」 而他的「力量」欄位後的兩個數字分別是「增加0」和「增加15」 「靈巧」欄位後的兩個數字分別是「增加0」和「減少15」 (一號飾品) (二號飾品) 就表示說,如果你買了商店中的力量戒指把他的一號飾品替換掉 他的力量和靈巧都不會變動 而如果是把二號飾品替換掉 則他的力量會增加15,靈巧會減少15 使用時請先將舊版的腳本刪除 然後貼上下列腳本: #============================================================================== # ■ Window_ShopStatus #------------------------------------------------------------------------------ #  商店畫面、顯示物品所持數與角色裝備的窗口。 #============================================================================== class Window_ShopStatus < Window_Base #-------------------------------------------------------------------------- # ● 初始化對像 #-------------------------------------------------------------------------- def initialize super(368, 128, 272, 352) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.size = 16 @item = nil refresh end #-------------------------------------------------------------------------- # ● 刷新 #-------------------------------------------------------------------------- def refresh self.contents.clear if @item == nil return end case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end self.contents.font.color = system_color self.contents.draw_text(4, 0, 200, 32, "所持數") self.contents.font.color = normal_color self.contents.draw_text(204, 0, 32, 32, number.to_s, 2) if @item.is_a?(RPG::Item) return end for i in 0...$game_party.actors.size # 獲取角色 actor = $game_party.actors[i] # 可以裝備為普通文字顏色、不能裝備設置為無效文字顏色 if actor.equippable?(@item) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end # 描繪角色名字 j = 70 self.contents.draw_text(0, 32 + j * i, 84, 32, actor.name) i += 1 x = -16 if @item.is_a?(RPG::Weapon) self.contents.draw_text(80*0, x+j * i, 112, 32,"攻擊",0) self.contents.draw_text(80*1, x+j * i, 112, 32,"力量",0) self.contents.draw_text(80*2, x+j * i, 112, 32,"靈巧",0) self.contents.draw_text(80*0, x+j * i+16, 112, 32,"速度",0) self.contents.draw_text(80*1, x+j * i+16, 112, 32,"魔力",0) self.contents.draw_text(80*2, x+j * i+16, 112, 32,"防禦",0) else self.contents.draw_text(80*0, x+j * i, 112, 32,"力量",0) self.contents.draw_text(80*1, x+j * i, 112, 32,"靈巧",0) self.contents.draw_text(80*2, x+j * i, 112, 32,"速度",0) self.contents.draw_text(80*0, x+j * i+16, 112, 32,"魔力",0) self.contents.draw_text(80*1, x+j * i+16, 112, 32,"物防",0) self.contents.draw_text(80*2, x+j * i+16, 112, 32,"魔防",0) end max = 0 # 獲取當前的裝備品 if @item.is_a?(RPG::Weapon) item1 = $data_weapons[actor.weapon_id] elsif @item.kind == 0 item1 = $data_armors[actor.armor1_id] elsif @item.kind == 1 item1 = $data_armors[actor.armor2_id] elsif @item.kind == 2 item1 = $data_armors[actor.armor3_id] else item1 = $data_armors[actor.armor4_id] max = 1 end t = 0 while t <= max if t == 1 item1 = $data_armors[actor.armor5_id] end # 可以裝備的情況 #if actor.equippable?(@item) # 武器的情況 str1 = item1 != nil ? item1.str_plus : 0 str2 = @item != nil ? @item.str_plus : 0 dex1 = item1 != nil ? item1.dex_plus : 0 dex2 = @item != nil ? @item.dex_plus : 0 agi1 = item1 != nil ? item1.agi_plus : 0 agi2 = @item != nil ? @item.agi_plus : 0 int1 = item1 != nil ? item1.int_plus : 0 int2 = @item != nil ? @item.int_plus : 0 pdef1 = item1 != nil ? item1.pdef : 0 pdef2 = @item != nil ? @item.pdef : 0 mdef1 = item1 != nil ? item1.mdef : 0 mdef2 = @item != nil ? @item.mdef : 0 a = [] if @item.is_a?(RPG::Weapon) atk1 = item1 != nil ? item1.atk : 0 atk2 = @item != nil ? @item.atk : 0 a[0] = atk2 - atk1 a[1] = str2 - str1 a[2] = dex2 - dex1 a[3] = agi2 - agi1 a[4] = int2 - int1 a[5] = pdef2 - pdef1 + mdef2 - mdef1 else a[0] = str2 - str1 a[1] = dex2 - dex1 a[2] = agi2 - agi1 a[3] = int2 - int1 a[4] = pdef2 - pdef1 a[5] = mdef2 - mdef1 end #--------------------------------------------------------------------- q=40-10 ym = -16 for k in 0..5 drawdata(80*(k%3)+q+t*22, ym+j*i+16*(k/3), 32/(max+1),32, a[k], max) end #--------------------------------------------------------------------- self.contents.font.color = Color.new(159,251,162,255) self.contents.font.color = normal_color # 描繪物品 if item1 != nil x = 86 + 80*t y = 32 + j * (i-1) bitmap = RPG::Cache.icon(item1.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y , bitmap, Rect.new(0, 0, 32, 32), opacity) self.contents.draw_text(x + 26, y, 96/(max+1), 32, item1.name) end t +=1 end i -= 1 end end #-------------------------------------------------------------------------- # ● 設置物品 # item : 新的物品 #-------------------------------------------------------------------------- def item=(item) if @item != item @item = item refresh end end #-------------------------------------------------------------------------- # ● # #-------------------------------------------------------------------------- def drawdata(dx, dy, dw, dh, dd, max) if dd >=0 self.contents.font.color = Color.new(159,251,162,255) self.contents.draw_text(dx, dy, dw, dh,"↑",0) else self.contents.font.color = Color.new(255,0,0,255) self.contents.draw_text(dx, dy, dw, dh,"↓",0) end self.contents.font.color = Color.new(159,251,162,255) self.contents.draw_text(dx+12, dy, dw, dh, dd.abs.to_s,0) end end --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.105.92
1F:推 yinsheng:太感謝了 我竟然沒想到可以弄成兩組來顯示 01/08 01:12







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP