irpg Community
[สคริปต์] Map Limit Breaker~ทำให้ใช้ได้เกิน 999 แมพ+ - 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: [สคริปต์] Map Limit Breaker~ทำให้ใช้ได้เกิน 999 แมพ+ (/thread-666.html)



[สคริปต์] Map Limit Breaker~ทำให้ใช้ได้เกิน 999 แมพ+ - Galaxy - 10-17-2012

สคริปต์นี้ก็ตามชื่อเลยครับ Map Limit Breaker เขียนขึ้นมาเพื่อปลดลิมิตแมพให้ใช้ได้เกิน 999 นั่นเอง~

ก่อนอื่นเลยก็ต้องบอกก่อนว่า:
-
Editor หรือตัวโปรแกรม RPG Maker นั้น มันจะไม่ยอมโหลดแมพ ID มากกว่า 999
ขึ้นมาให้เห็นในโปรแกรม เพราะงั้นคุณต้องแมพด้วย ID ต่ำกว่า 999
หรือแมพในโปรเจคอื่น แล้วเอามาเปลี่ยนชื่อไฟล์ตรง ID แมพ

- และเพราะโปรแกรมจะไม่โหลดแมพ ID มากกว่า 999 ขึ้นมาให้เห็น ตอนเทเลพอร์ตจะต้องใช้วิธี Call Script แทน

- หาวิธีทำให้มันใช้ง่ายกว่านี้ไม่ได้แล้วน่ะครับ เพราะติดปัญหาที่ตัวโปรแกรม ใครมีไอเดียอื่นบอกได้น้อ~!

---------------------------------------------

Download Demo

http://www.mediafire.com/?zwzlljhzlzr

อันนี้เป็นเดโมสคริปต์ครับ ออกจะเผาไปนิดน้อ

ตอนที่ผมลองโหลดเจอปัญหา่ว่าไฟล์ออกมาไม่มีนามสกุล เติม .rar เข้าไปด้านหลังชื่อไฟล์ก็แกะได้แล้วฮะ :3

ผมไม่ได้สร้างแมพถึงพันแมพนะ แค่ลองเทสด้วยการเปลี่ยนชื่อแมพเป็น Map2000.rxdata ซะ

---------------------------------------------
Script
Code:
#===============================================================
# ? [XP] ? Map Limit Breaker ? ?
# * ใช้ได้มากกว่า 999 แมพ~! *
#--------------------------------------------------------------
# ? by Woratana [[email protected]]
# ? Thaiware RPG Maker Community
# ? Released on: 23/05/2008
# ? Version: 1.0
#--------------------------------------------------------------

#==========================================
# ** วิธีการใช้
#------------------------------------------
# 1. ถ้าแมพอยู่ในโปรเจคอื่น ให้ก็อปมาวางในโฟลเดอร์ Data ของโปรเจคที่เราต้องการใช้ 999+ แมพก่อน
# ไฟล์แมพจะอยู่ในโฟลเดอร์ Data ของโปรเจคนั้น ๆ และมีชื่อ 'Map(IDแมพ).rxdata'
# 2. เปลี่ยนชื่อไฟล์แมพที่ IDแมพ ให้เป็นตัวเลขเกิน 999 เช่น 'Map020.rxdata' => 'Map1000.rxdata'
# 3. แมพ ID เกิน 999 จะไม่โชว์ใน Editor แต่สามารถใช้ในเกมได้
# 4. เวลาจะเทเลพอร์ตไปแมพที่ ID เกิน 999 ให้ Call Script...
#  teleport(ID แมพ, X, Y, ทิศทางการหันหน้า, fadeหน้าจอ)
#
# * ID Map: ID ของแมพที่เราต้องการไป เช่น 1000 (สามารถใช้กับแมพ ID ต่ำกว่า 999 ได้เช่นกัน)
# * X: แกน X ของช่องปลายทางในแมพที่เราต้องกรไป
# * Y: แกน Y ของช่องปลายทางในแมพที่เราต้องการไป
# * ทิศทางการหันหน้า: 0 - ทิศทางเดิม, 2 - ลง, 4 - ซ้าย, 6 - ขวา, 8 - ขึ้น
# * fadeหน้าจอ: true - Fade, false - ไม่ Fade
#==========================================

class Interpreter
  def teleport(mmap_id, mx, my, mdir = 0, mfade = true)
    @parameters = [0,mmap_id,mx,my,mdir,(mfade ? 0 : 1)]
    command_201
  end
end

[/b]สคริปต์ยาวทั้งสิ้น 33 บรรทัดครับ เป็นสคริปต์จริง ๆ 5 บรรทัด -____-" ที่เหลือเป็นบรรทัดคอมเม้นท์กับบรรทัดเปล่า~

พอดีนึกวิธีเจ๋ง ๆ ขึ้นมาได้ ผมลองหาวิธีเขียนให้สั้นที่สุดแล้วครับ ได้สั้นที่สุดแค่นี้แล~ (ยกเว้นจะใช้ ; ปิดบรรทัด เหอๆ)

---------------------------------------------

How to use

วิธีใช้จากสคริปต์ครับ ถ้าไม่เข้าใจตรงไหนถามได้ครับ

Quote:#==========================================
# ** วิธีการใช้
#------------------------------------------
# 1. ถ้าแมพอยู่ในโปรเจคอื่น ให้ก็อปมาวางในโฟลเดอร์ Data ของโปรเจคที่เราต้องการใช้ 999+ แมพก่อน
# ไฟล์แมพจะอยู่ในโฟลเดอร์ Data ของโปรเจคนั้น ๆ และมีชื่อ 'Map(IDแมพ).rxdata'

# 2. เปลี่ยนชื่อไฟล์แมพที่ IDแมพ ให้เป็นตัวเลขเกิน 999 เช่น 'Map020.rxdata' => 'Map1000.rxdata'

# 3. แมพ ID เกิน 999 จะไม่โชว์ใน Editor แต่สามารถใช้ในเกมได้

# 4. เวลาจะเทเลพอร์ตไปแมพที่ ID เกิน 999 ให้ Call Script...
# teleport(ID แมพ, X, Y, ทิศทางการหันหน้า, fadeหน้าจอ)
#
# * ID Map: ID ของแมพที่เราต้องการไป เช่น 1000 (สามารถใช้กับแมพ ID ต่ำกว่า 999 ได้เช่นกัน)
# * X: แกน X ของช่องปลายทางในแมพที่เราต้องกรไป
# * Y: แกน Y ของช่องปลายทางในแมพที่เราต้องการไป
# * ทิศทางการหันหน้า: 0 - ทิศทางเดิม, 2 - ลง, 4 - ซ้าย, 6 - ขวา, 8 - ขึ้น
# * fadeหน้าจอ: true - Fade, false - ไม่ Fade
---------------------------------------------

เครดิต วอราม่อน