State Requirement Skills
สคริปต์เขียนโดย :
[Faint]
Version: 1.0 - Date: 11/10/2009
ลิงค์ต้นฉบับ :
http://forum.chaos-project.com/index.php?topic=4996.0
รายละเอียด :
[สคริปต์] นี้ใช้ในฉาก Battler
เวลาใช้ Skills บางอย่างโดยต้องติดอาการนั้นก่อนจึงใช้สกิลนั้นได้ เช่น
ติดอาการพิษ ก่อนจึงใช้สกิล ท่าดาบอาบยาพิษ ได้ หรือ
ติดอาการตาบอด ก่อนจึงใช้สกิล ความรักทำให้คนตาบอด ได้
และต้องไม่เลือกติดอาการใช้คำสั่งสกิลไม่ได้ เช่น (หลับ ชา ใบ้ หลง ตาย)
วิธีการใช้งาน :
when [ สกิลตามID ] then return [ ติดอาการตามID ]
ตัวอย่าง
when 57 then return 3 # ใช้สกิลกางเขน ได้ต้องติดอาการ พิษ ก่อน
หรือจะโมติดหลายอย่างได้ โดยใช้ and , ro เช่นตัวอย่าง
when 57 then return ( 3 and 4 ) # ใช้สกิลกางเขน ต้องติดอาการ พิษ บอด พร้อมกันเท่านั้น จึงจะใช้ได้
when 57 then return ( 3 ro 4 ) # ใช้สกิลกางเขน ต้องติดอาการ พิษ บอด อย่างใดอย่างหนึ่งก่อน หรือ ติดพร้อมกันก็ได้
ใช้คู่กับ
RGSS1 ใช้สกิลแล้วจะติดหรือลบอาการตัวผู้ใช้เองได้
ได้โดย ลบอาการ เมื่อใช้ท่านั้นออก
โค๊ดสคริปต์
Code:
#*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=#
# State Requirement Skills #
# Author: [Faint] #
# Version: 1.0 #
# Date: 11/10/2009 #
#*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=#
# This Add-on allows you to make skills require a specified state to be #
# inflicted upon the actor before they can use said skill. #
#*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=#
module SRConfigs
def self.req_state(id)
case id
#*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=#
# Configs #
# when SKILL_ID then return REQUIRED_STATE_ID #
# SKILL_ID - ID of the Skill. #
# REQUIRED_STATE_ID - ID of the State required to use the Skill. #
#*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=#
# when [ สกิลตามID ] then return [ ติดอาการตามID ]
when 57 then return 3 # ใช้สกิลกางเขน ได้ต้องติดอาการ พิษ ก่อน
end
return
end
end
#==============================================================================#
# Game_Battler #
#==============================================================================#
class Game_Battler
alias state_met? skill_can_use?
def skill_can_use?(skill_id)
data = SRConfigs.req_state(skill_id)
return data != nil && !self.state?(data) ? false : state_met?(skill_id)
end
end