-
-
Save admannon/07eb77c1d59a1a3df6264d192b0f1dc6 to your computer and use it in GitHub Desktop.
#============================================================================== | |
# ** Message Thai Vovel and Outline Fix | |
#------------------------------------------------------------------------------ | |
# By : Admannon | |
#------------------------------------------------------------------------------ | |
# This code is licensed under the terms of the MIT license | |
#============================================================================== | |
#============================================================================== | |
# ** Window Message | |
#============================================================================== | |
class Window_Base < Window | |
@@THAI_MARKS = "\u0E31\u0E34\u0E35\u0E36\u0E37\u0E48\u0E49\u0E4A\u0E4B\u0E47\u0E4C\u0E38\u0E39\u0E4D\u0E3A" | |
@@TEXT_SLICE = /.[#{@@THAI_MARKS}]*/m | |
#-------------------------------------------------------------------------- | |
# * 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!(/([#{@@THAI_MARKS}]+)\u0E33/, "\u0E4D\\1\u0E32") | |
result.gsub!(/\u0E33([#{@@THAI_MARKS}]+)/, "\u0E4D\\1\u0E32") | |
result.gsub!(/\u0E33/ , "\u0E4D\u0E32" ) | |
return result | |
end | |
#-------------------------------------------------------------------------- | |
# * Process Normal Character | |
#-------------------------------------------------------------------------- | |
def process_normal_character(c, pos) | |
c = " #{c}" | |
space_width = text_size(" ").width | |
text_width = text_size( c ).width | |
draw_text(pos[:x] - space_width, pos[:y], text_width << 1, pos[:height], c) | |
pos[:x] += text_width - space_width | |
end | |
#-------------------------------------------------------------------------- | |
# * Draw Text in Normal Window | |
#-------------------------------------------------------------------------- | |
def draw_text_ex(x, y, text) | |
reset_font_settings | |
text = convert_escape_characters(text) | |
pos = {:x => x, :y => y, :new_x => x, :height => calc_line_height(text)} | |
process_character(text.slice!(@@TEXT_SLICE), text, pos) until text.empty? | |
end | |
end | |
#============================================================================== | |
# ** Window Message | |
#============================================================================== | |
class Window_Message < Window_Base | |
#-------------------------------------------------------------------------- | |
# * Draw Text in Message Window | |
#-------------------------------------------------------------------------- | |
def process_all_text | |
open_and_wait | |
text = convert_escape_characters($game_message.all_text) | |
pos = {} | |
new_page(text, pos) | |
process_character(text.slice!(@@TEXT_SLICE), text, pos) until text.empty? | |
end | |
end |
ผมให้ไฟล์ Text ครับ Window_Base Window_Message
https://drive.google.com/file/d/1QREkiwyFwmHwlBsWp-zk9m9Q-FnvtEUe/view?usp=sharing
ขอโทษนะครับผมที่ตอบช้านะครับ พอดีติดเขียน Patch Windows XP นะครับ
แปลเกมไม่ใช่งานหลักนะครับ
เจอละครับ ตก @
ตรงบรรทัดนั้นไปตัวนึง 🥲
แก้ให้แล้วนะครับ
ขอบคุณที่แจ้ง bug มานะครับ 🙏
อนาคตจะมี Script แก้ปัญหาสระลอยหรือเกมมองสระเป็นเหมือนพยัญชนะของ RPG Maker XP ไหมครับผม พอดีผมเจอปัญหาเรื่องสระเหมือนกับหลายๆ คนเลย
อนาคตจะมี Script แก้ปัญหาสระลอยหรือเกมมองสระเป็นเหมือนพยัญชนะของ RPG Maker XP ไหมครับผม พอดีผมเจอปัญหาเรื่องสระเหมือนกับหลายๆ คนเลย
คุ้นๆ ว่าปกติ RPG Maker XP ไม่ได้แสดงข้อความสนทนาเป็นทีละตัวอักษรหรือเปล่านะ?
สระลอยใน RPG Maker XP น่าจะเกิดจากใช้ script ทำให้หน้าสนทนาแสดงผลเป็นทีละตัวอักษรมากกว่าที่เป็น script เริ่มต้นของ RGSS เลยไม่ได้ทำ script เอาไว้
ถ้าอยากให้ผมลองปรับ script ให้ support ลองส่ง script มาให้ดู หรือลองเอา concept จาก script นี้ไปใช้ได้นะ 😁
https://drive.google.com/file/d/17k-2OfExgkikVNXe4pqgDtzXfXsZlBHK/view?usp=drive_link
นี่ครับผม นี่เป็น Script ของ To The Moon ครับ พอดีผมกำลังจะแปลไทยเกมนี้ แต่เผอิญติดปัญหาเรื่องสระอย่างที่กล่าวไปเลยครับผม เหมือน Script มันจะมีปัญหาเรื่องแสดงผลออย่างที่พี่บอกเลยครับ
ดูเหมือนจะมีปัญหากับสระอำ นะครับ ผมเปรียบเทียบกับอันเก่า มันไม่มีข้อผิดพลาดสระกลายเป็นสี่เหลี่ยม พี่ลองใช้สระนะครับ ดูสิว่าจะเป็นที่เกมผมหรือจะเป็นที่ Script
ผมลองปรับ code ให้ใหม่แล้วนะครับ
ขอบคุณที่แจ้ง bug มานะครับ 🙏
https://drive.google.com/file/d/17k-2OfExgkikVNXe4pqgDtzXfXsZlBHK/view?usp=drive_link นี่ครับผม นี่เป็น Script ของ To The Moon ครับ พอดีผมกำลังจะแปลไทยเกมนี้ แต่เผอิญติดปัญหาเรื่องสระอย่างที่กล่าวไปเลยครับผม เหมือน Script มันจะมีปัญหาเรื่องแสดงผลออย่างที่พี่บอกเลยครับ
ผมเปิดไม่ได้แฮะ อีกอย่าง ผมกังวลพวกลิขสิทธิ์ของเกมนี้หน่ะครับว่าสามารถเอาของมาแจกจ่ายแบบนี้ได้มั๊ยหน่ะ เลยอยากได้เป็นชื่อ script หรือ link ไปยังต้นทางของ script มากกว่า
ดูเหมือนจะมีปัญหากับสระอำ นะครับ ผมเปรียบเทียบกับอันเก่า มันไม่มีข้อผิดพลาดสระกลายเป็นสี่เหลี่ยม พี่ลองใช้สระนะครับ ดูสิว่าจะเป็นที่เกมผมหรือจะเป็นที่ Script
ผมลองปรับ code ให้ใหม่แล้วนะครับ ขอบคุณที่แจ้ง bug มานะครับ 🙏
https://drive.google.com/file/d/17k-2OfExgkikVNXe4pqgDtzXfXsZlBHK/view?usp=drive_link นี่ครับผม นี่เป็น Script ของ To The Moon ครับ พอดีผมกำลังจะแปลไทยเกมนี้ แต่เผอิญติดปัญหาเรื่องสระอย่างที่กล่าวไปเลยครับผม เหมือน Script มันจะมีปัญหาเรื่องแสดงผลออย่างที่พี่บอกเลยครับ
ผมเปิดไม่ได้แฮะ อีกอย่าง ผมกังวลพวกลิขสิทธิ์ของเกมนี้หน่ะครับว่าสามารถเอาของมาแจกจ่ายแบบนี้ได้มั๊ยหน่ะ เลยอยากได้เป็นชื่อ script หรือ link ไปยังต้นทางของ script มากกว่า
เรื่องลิงค์ต้นทางผมไม่มีเลยครับ ที่มีอยู่ก็มีแต่ script ที่ตัวเองแกะออกมาได้อย่างเดียวเลยครับผม ขอโทษด้วยจริงๆ ครับ ส่วนลิงค์ข้างล่างคือลิงค์ script ที่ผมอัปโหลดไปใหม่ครับเพราะเห็นว่าลิงค์ก่อนหน้ามันไม่ได้ ถ้าพี่สนใจก็สามารถดูก่อนได้ครับ แต่ถ้าไม่ได้จริงๆ ก็ไม่เป็นไรครับผม
https://www.mediafire.com/file/lis6ki7x2n0rvi6/To+The+Moon+Text+Script+(Window_Message).txt/file
เดี๋ยวผมจะให้ลองใส่สระ ทั้งหมด 32 ตัว
ข้อความนี้
อะ อา อิ อี อึ อื อุ อู
เอะ เอ เเอะ เเอ เอียะ เอีย เอือะ เอือ
อัวะ อัว โอะ โอ เอาะ ออ เออะ เออ
อำ ใอ ไอ เอา ฤ ฤๅ ฦ ฦๅ
บางสระ ยังสร้างปัญหาอยู่ผมทดสอบเมื่อกี้นี้
ผมว่างจากโครงการ Windows ผมพอดี
พี่ครับมัน Error Line 47 มีวิธีแก้ไหมครับ
เวอร์ชั่นเก่าที่พี่ทำไม่มีปัญหานะครับ