Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Library: Al Bhed Translator (chat encryption)

Renmiri Writer
Registered User
Join date: 30 Sep 2007
Posts: 3
10-15-2008 20:05
I used to sell it at SLX but decided to give away the code now. iT WORKS A LOT FASTER THAN THE MIDGAR AL BHED TRANSLATOR because the whole code to translate is just done on 5 lines. And never makes mistakes, unlike the Midgar one ;)

--------------
Al Bhed Translator
-----------------------
Will translate to english anything it sees on it's channel as it was Al Bhed. You type it in english on channel 5 and the "Al Bhed Encoder" (below) will translate english to al bhed for you and send it to the proper channel

AlBhed encoder
--------------------
Type on channel 5 the message you want to see translated to al bhed on public chat
EXAMPLE
/5 future
will be translated to al bhed and you will see it on green on public chat:
< your name > says vidina
At the same time, a message containing "vidina" and your name will be sent to all Spira Al Bhed HUDs in range (including yours) where it will be retranslated to english in secret, for each HUD owner. This works for any text typed after /5

How to make your own Al BHED Translator prim:
-------------------------------------------------------
1 -create a new prim, name it something cool like "Al Bhed" and make it small (0.1 box). Go to the content tab, click on new script button.
2 - on the new prim content tab, - click on the "New Script" that has just been created. Erase all script lines there
3 - copy the entire code below (everything here under the "===" line) and paste it on the new script, replacing what is there.
4 - Click save. Wait until you get a "Compile sucessful" "Save complete" message
5 - right click on the new prim and select "Attach to a HUD", pick a free HUD place to attach
6 - All done!

With the prim attached, just use /5 <text> to get it encrypted into Al Bhed.

If anyone else has a similar HUD, you will also receive translations of the al bhed they said on /5


Trivia about the Al Bhed language
------------------------------------
Used by the Al Bhed tribe on the game Final Fantasy X to talk amongst each other. Although it looks like a real language, it is not. It is just a special code for english (or japanese). On it each letter on the english language (or japanese) gets substituted for another. For example the word "you" will be translated to "oui" in al bhed.
y = o
o = u
u = i
The entire Al Bhed code and a web based translator can be found here
http://ffproject.net/ff10/albhed/translator.php. More Al Bhed trivia here http://finalfantasy.wikia.com/wiki/Al_Bhed

A similar code - simple substitution cipher - was cracked by Sherlock Holmes on the case of the dancing man. If you feel adventurous and want to make your own code, you can change the encryption of this HUD from Al Bhed to your own code by changing the script line that says "string albhed =" to any other combination of numbers and letters, translation will be done by position, i.e the 5th letter on the "english" string will be translated by the 5th character on the string "albhed".

Hope you have fun with it!

Ren

===================================================

integer EChan=5;
integer AChan=6;
string lname;
string english = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
string albhed = " ypltavkrezgmshubxncdijfqowYPLTAVKREZGMSHUBXNCDIJFQOW";

default
{
state_entry()
{
llListen(EChan, "","", "" );
llListen(AChan, "","", "" );

}

listen( integer channel, string name, key id, string message )
{
integer c = llStringLength(message);
string newmessage = "" ;
integer i=0;
string lcode="";
string lcodet="";
if (i>=0)
{
if (id == llGetOwner())
{
lname=llKey2Name(llGetOwner());
}
else
{
lname=llKey2Name(id) ;
}
if (channel==EChan)
{
for (; i < c; ++i)
{
lcode = llGetSubString(message,i,i);
integer fstop = llSubStringIndex(english,lcode);
if (fstop > 0)
lcodet = llGetSubString(albhed,fstop,fstop);
else
lcodet = lcode;

newmessage += lcodet;
}
if (id == llGetOwner())
llSay (0,lname+" says "+newmessage);
llSay (AChan,newmessage);

}
if (channel==AChan)
{
for (; i < c; ++i)
{
lcode = llGetSubString(message,i,i);
integer fstop = llSubStringIndex(albhed,lcode);
if (fstop > 0)
lcodet = llGetSubString(english,fstop,fstop);
else
lcodet = lcode;

newmessage += lcodet;
}
llOwnerSay("Al Bhed message says "+newmessage);

}
}
}
}
Renmiri Writer
Registered User
Join date: 30 Sep 2007
Posts: 3
10-17-2008 19:45
Updated by cleaning up the code and adding translation back from Al bhed :D