ผู้เขียนเคยเขียนบทความแก้ปัญหาภาษาไทยใน RPG Maker MV ไปแล้ว (http://planila.blogspot.com/2017/03/rpg-maker-mv.html) ในบทความนี้จะมาแจกสคริปต์แก้ปัญหาภาษาไทยใน RPG Maker VX Ace บ้าง
อย่างที่รู้กันว่า RPG Maker ตั้งแต่เวอร์ชั่น VX Ace ลงไปมีปัญหากับการใช้ภาษาไทยเป็นอย่างมาก ทั้งตัวอักษรเป็นสี่เหลี่ยมและสระลอย วิธีแก้ปัญหาตัวอักษรสี่เหลี่ยมคือการเปลี่ยนฟอนต์ (แก้ใน Script Editor แถบ Main) ส่วนวิธีแก้ปัญหาสระลอยกับวรรณยุกต์ลอยต้องพึ่งสคริปต์ด้านล่างนี้
วิธีแก้ปัญหาภาษาไทยใน RMVXA
- คลิกเมนู Tool & Script Editor... หรือกดปุ่ม F11
- ในแถบ Script ด้านซ้ายมือ คลิกขวาที่ใต้หัวข้อ Materials แล้วคลิก Insert จะมีหน้าเปล่าขึ้นมา
- คัดลอกสคริปต์ด้านล่างนี้ลงในหน้าเปล่านั้น
- คลิก OK
สคริปต์แก้ปัญหาภาษาไทยใน RMVXA
# ** Message Thai Vovel and Outline Fix
#------------------------------------------------------------------------------
# By : Admannon
#==============================================================================
#==============================================================================
# ** Window Base
#==============================================================================
class Window_Base < Window
@@thai_vovel = "ัิีึื่้๊๋็์ุูํฺ"
#--------------------------------------------------------------------------
# * Preconvert Control Characters
#--------------------------------------------------------------------------
alias thai_fix_convert_escape_characters convert_escape_characters unless $@
def convert_escape_characters(text)
result = thai_fix_convert_escape_characters(text).clone
result.gsub!(/ำ/) { "ํา" }
result
end
#--------------------------------------------------------------------------
# * Normal Character Processing
#--------------------------------------------------------------------------
def process_normal_character(c, pos)
text_width = text_size©.width
draw_text(pos[:x], pos[:y], text_width * 2, pos[:height], c)
pos[:x] += text_width unless @@thai_vovel.include?©
end
end
#==============================================================================
# ** Bitmap
#==============================================================================
class Bitmap
alias outline_fix_draw_text draw_text unless $@
def draw_text(*args)
s = text_size(" ").width
a = args.size - (args[args.size - 1].is_a?(String) ? 1 : 2)
args[a] = " " + args[a].to_s
if args[0].is_a?(Rect)
args[0].x -= s
args[0].width += s
else
args[0] -= s
args[2] += s
end
outline_fix_draw_text(*args)
end
end
สคริปต์โดย admannon จาก http://irpg.in.th/thread-1066.html
ถ้าท่านลองนำสคริปต์นี้ไปใช้แล้วมีปัญหาหรือไม่ได้ผลอย่างไร ท่านสามารถโพสต์แสดงความคิดเห็นได้ข้างล่างบทความนี้ ผู้เขียนจะพยายามหาวิธีแก้ไขและตอบคำถามให้ท่าน ดังนั้นไม่ต้องกังวลว่าท่านจะหาทางออกไม่ได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น