How to allow custom letters for character names.

al5yal511

Administrator
Staff member
Admin
Guide Author
Hello, today I'll explain how to allow other languages characters to be used in avatar names & ships & guilds.

like turkish & arabic etc.

first go to game\data\System\Languages\EuropeanEnglish.xdb
edit this file if your shard.xml is using <territory>Europe_eng</territory>, otherwise check which file has same name.

if you want to support arabic letters then you have to open game\data\System\Languages\MENA.xdb, copy the <matchUser>[\u0621-\u063A\u0641-\u064A\u0030-\u0039\u0041-\u005A\u0061-\u007A\\s]+</matchUser>

add them to game\data\System\Languages\EuropeanEnglish.xdb

it should look like this <matchUser>(^[A-Za-z]+$)|(^[А-Яа-я]+$)|(^[\u0621-\u063A\u0641-\u064A\u0030-\u0039\u0041-\u005A\u0061-\u007A\]+$)|</matchUser>

notice how I replaced s+ to +$, because there's an argument in other lines "<matchUser>\S+</matchUser>" not sure now what this refers to, so I changed the original s+ to $+ so that both english and arabic work together.

the file is now looking like this

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<basement.server.lang.NameRules>
    <Header>
        <resourceId>136387585</resourceId>
    </Header>
    <name>eng_eu</name>
    <lang>en</lang>
    <country>GB</country>
    <avatarNameRules>
        <matchUser>(^[A-Za-z]+$)|(^[А-Яа-я]+$)|(^[\u0621-\u063A\u0641-\u064A\u0030-\u0039\u0041-\u005A\u0061-\u007A\]+$)|</matchUser>
        <matchMaster>.+</matchMaster>
        <minLength>3</minLength>
        <maxLength>16</maxLength>
        <transformation>FirstUppercased</transformation>
    </avatarNameRules>
    <shipNameRules>
        <matchUser>(^[A-Za-z]+(\-\d+)?$)|(^[А-Яа-я]+(\-\d+)?$)|(^[\u0621-\u063A\u0641-\u064A\u0030-\u0039\u0041-\u005A\u0061-\u007A\]?$)|</matchUser>
        <matchMaster>.+</matchMaster>
        <minLength>3</minLength>
        <maxLength>16</maxLength>
        <transformation>FirstUppercased</transformation>
    </shipNameRules>
    <guildNameRules>
        <matchUser>(^[A-Za-z]+( |\-|\')?[A-Za-z]+$)|(^[А-Яа-я]+( |\-|\')?[А-Яа-я]+$)|(^[\u0621-\u063A\u0641-\u064A\u0030-\u0039\u0041-\u005A\u0061-\u007A\]+$)|</matchUser>
        <matchMaster>.+</matchMaster>
        <minLength>3</minLength>
        <maxLength>30</maxLength>
        <transformation>FirstUppercased</transformation>
    </guildNameRules>
    <deniedWords href="deniedWords_Europe.txt" />
</basement.server.lang.NameRules>

note that each territory letters is seperated by "|" and letters argument starts with "(^" and ends with "+$)|"
Results
1710251347033.png
 

Top Bottom