作者bill (太极狂龙)
看板RPGMaker
标题Re: [问题] RMXP 可以新增两样以上的装饰品吗?
时间Thu Aug 13 03:01:12 2009
※ 引述《snake0214 (蛇)》之铭言:
: xp内建只能装备一种装饰品 感觉自由度跟搭配度颇低
: 所以想要做出可装备两种到三种的组合可能
成果预览
http://imgur.com/viU1V.jpg
http://imgur.com/BMr9f.jpg

Game_Actor类别,在attr_reader :armor4_id後加上
attr_reader :armor5_id
Game_Actor >> setup方法,在@armor4_id = actor.armor4_id後加上
@armor5_id = 0
Game_Actor >> element_rate方法,把
for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
改成
for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id, @armor5_id]
Game_Actor >> state_guard?方法,改法同上
Game_Actor >> base_str方法,在armor4 = $data_armors[@armor4_id]後加上
armor5 = $data_armors[@armor5_id]
在n += armor4 != nil ? armor4.str_plus : 0後加上
n += armor5 != nil ? armor5.str_plus : 0
Game_Actor >> base_dex方法,改法同上,但str_plus改成dex_plus
Game_Actor >> base_agi和base_int方法,改法依此类推
Game_Actor >> base_pdef方法,在armor4 = $data_armors[@armor4_id]後加上
armor5 = $data_armors[@armor5_id]
在pdef5 = armor4 != nil ? armor4.pdef : 0後加上
pdef6 = armor5 != nil ? armor5.pdef : 0
将return pdef1 + pdef2 + pdef3 + pdef4 + pdef5改成
return pdef1 + pdef2 + pdef3 + pdef4 + pdef5 + pdef6
Game_Actor >> base_mdef方法,改法依此类推
Game_Actor >> base_eva方法,在armor4 = $data_armors[@armor4_id]後加上
armor5 = $data_armors[@armor5_id]
在eva4 = armor4 != nil ? armor4.eva : 0後加上
eva5 = armor5 != nil ? armor5.eva : 0
将return eva1 + eva2 + eva3 + eva4改成
return eva1 + eva2 + eva3 + eva4 + eva5
Game_Actor >> equip_fix?方法,在
return $data_actors[@actor_id].armor4_fix後加上
when 5
return $data_actors[@actor_id].armor4_fix
Game_Actor >> equip方法,在
when 4
if id == 0 or $game_party.armor_number(id) > 0
...
...
end
後加上
when 5
if id == 0 or $game_party.armor_number(id) > 0
update_auto_state($data_armors[@armor5_id], $data_armors[id])
$game_party.gain_armor(@armor5_id, 1)
@armor5_id = id
$game_party.lose_armor(id, 1)
end
Game_Actor >> class_id=方法,在
unless equippable?($data_armors[@armor4_id])
equip(4, 0)
end
後加上
unless equippable?($data_armors[@armor5_id])
equip(5, 0)
end
Window_EquipRight >> initialize方法,将
self.contents = Bitmap.new(width - 32, height - 32)
改成
self.contents = Bitmap.new(width - 32, height)
Window_EquipRight >> refresh方法,在
@data.push($data_armors[@actor.armor4_id])
後加上
@data.push($data_armors[@actor.armor5_id])
在
self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
後加上
self.contents.draw_text(5, 32 * 5, 92, 32, $data_system.words.armor4)
在draw_item_name(@data[4], 92, 32 * 4)後加上
draw_item_name(@data[5], 92, 32 * 5)
Window_Status >> refresh方法,在
draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)
後加上
draw_item_name($data_armors[@actor.armor5_id], 320 + 16 + 144, 400)
Scene_Equip >> refresh方法,将
@item_window5.visible = (@right_window.index == 4)
改成
@item_window5.visible = (@right_window.index == 4 or @right_window.index == 5)
在
when 4
@item_window = @item_window5
後加上
when 5
@item_window = @item_window5
到此大功告成!
: 本人还初学,所以关於RGSS的部分多是使用他人所公开的程式码
: 但这两天的爬文结果下来,没找到相关的RGSS写法分享
: 所以来这边不耻厚问 希望能有好心高手帮解答
: THX
嗯...好像没有「不耻厚问」这句成语
如果你要说的是「不耻下问」的话
请参阅教育部重编国语辞典修订本
http://dict.revised.moe.edu.tw/index.html
这句通常拿来恭维别人
很少用在自己身上
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.97.33
1F:推 snake0214:囧 对不起我国文程度很差 不过还是很感谢解答 08/13 09:46
2F:→ snake0214:顺带一提 网址好像失效了.. 08/13 09:46
※ 编辑: bill 来自: 122.124.102.162 (08/13 18:47)
3F:→ bill:已修正连结 08/13 18:47