This script allows you to give ur game a snd language which is similar to the language of the Al Bhed of FF-X and can be learned by the player.
Don't know FF-10 or the Albeth language
SpoilerSource:
The
Al Bhed language is a unique
language in Spira, spoken by the Al Bhed people. Working like a
substitution cipher (a language system replacing certain letters with others), it shares the same syntax and grammar of
English in the English versions of
Final Fantasy X and
Final Fantasy X-2.
Script
SpoilerInstallation: Place this script below Materials and above Main
module Translator Notranslatet_color= "3"; # Its the Colo(u)r of the recognized Letters Translatet_color= "2"; # Its the Colo(u)r of the unrecognized Letters TransSwitch= 3; # This is the Switch which holds the solved letters. The switch # must not be changed with the maker TransVar= 7; # for later usage GesamtVar= 8; # for later usage ChangerVal= 4; # It holds the value how far the letters are shifted end class Game_Switches #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize #include Translator @data = [] @data[Translator::TransSwitch]={} endendclass Window_Base < Window alias :koma :convert_escape_characters def convert_escape_characters(text) $game_switches[Translator::TransSwitch] ={} if !$game_switches[Translator::TransSwitch] change_color(normal_color) translate=false result = text.to_s.clone result.gsub!(/\\/) { "\e" } result.gsub!(/\ey\[(.+)\]/i) { (help="\eC["+Translator::Translatet_color+"]"; (a=$1).each_char do |char| if char.match(/^[[:alpha:]]$/) if $game_switches[Translator::TransSwitch][char.upcase] if(translate) translate=false help+="\eC["+Translator::Translatet_color+"]"+char else $game_variables[Translator::TransVar]+=1 help+=char end else if(!translate) translate=true help+="\eC["+Translator::Notranslatet_color+"]"+((char.upcase.ord+Translator::ChangerVal)>'Z'.ord ? (char.ord-Translator::ChangerVal).chr : (char.ord+Translator::ChangerVal).chr) else help+=((char.upcase.ord+Translator::ChangerVal)>'Z'.ord ? (char.ord-Translator::ChangerVal).chr : (char.ord+Translator::ChangerVal).chr) end end else if translate translate=false help+= "\ec["+Translator::Translatet_color+"]"+char else help+=char end end end translate=false;help+= "\ec[0]" )} result.gsub!(/\e\e/) { "\\" } result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] } result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] } result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) } result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i) } result.gsub!(/\eG/i) { Vocab::currency_unit } result endend
History + Releases
SpoilerV 1.0 initial Release
What will come
Spoiler-More than one language
-Different fonts for other languages
-Information about how many the player understand of the spoken
-Additional Modi to Cesar Ciphre
Usage
Just use the following snippet in the message-box
\y[<text>]<text>: is the text u wanna have spoken in the differnt language.
===================================================
With the following scriplet u can teach the player new "letters"
a=$game_switches[Translator::TransSwitch]a['<letter>']=true<letter>:it is the letter u want the player be taught. (upppercase!)
===================================================
Things which can be changed:
The six constants at the beginning of the script can be changed according to need.
===================================================
===================================================
Sampleproject is attached
Credit
If you plan on using this script credit me. If u wanna use it for a commercial product pm me (even though i don't think this will ever happen^^).
If u find any bug or have ideas for additional ideas please post in this thread
regards Bot
Language.zip
本贴来自国际rpgmaker官方论坛作者:Meridianbot处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/bots-al-bhed.11511/