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灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP