Re: [問題] RMXP 可以新增兩樣以上的裝飾品嗎?
看板RPGMaker (RPG製作大師 - RPG Maker)作者bill (太極狂龍)時間15年前 (2009/08/13 03:01)推噓1(1推 0噓 2→)留言3則, 2人參與討論串2/3 (看更多)
※ 引述《snake0214 (蛇)》之銘言:
: xp内建只能裝備一種裝飾品 感覺自由度跟搭配度頗低
: 所以想要做出可裝備兩種到三種的組合可能
成果預覽
http://imgur.com/viU1V.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
推
08/13 09:46, , 1F
08/13 09:46, 1F
→
08/13 09:46, , 2F
08/13 09:46, 2F
※ 編輯: bill 來自: 122.124.102.162 (08/13 18:47)
→
08/13 18:47, , 3F
08/13 18:47, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
RPGMaker 近期熱門文章
PTT遊戲區 即時熱門文章