hengmana   08-15-2012, 10:27 PM
#1
Map Areas
สคริปต์เขียนโดย : game_guy (Ronnie Mooney)
ลิงค์ต้นฉบับ : http://rpgmkr.net/forum/topic/1573-monster-areas-script

รายละเอียด :
เป็นการกำหนดพื้นที่ ที่จะเจอกลุ่มมอนสเตอร์แตกต่างกัน คล้ายๆ แผนที่โลก เจอมอนเตอร์ที่จะเก่งขึ้นเรือยๆ -.-(แบบ FF,DQ)
สกรีนช๊อต :
[Image: map-areas.jpg]

วิธีการใช้งาน :
ใน สคริปต์ ได้บอกไว้แล้ว
ข้อตกลงการนำไปใช้งาน :
อย่างน้อยๆก็ใส่ชื่อ ผู้เขียนสคริปต์ ลงในเครดิตให้ด้วย

โค๊ดสคริปต์
อันนี้ต่างจากต้นฉบับ โดยไม่ต้องคำนวนกว้างยาวเท่าไร แค่ใส่จุดเริ่มกับจุดสุดท้ายเท่านั้น
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]
[Image: untitleds11.jpg]

ให้ตั้งค่าแบบนี้ เครดิตโดย Pบุ๊ค
เหตุการ์ณทั่วไป
http://image.free.in.th/z/ix/untitleds14.jpg
แล้วสร้าง Event ในแมพเป็น
http://image.free.in.th/z/in/untitleds13.jpg
This post was last modified: 11-02-2015, 09:07 PM by hengmana.
luvikung   08-16-2012, 12:37 AM
#2
แจ๋วครับ ไว้สำหรับพวกคนชอบทำเกมแนวโปเกม่อนได้ =w=b

ปล. จริงๆสคริปสุ่มมอนในพื้นที่นี่ก็มีเยอะแล้วนะ =[]=
Mysticphoenix   08-16-2012, 09:54 AM
#3
Me gusta

[Image: webboard%20signature1_zpskhtut2jg.png]
การทำอาหารที่อร่อยที่สุด และเดือดร้อนชาวบ้านมากที่สุด กำลังจะเริ่มขึ้น
ACSII   08-16-2012, 11:42 AM
#4
[Image: d6bdf9f24a.png]
คือเราต้องการสุ่มใน "ทางเดิน" แบบในรูปน่ะครับ ว่าโอกาสจะเจอบอส 10% น่ะครับทำได้ใช่มั้ย

[Image: XAJGLBg.png]
hengmana   08-16-2012, 06:02 PM
#5
^
Maps[1][1] = [0, 0, 6, 6, [1, 2]]
ให้กลุ่ม 30 เป็นบอส เพิ่มเป็น
Maps[1][1] = [0, 0, 6, 6, [ 1, 1, 1, 1, 1, 2, 2, 2, 2, 30 ]]

1/10 * 100 = 10%

ปล.แบบในรูปต้องทำ พ.ท.สี่เหลี่ยม 2~3อันนะ
This post was last modified: 08-16-2012, 06:06 PM by hengmana.
Muge9thD   08-16-2012, 08:55 PM
#6
สคริปต์นี้ผมเคยเห็นในเมืองนอกแล้ว ของเค้าดีจริงๆนะเอ้อ!!!

@ACSII บอสโผล่ตรงทางเดินมันดูแปลกๆอยู่นา...

ปล. วิธีใช้ในสคริปต์นั่นให้อากู๋แปลให้สินะ /confident
This post was last modified: 08-16-2012, 08:57 PM by Muge9thD.
ACSII   08-16-2012, 09:00 PM
#7
บอส richter กำลังนั่งรถม้าเข้าปราสาทไงเดินสุ่มๆเจอใน 10%

ถ้าฆ่าได้จะสามารถเรียก richter มาโจมตีได้

[Image: XAJGLBg.png]
  
Users browsing this thread: 4 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.