irpg Community
+[RGSS23] Simple Event Sensor สร้างอาณาเขตรอบตัวเหตุการณ์ - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: RGSS and JS Showcase (https://irpg.in.th/forum-26.html)
+--- Thread: +[RGSS23] Simple Event Sensor สร้างอาณาเขตรอบตัวเหตุการณ์ (/thread-2980.html)



+[RGSS23] Simple Event Sensor สร้างอาณาเขตรอบตัวเหตุการณ์ - hengmana - 10-26-2016

Simple Event Sensor สร้างอาณาเขตรอบตัวเหตุการณ์

สคริปต์เขียนโดย : LiTTleDRAgo
ลิงค์ต้นฉบับ : http://littledrago.blogspot.com/2011/09/rgss-simple-event-sensor.html

ข้อตกลงการนำไปใช้งาน :
คุณสามารถใช้งานได้ตามที่คุณต้องการ แม้ในเชิงพาณิชย์ projects.All ขอเพียรชื่อเล่นของฉัน (LiTTleDRAgo) ปรากฏขึ้นในเครดิตเกมของคุณ

สกรีนช๊อต :
[Image: 161025052255.gif]

รายละเอียด :
เป็นตัว ตรวจจับเซนเซอร์อาณาเขตในระยะรอบตัวเหตุการณ์
ถ้าเมื่อตัวเราเข้ามาในอาณาเขตตัวเหตุการณ์นั้น จะทำให้เกิดเหตุบางอย่างเกิดขึ้น
ตัวอย่าง มีมอนมาเดิมเพ่นพ่านไม่สมใจเรา แต่เมื่อใด เข้ามาในระยะมัน มันจะวิ่งไล่เข้ามาอย่างรวดเร็ว

โค๊ดสคริปต์ +[RGSS123]
Code:
########################################
# Simple Event Sensor
# Version: 1.10
# Author : LiTTleDRAgo
########################################
# Instruction :
#  
# Set the event name to : <Sensor(RANGE)>
# example :
#            <Sensor4>
#
# If player is in event sensor range, Self switch D (default) will turned ON
#
##################################################

class Game_Event < Game_Character
#-----------------------------------------------------------------------
  SENSOR_SELF_SWITCH = "D"
#-----------------------------------------------------------------------
  alias drago64c_update update
  def update
    sensor_updating unless @unsensor
    drago64c_update  
  end

  def sensor_updating
    @event.name =~ /<Sensor(\d+)>/i
    s = [$1.to_i,[$game_map.map_id,@id,SENSOR_SELF_SWITCH],[]]
    s[2] = [(($game_player.x-self.x).abs + ($game_player.y-self.y).abs <=
          s[0]), $game_self_switches[s[1]]] if s[0] > 0
    return unless s[0] > 0 && s[2][0] != s[2][1]
    $game_self_switches[s[1]], $game_map.need_refresh = s[2][0], true
  end
end
ก็อปโค๊ดข้างบนทั้งหมดแล้ว ให้ใส่โค๊ด ไว้ในช่องสคริปต์(F11)ระหว่าง Scene_Debug กับ Main

วิธีการใช้งาน : (RMXP)
สร้างตัวเหตุการณ์ ตั้งชื่อเป็น <Sensor4> โดย4คือ ช่องระยะรัศมีรอบตัว
แล้วสร้างหน้า2ขึ้นมาใหม่ แล้วติ้ก ตัวสวิทช์เฉพาะ D (เริ่มต้น) เปิด แล้วสร้างเหตุการณ์ตามใจชอบ
[Image: 161025052517.jpg]


RE: +[RGSS23] Simple Event Sensor สร้างอาณาเขตรอบตัวเหตุการณ์ - Mysticphoenix - 10-26-2016

ขอบคุณครับ ใช้บ่อยมาก สคริปแนวนี้


RE: +[RGSS23] Simple Event Sensor สร้างอาณาเขตรอบตัวเหตุการณ์ - hengmana - 10-26-2016

Super Event Sensor - Event NPC AI [XP]Version: 1.02

สคริปต์ต้นฉบับ เขียนโดย : LiTTleDRAgo
สคริปต์พัฒนาขึ้นโดย : Heretic
ลิงค์ต้นฉบับ : http://forum.chaos-project.com/index.php/topic,13686.0.html

ข้อตกลงการนำไปใช้งาน :
ต้นฉบับ ของ LiTTleDRAgo ปรากฏลงในเกมเครดิตเกมของคุณ แม้ใช้ในเชิงพาณิชย์
แต่พัฒนาขึ้นของ Heretic ยังไม่แน่ชัด


รายละเอียด :
เป็นตัว ตรวจจับเซนเซอร์อาณาเขตในระยะรอบตัวเหตุการณ์ ที่พัฒนาขึ้นมากกว่าต้นฉบับ เช่น
มีกล่องวางบังไว้อยู่อาณาเขต ถ้าเราอยู่หลังกล่องเซนเซอร์ตรวจจับจะไม่ทำงานทำให้ไม่เหตุการณ์ขึ้น
และรวมถึงตรวจจับเสียง ฯลฯ แต่วิธีการใช้งาน ก็จะยากขึ้นตามไปด้วย

โค๊ดสคริปต์ [RGSS1]
ตามลิงค์ต้นฉบับ และ มีตัวอย่างเกมให้ทดสอบในลิงค์ต้นฉบับ