[XP] ระบบ terrain หรือ ระบบพื้นที่ - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html) +--- Forum: The Great RPG Maker Library (https://irpg.in.th/forum-5.html) +--- Thread: [XP] ระบบ terrain หรือ ระบบพื้นที่ (/thread-249.html) |
[XP] ระบบ terrain หรือ ระบบพื้นที่ - Shinryu - 07-08-2012 เป็นคำสั่งเพื่อให้สามารถตรวจเช็คได้ว่าเหตุการณ์อยู่บนพื้นที่แบบไหน เช่นอยู่บนพื้นหญ้า อยู่บนพื้นทราย หรืออยู่ในน้ำโดยมันจะเก็บเป็นตัวแปรในในโปรแกรมซึ่งเราสามารถตรวจสอบมันได้จากคำสั่งตัวแปรหรือสคริป เราจะรู้ได้ไงว่าพื้นที่ไหนเหตุการณ์ยืนอยู่เป็น terrain เท่าไรสามารถไปดูได้ที่นี่ โดยตัวเลขเราสามารถกำหนด ได้ 0-7 (ปกติจะเป็น 0 ทั้งหมด) เราจะกำหนดว่าเทลเซตใดเป็น terrain อะไรก็ได้ ตัวอย่างการทำ terrain เช่น เมื่อเดินบนทรายความเร็วจะลดลง เมื่อเดินในบึงพิษหรือลาวาพลังจะลดลงเรื่อยๆ วีธีการตรวจเช็ค terrain ทำได้ 2 วิธีคือ 1.เช็คผ่านตัวแปร ดังรูป เราจะเช็คเหตุการณ์อื่นนอกจากฮีโร่ก็ได้ จากนั้นเราก็ใช้คำสั่ง "ตรวจเช็คเงื่อนไข" ว่าตัวแปร terrain นั้นตรงกับเลขอะไรถึงจะเกิดเหตุการณ์ที่เราต้องการ 2.เช็คผ่านสคริปในคำสั่ง "ตรวจเช็คเงื่อนไข" Code: $game_player.terrain_tag == xx กรณีที่เป็นเหตุการณ์อื่นนอกจากฮีโร่จะใส่ว่า Code: $game_map.events[id เหตุการณ์].terrain_tag == xx ต.ย. http://www.mediafire.com/?ujjzddywnnw Credit : shinryu RE: [XP] ระบบ terrain หรือ ระบบพื้นที่ - Mysticphoenix - 07-10-2012 สามารถเอามาประยุกต์ทำระบบเจอมอนสเตอร์เฉพาะในหญ้าได้แบบโปเกมอนด้วย คือตั้งcommon eventเช็คเนื้อเรื่องไว้ตลอด ถ้า $game_player.terrain_tag == 2 อะไรงี้ ให้ encounter enable ถ้าไม่ตรงให้ encounter disable สามารถทำเบ็ดตกปลาได้ด้วย โดยเช็คดังนี้ ถ้าฮีโร่หันลง Code: $game_map.terrain_tag($game_variables[11], $game_variables[12]+1) == 3 && $game_map.terrain_tag($game_variables[11], $game_variables[12]+1) != 4 ถ้าฮีโร่หันขึ้น Code: $game_map.terrain_tag($game_variables[11], $game_variables[12]-1) == 3 && $game_map.terrain_tag($game_variables[11], $game_variables[12]-1) != 4 ถ้าฮีโร่หันซ้าย Code: $game_map.terrain_tag($game_variables[11]-1, $game_variables[12]) == 3 && $game_map.terrain_tag($game_variables[11]-1, $game_variables[12]) != 4 ถ้าฮีโร่หันขวา Code: $game_map.terrain_tag($game_variables[11]+1, $game_variables[12]) == 3 && $game_map.terrain_tag($game_variables[11]+1, $game_variables[12]) != 4 ให้ $game_variables[11] เป็นพิกัด x ของฮีโร่ และ $game_variables[12] เป็นพิกัด y ของฮีโร่ ให้ terrain tag 3 คือน้ำและ terrain tag 4 คือสะพาน (ในกรณีที่สะพานอยู่เหนือน้ำด้วย โปรแกรมจะได้รู้) |