[XP]เปลี่ยนร่างฮีโร่เมื่อเลเวลถึงที่กำหนด
สคริปต์เขียนโดย :
thetitsueng
ลิงค์ต้นฉบับ :
Link
รายละเอียด :
สคริปต์นี้เป็นสคริปต์ที่จะทำให้เมื่อถึงเลเวลที่กำหนด จะเปลี่ยนตัวละคร จาก ID หนึ่งไปอีก ID หนึ่ง
สกรีนช๊อต :
ไม่มีน่อ
วิธีการใช้งาน :
=> วิธีใช้ : เอาไปไว้เหนือ Main และใต้ Scene_Debug
=> วิธีตั้งค่า : วิธีใช้ให้ไปที่ ฐานข้อมูล>ฮีโร่ แล้วที่ชื่อฮีโร่ให้ใส่ตามแบบฟอร์มด้านล่าง
<ชื่อฮีโร่>||[l<ใส่เลเวลที่ฮีโร่จะเปลี่ยนร่าง>][i<ใส่ไอดีของฮีโร่ที่ต้องการให้เปลี่ยนเมื่อถึงเลเวลที่กำหนด>]
เช่น นายไข่นุ้ย||[l4][i6]
แปลได้ว่า เมื่อนายไข่นุ้ยมีเลเวลถึง 4 ก็จะเปลี่ยนเป็นฮีโร่ที่มีไอดี 6
ข้อตกลงการนำไปใช้งาน :
อย่างน้อยๆก็ใส่ชื่อ
thetitsueng ลงในเครดิตด้วยล่ะ
โค๊ดสคริปต์
Code:
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=:
# [XP]เปลี่ยนร่างฮีโร่เมื่อเลเวลถึงที่กำหนด
# By thetitsueng
# Ver 1.00 [29/9/2552]
# http://necz.net
# [email protected]
#=====================================================
=begin
------------------------------------------------------
=> วิธีใช้ : เอาไปไว้เหนือ Main และใต้ Scene_Debug
=> วิธีตั้งค่า : สคริปต์นี้เป็นสำหรับ เปลี่ยนร่างฮีโร่เมื่อถึงเลเวลที่กำหนด
วิธีใช้ให้ไปที่ ฐานข้อมูล>ฮีโร่ แล้วที่ชื่อฮีโร่ให้ใส่ตามแบบฟอร์มด้านล่าง
<ชื่อฮีโร่>||[l<ใส่เลเวลที่ฮีโร่จะเปลี่ยนร่าง>][i<ใส่ไอดีของฮีโร่ที่ต้องการให้เปลี่ยนเมื่อถึงเลเวลที่กำหนด>]
เช่น นายไข่นุ้ย||[l4][i6]
แปลได้ว่า เมื่อนายไข่นุ้ยมีเลเวลถึง 4 ก็จะเปลี่ยนเป็นฮีโร่ที่มีไอดี 6
------------------------------------------------------
=end
#=====================================================
# *ส่วนการตั้งค่า
module Thetitsueng
Reset_exp = true #ถ้าตั้งเป็น true เมื่อฮีโร่เปลี่ยนร่างจะรีเช็ตค่าประสบการณ์ ถ้าตั้งเป็น false จะไม่รีเช็ต
end
# *จบส่วนการตั้งค่า
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=:
class Game_Map
alias update_ori update
def update
update_ori
for i in 0...$game_party.actors.size
if $id_hero_index.include?($game_party.actors[i].id)
a = $game_party.actors[i].id
if $game_party.actors[i].level >= $level_hero[a]
exp = $game_party.actors[i].exp unless Thetitsueng::Reset_exp
$game_party.actors[i] = $game_actors[$id_hero[a]]
$game_party.actors[i].exp = exp unless Thetitsueng::Reset_exp
$game_player.refresh
end
end
end
end
end
class Scene_Title
alias command_new_game_ori command_new_game
def command_new_game
$level_hero = [] ; $id_hero = [] ; $id_hero_index = []
command_new_game_ori
for i in 1...$data_actors.size
x = $game_actors[i].name
id_index = id = level = 0
if x.scan(/\[i([0-9]+)\]/).size > 0 : id_index = i end
if x.scan(/\[i([0-9]+)\]/).size > 0 : id = $1.to_i end
if x.scan(/\[l([0-9]+)\]/).size > 0 : level = $1.to_i end
$game_actors[i].name.gsub!(/\|\|[\S]+/){|s| s=""}
$id_hero_index[i] = id_index
$level_hero[i] = level
$id_hero[i] = id
end
end
end
class Scene_Save < Scene_File
alias write_save_data_ori write_save_data
def write_save_data(file)
write_save_data_ori(file)
Marshal.dump($level_hero, file)
Marshal.dump($id_hero, file)
Marshal.dump($id_hero_index, file)
end
end
class Scene_Load < Scene_File
alias read_save_data_ori read_save_data
def read_save_data(file)
read_save_data_ori(file)
$level_hero = Marshal.load(file)
$id_hero = Marshal.load(file)
$id_hero_index = Marshal.load(file)
end
end
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=:
# [XP]เปลี่ยนร่างฮีโร่เมื่อเลเวลถึงที่กำหนด
# By thetitsueng
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=: