Code:
โค๊ดของสคริปต์
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=:
# [XP]มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง
# By Thetitsueng
# Ver 1.00 [24/3/2553]
# http://necz.net
# neczth@gmail.com
#=====================================================
=begin
------------------------------------------------------
=> วิธีตั้งค่า :
- นำไปใส่ไว้เหนือ Main และใต้ Scene_Debug
=> วิธีใช้ :
- ตั้งค่าการดรอปไอเทมของมอนเตอร์ได้ตั้งแต่บรรทัด 24
------------------------------------------------------
=end
#=====================================================
# *ส่วนการตั้งค่า
#=====================================================
class Scene_Battle
def initialize_item
@monster_id = []
item,armor,weapon = "item","armor","weapon"
# ตั้งค่าการดรอปไอเทมได้ที่บรรทัดนี้
@monster_id[1] = [ [item,1,100],[armor,2,30],[weapon,2,20] ]
@monster_id[2] = [ [item,1,100],[item,5,40] ]
@monster_id[5] = [ [item,2,55],[item,5,40],[weapon,10,1] ]
# สามารถเพิ่มได้โดยใช้แบบฟอร์มด้านล่าง
# @monster_id[ไอดีของศัตรู] = [ [ประเภท,ไอดีของไอเทมในประเภท,โอกาศที่จะได้รับ],... ]
# เช่น @monster_id[1] = [ [item,1,100],[armor,2,30] ]
# หมายถึงมอนเตอร์ไอดี 1 มีโอกาสดรอปไอเทม ไอดี 1 100% และ ชุดเกราะไอดี 2 30%
# ประเภทของไอเทมมีดังนี้ => item,armor,weapon
#=====================================================
# *จบส่วนการตั้งค่า
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=:
end
def start_phase5
initialize_item
@phase = 5
$game_system.me_play($game_system.battle_end_me)
$game_system.bgm_play($game_temp.map_bgm)
exp = 0
gold = 0
treasures = []
for enemy in $game_troop.enemies
unless enemy.hidden
id = enemy.id
exp += enemy.exp
gold += enemy.gold
if @monster_id[id] == nil
if rand(100) < enemy.treasure_prob
if enemy.item_id > 0
treasures.push($data_items[enemy.item_id])
end
if enemy.weapon_id > 0
treasures.push($data_weapons[enemy.weapon_id])
end
if enemy.armor_id > 0
treasures.push($data_armors[enemy.armor_id])
end
end
else
for @a in @monster_id[id]
if rand(100) < @a[2]
if @a[0] == "item"
treasures.push($data_items[@a[1]])
elsif @a[0] == "weapon"
treasures.push($data_weapons[@a[1]])
elsif @a[0] == "armor"
treasures.push($data_armors[@a[1]])
end
end
end
end
end
end
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
last_level = actor.level
actor.exp += exp
if actor.level > last_level
@status_window.level_up(i)
end
end
end
$game_party.gain_gold(gold)
for item in treasures
case item
when RPG::Item
$game_party.gain_item(item.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item.id, 1)
when RPG::Armor
$game_party.gain_armor(item.id, 1)
end
end
@result_window = Window_BattleResult.new(exp, gold, treasures)
@phase5_wait_count = 100
end
end
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=:
# [XP]มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง
# By thetitsueng
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=: