irpg Community

Full Version: การเพิ่มคำสั่งใหม่ในเมนู
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[Image: menu1_3.png]
เป็นการเพิ่มคำสั่งต่างๆ(สคริปประเภทเรียก scene)ที่เราหามาได้เข้าไปในเมนู
เพื่อเพิ่มความสะดวกในการเรียกใช้งานในสคริปต์

ในที่นี้จะยกตัวอย่างการเพิ่มสัก 1 คำสั่ง เพิ่มการเพิ่มคำสั่งสร้างไอเทม(สมมุติ)

1.ให้เราเพิ่มอีกบรรทัดเข้าไปว่า s5 = "ชื่อคำสั่งที่จะโชว์" ใต้ s4 = "Status"
2.จากนั้นก็รันเลขเพิ่มไปอีกอย่างละ1 ตามรูปด้านล่าง

รูปสำหรับข้อ 1-4
[Image: menu1_1.png]

3.จากนั้นไปบรรทัด
Code:
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
ให้แก้เป็น
Code:
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
เพื่อเพิ่มคำสั่งเป็น 7 คำสั่ง

4.เพิ่ม
Code:
@command_window.height = 224
ใต้
Code:
@command_window.index = @menu_index
เพื่อจำกัดขนาดกรอบ (ถ้าไม่กำหนดกรอบจะยาวลงมาบังพวกเวลา)
*ในรูปผมลืมทำบรรทัดนี้*

Code:
if $game_party.actors.size == 0
      # Nullifying the item, skill, equipment and status
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
ส่วนนี้จะเป็นตัวเช็คว่าเมื่อจำนวนฮีโร่เท่ากับ0 จะไม่สามารถใช้คำสั่งที่ 1-4 ได้ (เป็นสีเทา)
กรณีที่เราใส่คำสั่งที่ตำแหน่งอื่นต้องดูให้ตรงกันด้วย
*ในรูปผมตีเส้นไว้แล้วว่าอันไหนเป็นอันไหน*
(ตัวเลขส่วนนี้จะเริ่มรันจาก 0 ระวังจำสับสนให้ดี)

5.จากนั้นมาราวๆบรรทัดที่ 150 ใต้
Code:
when 3  # Status
        # Performing decision SE
        $game_system.se_play($data_system.decision_se)
        # The status window is made active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
ให้เพิ่ม
Code:
when 4  # craft
แล้วตามด้วยสคริปดังรูป(ล่าง)

รูปสำหรับข้อ 5-6
[Image: menu1_2.png]
บรรทัดที่2 ให้ก็อบแถวๆบรรทัดนั้นก็ได้
บรรทัดที่3 ให้ใส่ $scene ที่เราต้องการเพิ่มลงไป

6.จากนั้นก็รัน when อันต่อมาให้เป็น 5 และ 6 ตามลำดับก็เป็นอันเสร็จเรียบร้อย
*กรณีที่แก้คำสั่งใหม่ให้อยู่อันที่ เหนือกว่าคำสั่ง สกิล สวมใส่ สเตตัส ต้องไปแก้ที่
def update_status ต่อด้วย (แก้เลขตรง when)

แค่นี้เวลารัน คำสั่งก็จะเป็นดังภาพแรกแล้ว

ดูเหมือนยาก แต่ทำจริงๆนาทีเดียวก็เสร็จและ และเอาประยุกต์ใช้ได้อีกมากมาย

เครดิต : Shinryu