Map Areas
สคริปต์เขียนโดย :
game_guy (Ronnie Mooney)
ลิงค์ต้นฉบับ :
http://rpgmkr.net/forum/topic/1573-monster-areas-script
รายละเอียด :
เป็นการกำหนดพื้นที่ ที่จะเจอกลุ่มมอนสเตอร์แตกต่างกัน คล้ายๆ แผนที่โลก เจอมอนเตอร์ที่จะเก่งขึ้นเรือยๆ -.-(แบบ FF,DQ)
สกรีนช๊อต :
วิธีการใช้งาน :
ใน สคริปต์ ได้บอกไว้แล้ว
ข้อตกลงการนำไปใช้งาน :
อย่างน้อยๆก็ใส่ชื่อ ผู้เขียนสคริปต์ ลงในเครดิตให้ด้วย
โค๊ดสคริปต์
อันนี้ต่างจากต้นฉบับ โดยไม่ต้องคำนวนกว้างยาวเท่าไร แค่ใส่จุดเริ่มกับจุดสุดท้ายเท่านั้น
Code:
#===============================================================================
# Map Areas
# Author game_guy (Ronnie Mooney)
# Version 1.0
#-------------------------------------------------------------------------------
# บทนำ
# จำวันเก่า ๆ เหล่านั้นใน RM2k หรือ 2k3 ได้ไหม?
# คุณสามารถกำหนดพื้นที่บนแผนที่ของเราเอง
# โดยแต่ละพื้นที่จะเจอมอนสเตอร์ไม่เหมือนกัน
# เมื่อเดินพื้นที่รอบๆ คุณก็จะต่อสู้กับมอนสเตอร์
# ไปยังเขตที่กำหนดไว้
# ง่ายต่อการกำหนดค่า
# พื้นที่ไม่ จำกัด สำหรับแต่ละแผนที่
# เพียงแค่กำหนดค่าแผนที่ที่คุณต้องการ
#
# คำแนะนำ
# ทุกคำแนะนำการกำหนดค่าอยู่ด้านล่าง
#
# สินเชื่อ
# ~ Game_guy สำหรับการสร้างสคริปต์
# ~ Enterbrain เพิ่มคุณสมบัติในการผลิตโบราณนี้
#
#
# ขอขอบคุณเป็นพิเศษ
# Blizzard
# Winkie
# Fantasist
# Zeriab
# พวกเหล่านี้ค่อยให้คำปรึกษากับฉันและค่อยช่วยเหลือฉัน
# ในการเขียนสคริปต์ โดยพวกเขา และความรู้ของพวกเขาผมจะทำนี้
# บทซับซ้อนมากขึ้น ที่จริงฉันอาจจะยังคง eventer
# โดยพวกเขาเป็นแรงบันดาลใจให้ผมพยายามที่จะ scripter ผมได้เรียนรู้มากที่สุด
# เคล็ดลับฉันรู้กับพวกเขา ขอขอบคุณ guys, = D
#
# (ยังคงมองหาการตั้งค่าที่มีต่อด้านล่าง ... )
#===============================================================================
module GG_Areas
Maps = []
# (ใช่มันอยู่ที่นี่ครับ)
#========================================================
# Mapas
# ขั้นแรกคุณจะต้องเพิ่มบรรทัดภายใต้
#'เพิ่มบรรทัดใหม่ด้านล่างของมันจากนั้นพิมพ์นี้ :
# Maps[map_id] = []
# map_id? ID ของแผนที่ที่คุณ? ต้องการเพิ่มพื้นที่
# (ดูด้านล่างเพื่อดูวิธีการตั้งค่าพื้นที่เหล่านี้)
#========================================================
Maps[1] = []
# เพิ่มบรรทัดใหม่ด้านล่างของมัน
#========================================================
# ภายใต้สายใหม่ที่คุณจะต้องเพิ่ม
# แถว ดังนั้นไปข้างหน้าและชนิดดังต่อไปนี้
# Maps[map_id][area_id] = [x_start, y_start, x_end, y_end, [troops]]
#
# Map_id id = รหัสแผนที่
# Area_id = หมายเลข พื้นที่ (ต้องเป็นที่แตกต่างกันในพื้นที่ ของแต่ละแผนที่)
# x_start = x พิกัดพื้นที่ เริ่มต้นในแผนที่ (ในกระเบื้อง)
# y_start = y พิกัดพื้นที่ เริ่มต้นในแผนที่ (ในกระเบื้อง)
# x_end = x พิกัดพื้นที่ สุดท้ายในแผนที่ (ในกระเบื้อง)
# y_end = y พิกัดพื้นที่ สุดท้ายในแผนที่ (ในกระเบื้อง)
# troops = รหัสกลุ่มมอนสเตอร์
# (ดูตัวอย่างด้านล่างนี้ :)
#========================================================
# นี่คือคำอธิบายสั้น ๆ :
# แผนที่ 1, จำนวนเนื้อที่ 1 เริ่มต้นที่พิกัด
# x_start = 0, y_start = 0
# x_end = 6, y_end = 6
# ตัวอย่าง
#
# [0,0][ ][ ][ ][ ][ ][ ]
# [ ][ ][ ][ ][ ][ ][ ]
# [ ][ ][ ][ ][ ][ ][ ]
# [ ][ ][ ][ ][ ][ ][ ]
# [ ][ ][ ][ ][ ][ ][ ]
# [ ][ ][ ][ ][ ][ ][ ]
# [ ][ ][ ][ ][ ][ ][6,6]
# กลุ่มมอนสเตอร์รหัส 1, 2
#========================================================
Maps[1][1] = [0, 0, 6, 6, [1, 2]]
Maps[1][2] = [7, 0, 14, 6, [5, 6]]
Maps[1][3] = [0, 7, 6, 13, [7, 8]]
# เพิ่มบรรทัดใหม่ด้านล่างของมัน
end
class Game_Player < Game_Character
alias gg_upd_areas_player_lat update
def update
gg_upd_areas_player_lat
areas = GG_Areas::Maps[$game_map.map_id]
return if areas == nil
areas.each{|a|
if a != nil && @x >= a[0] && @x <= a[2]
if @y >= a[1] && @y <= a[3]
$game_map.map.encounter_list = a[4]
end
end}
end
end
class Game_Map
attr_accessor :map
end
ปล.พอเข้าอาณาเขตมอนสเตอร์แล้ว ออกไป พื้นที่ไม่กำหนดอาณาเขตไว้ ก็ยังเจอมอนสเตอร์อาณาเขตนั้นอยู่
เช่น เข้าอาณาเขตหมาป่า พอออก พื้นที่ไม่กำหนดอาณาเขตไว้ ยังเจอหมาป่าอยู่
แล้วเข้าอาณาเขตปลา พอออก พื้นที่ไม่กำหนดอาณาเขตไว้ ก็ยังเจอปลา
สรุป area เป็นกำหนดเจอมอนสเตอร์แบบนั้นตลอด จนกว่าจะเข้า area อันใหม่
ส่วนฉากหลัง Battle จะใช้ Event เปลี่ยนตามภูมิประเทศ [0~7]
ให้ตั้งค่าแบบนี้ เครดิตโดย Pบุ๊ค
เหตุการ์ณทั่วไป
http://image.free.in.th/z/ix/untitleds14.jpg
แล้วสร้าง Event ในแมพเป็น
http://image.free.in.th/z/in/untitleds13.jpg