Bots Al Bhed

Meridianbot

Veteran
Veteran
Joined
Jan 9, 2013
Messages
84
Reaction score
14
First Language
German
Primarily Uses
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

Source:

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

Installation: 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

V 1.0 initial Release
What will come

-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
 

Attachments

DarthVollis

Moogle Master
Veteran
Joined
May 5, 2012
Messages
410
Reaction score
85
First Language
English
Primarily Uses
I do not understand how to use this. Please explain a little better.
 

Meridianbot

Veteran
Veteran
Joined
Jan 9, 2013
Messages
84
Reaction score
14
First Language
German
Primarily Uses
What is it that u don't understand?

  • Transforming normal text into 2nd language
  • Learning the player a new letters
  • something else

regards Bot
 

DarthVollis

Moogle Master
Veteran
Joined
May 5, 2012
Messages
410
Reaction score
85
First Language
English
Primarily Uses
So where are the letters stored at? Is there a way I can step up what letters are what letters?
 

Meridianbot

Veteran
Veteran
Joined
Jan 9, 2013
Messages
84
Reaction score
14
First Language
German
Primarily Uses
The script uses at the moment a pseudo Cesarshifre it shifts the letter in the alphabeth.

TransSwitch= 3; # This is the Switch which holds the solved letters. The switch # The Switch must not be changed with in the makerChangerVal= 4; # It holds the value how far the letters are shifted At the moment u can only change ChangerVal to change how far the letters are shifted.

regards Bot
 
Last edited by a moderator:

Diretooth

Lv. 23 Werewolf
Veteran
Joined
Mar 10, 2013
Messages
1,213
Reaction score
438
First Language
English
Primarily Uses
RMMV
This sounds awesome. But, can we see this in action so that us less script-savvy members can understand? Also, can you change the script so that you can choose different letters/sounds?

For instance: I created a language called Runic for a story. Say I wanted to use that language for a game. 'Ze-ges' would be 'Hi' in Runic. (The hyphen separates the letters/sounds.)
 

tale

Volunteer
Veteran
Joined
Dec 16, 2016
Messages
565
Reaction score
920
First Language
English
Primarily Uses
N/A
Fixed script format, credit Meridianbot.
See main thread for details- https://forums.rpgmakerweb.com/index.php?threads/bots-al-bhed.11511/
How to use by Roninator2- https://forums.rpgmakerweb.com/index.php?threads/bots-al-bhed.11511/#post-1048235

Code:
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]={}
  end
end

class 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
  end
end
 
Last edited:

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
1,927
Reaction score
414
First Language
English
Primarily Uses
RMVXA
Fixed script format,
Thanks a lot I might use this now, you wouldn't happen to know how the script is properly used?
the line that says
a=$game_switches[Translator::TransSwitch]a['<letter>']=true
is this the correct script line to use? or is it something like
a=$game_switches[Translator::TransSwitch]
a['<letter>']=true

if so then I'm guessing you can do
a=$game_switches[Translator::TransSwitch]
a['<letter>']=true
a['<letter>']=true
a['<letter>']=true
a['<letter>']=true

Just wondering because I have not seen a line like that before. It's the 'a' in the middle that confuses me.
a=$game_switches[Translator::TransSwitch]a['<letter>']=true


After some testing I see how to use the script.
The switch used is not turned on.
The lines are put together in the same script call but are on different lines and you can only use one character at a time.

a=$game_switches[Translator::TransSwitch]
a['A']=true
a['B']=true
a['C']=true
a['D']=true
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

It's weird I actually have MORE work to do when stuck at home than before.
The No Travel Game Jam is here! Jump in to make a game in the month of April that takes place all in one town!


Decided to take a stab at video editing.... Even made a clickbait screen. I'm so proud of my sellout ways. :LZSexcite:

Forum statistics

Threads
95,470
Messages
929,388
Members
125,711
Latest member
cst
Top