Откройте файл <ваша_раса>.sp текстовым редактором.
Добавьте в функцию public OnPluginStart() следующую строку:
Code:
LoadTranslations("w3s.race.<Краткое_название_расы>.phrases");
Где <Краткое_название_расы> - имя вашей расы. Например: paladin => w3s.race.paladin.phrases
После этого, вам необходимо изменить несколько параметров в public OnWar3LoadRaceOrItemOrdered2()
Пример без перевода:
Code:
thisRaceID=War3_CreateNewRace("Полное_название_расы","Краткое_название_расы");
SKILL_DEFENSIVE=War3_AddRaceSkill(thisRaceID,"Название_скила1","Описание_скила1",false,4);
SKILL_OFFENSIVE=War3_AddRaceSkill(thisRaceID,"Название_скила2","Описание_скила2",false,4);
SKILL_HEALING=War3_AddRaceSkill(thisRaceID,"Название_скила3","Описание_скила3",false,4);
ULT_OVERDRIVE=War3_AddRaceSkill(thisRaceID,"Название_скила4","Описание_скила4",true,4);
War3_CreateRaceEnd(thisRaceID);
SKILL_DEFENSIVE=War3_AddRaceSkill(thisRaceID,"Название_скила1","Описание_скила1",false,4);
SKILL_OFFENSIVE=War3_AddRaceSkill(thisRaceID,"Название_скила2","Описание_скила2",false,4);
SKILL_HEALING=War3_AddRaceSkill(thisRaceID,"Название_скила3","Описание_скила3",false,4);
ULT_OVERDRIVE=War3_AddRaceSkill(thisRaceID,"Название_скила4","Описание_скила4",true,4);
War3_CreateRaceEnd(thisRaceID);
Должно выглядеть так:
Quote
thisRaceID=War3_CreateNewRaceT("Краткое_название_расы");
SKILL_DEFENSIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила1",false,4);
SKILL_OFFENSIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила2",false,4);
SKILL_HEALING=War3_AddRaceSkillT(thisRaceID,"Название_скила3",false,4);
ULT_OVERDRIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила4",true,4);
War3_CreateRaceEnd(thisRaceID);
SKILL_DEFENSIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила1",false,4);
SKILL_OFFENSIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила2",false,4);
SKILL_HEALING=War3_AddRaceSkillT(thisRaceID,"Название_скила3",false,4);
ULT_OVERDRIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила4",true,4);
War3_CreateRaceEnd(thisRaceID);
Обратите внимание на литеру Т в конце War3_AddRaceSkill. Только с этой литерой перевод будет работать.
Удалите "Полное_название_расы". В нём нет необходимости.
"Краткое_название_расы" и "Название_скила" могут содержать только латинские буквы!
Вы должны удалить "Описание_скила", т.к. оно будет добавлено позже в файле перевода.
"Название_скила" должно быть без пробелов!
Готовый к переводу пример:
Quote
thisRaceID=War3_CreateNewRaceT("paladin");
SKILL_DEFENSIVE=War3_AddRaceSkillT(thisRaceID,"DefensiveAura",false,4);
SKILL_OFFENSIVE=War3_AddRaceSkillT(thisRaceID,"OffensiveAura",false,4);
SKILL_HEALING=War3_AddRaceSkillT(thisRaceID,"HealingAura",false,4);
ULT_OVERDRIVE=War3_AddRaceSkillT(thisRaceID,"AuraOverdrive",true,4);
War3_CreateRaceEnd(thisRaceID);
SKILL_DEFENSIVE=War3_AddRaceSkillT(thisRaceID,"DefensiveAura",false,4);
SKILL_OFFENSIVE=War3_AddRaceSkillT(thisRaceID,"OffensiveAura",false,4);
SKILL_HEALING=War3_AddRaceSkillT(thisRaceID,"HealingAura",false,4);
ULT_OVERDRIVE=War3_AddRaceSkillT(thisRaceID,"AuraOverdrive",true,4);
War3_CreateRaceEnd(thisRaceID);
Сохраните файл...
Теперь создадим текстовой файл и добавим перевод.
Пример перевода:
Code:
"Phrases"
{
//<shortname>_RaceName
"<Краткое_название_расы>_RaceName"
{
"en" "Полное_название_расы"
}
//skills:
//<shortname>_skill_<SkillNameIdentifier> for the skill name
//<shortname>_skill_<SkillNameIdentifier>_desc for the skill description
"<Краткое_название_расы>_skill_<Название_скила1>"
{
"en" "Название скила 1"
}
"<Краткое_название_расы>_skill_<Название_скила1>_desc"
{
"en" "Описание скила 1"
}
"<Краткое_название_расы>_skill_<Название_скила2>"
{
"en" "Название скила 2"
}
"<Краткое_название_расы>_skill_<Название_скила2>_desc"
{
"en" "Описание скила 2"
}
"<Краткое_название_расы>_skill_<Название_скила3>"
{
"en" "Название скила 3"
}
"<Краткое_название_расы>_skill_<Название_скила3>_desc"
{
"en" "Описание скила 3"
}
"<Краткое_название_расы>_skill_<Название_скила4>"
{
"en" "Название скила 4"
}
"<Краткое_название_расы>_skill_<Название_скила4>_desc"
{
"en" "Описание скила 4"
}
}
{
//<shortname>_RaceName
"<Краткое_название_расы>_RaceName"
{
"en" "Полное_название_расы"
}
//skills:
//<shortname>_skill_<SkillNameIdentifier> for the skill name
//<shortname>_skill_<SkillNameIdentifier>_desc for the skill description
"<Краткое_название_расы>_skill_<Название_скила1>"
{
"en" "Название скила 1"
}
"<Краткое_название_расы>_skill_<Название_скила1>_desc"
{
"en" "Описание скила 1"
}
"<Краткое_название_расы>_skill_<Название_скила2>"
{
"en" "Название скила 2"
}
"<Краткое_название_расы>_skill_<Название_скила2>_desc"
{
"en" "Описание скила 2"
}
"<Краткое_название_расы>_skill_<Название_скила3>"
{
"en" "Название скила 3"
}
"<Краткое_название_расы>_skill_<Название_скила3>_desc"
{
"en" "Описание скила 3"
}
"<Краткое_название_расы>_skill_<Название_скила4>"
{
"en" "Название скила 4"
}
"<Краткое_название_расы>_skill_<Название_скила4>_desc"
{
"en" "Описание скила 4"
}
}
"<Краткое_название_расы>_RaceName" - для имени расы. Например: "paladin_RaceName"
"<Краткое_название_расы>_skill_<Название_скила1>" - для названия скила. Например: "paladin_skill_DefensiveAura"
"<Краткое_название_расы>_skill_<Название_скила1>_desc" - для описания скила. Например: "paladin_skill_DefensiveAura_desc"
Если вы хотите добавить другой язык, замените "en" на ваш язык (например "ru") и переведите названия с описаниями.
Как это выглядит:
Английский вариант перевода:
Code:
"Phrases"
{
//<shortname>_RaceName
"paladin_RaceName"
{
"en" "Paladin[RoC]"
}
//skills:
//<shortname>_skill_<SkillNameIdentifier> for the skill name
//<shortname>_skill_<SkillNameIdentifier>_desc for the skill description
"paladin_skill_DefensiveAura"
{
"en" "Defensive Aura"
}
"paladin_skill_DefensiveAura_desc"
{
"en" "Give your teammates extra armor."
}
"paladin_skill_OffensiveAura"
{
"en" "Offensive Aura"
}
"paladin_skill_OffensiveAura_desc"
{
"en" "Give your teammates extra damage."
}
"paladin_skill_HealingAura"
{
"en" "Healing Aura"
}
"paladin_skill_HealingAura_desc"
{
"en" "Give your teammates passive regeneration."
}
"paladin_skill_AuraOverdrive"
{
"en" "Aura Overdrive"
}
"paladin_skill_AuraOverdrive_desc"
{
"en" "Activate all auras at once."
}
}
{
//<shortname>_RaceName
"paladin_RaceName"
{
"en" "Paladin[RoC]"
}
//skills:
//<shortname>_skill_<SkillNameIdentifier> for the skill name
//<shortname>_skill_<SkillNameIdentifier>_desc for the skill description
"paladin_skill_DefensiveAura"
{
"en" "Defensive Aura"
}
"paladin_skill_DefensiveAura_desc"
{
"en" "Give your teammates extra armor."
}
"paladin_skill_OffensiveAura"
{
"en" "Offensive Aura"
}
"paladin_skill_OffensiveAura_desc"
{
"en" "Give your teammates extra damage."
}
"paladin_skill_HealingAura"
{
"en" "Healing Aura"
}
"paladin_skill_HealingAura_desc"
{
"en" "Give your teammates passive regeneration."
}
"paladin_skill_AuraOverdrive"
{
"en" "Aura Overdrive"
}
"paladin_skill_AuraOverdrive_desc"
{
"en" "Activate all auras at once."
}
}
Русский вариант перевода:
Code:
"Phrases"
{
//<shortname>_RaceName
"paladin_RaceName"
{
"ru" "Паладин"
}
//skills:
//<shortname>_skill_<SkillNameIdentifier> for the skill name
//<shortname>_skill_<SkillNameIdentifier>_desc for the skill description
"paladin_skill_DefensiveAura"
{
"ru" "Защитная аура"
}
"paladin_skill_DefensiveAura_desc"
{
"ru" "Уменьшает получаемый союзниками урон. Вы получаете половину эффекта."
}
"paladin_skill_OffensiveAura"
{
"ru" "Атакующая Аура"
}
"paladin_skill_OffensiveAura_desc"
{
"ru" "Увеличивает урон союзников. Вы получаете половину эффекта."
}
"paladin_skill_HealingAura"
{
"ru" "Лечащая Аура"
}
"paladin_skill_HealingAura_desc"
{
"ru" "Лечит союзников. Вы получаете половину эффекта."
}
"paladin_skill_AuraOverdrive"
{
"ru" "Сверх Аура"
}
"paladin_skill_AuraOverdrive_desc"
{
"ru" "Включает одновременно все Ауры. Вы получаете весь эффект."
}
}
{
//<shortname>_RaceName
"paladin_RaceName"
{
"ru" "Паладин"
}
//skills:
//<shortname>_skill_<SkillNameIdentifier> for the skill name
//<shortname>_skill_<SkillNameIdentifier>_desc for the skill description
"paladin_skill_DefensiveAura"
{
"ru" "Защитная аура"
}
"paladin_skill_DefensiveAura_desc"
{
"ru" "Уменьшает получаемый союзниками урон. Вы получаете половину эффекта."
}
"paladin_skill_OffensiveAura"
{
"ru" "Атакующая Аура"
}
"paladin_skill_OffensiveAura_desc"
{
"ru" "Увеличивает урон союзников. Вы получаете половину эффекта."
}
"paladin_skill_HealingAura"
{
"ru" "Лечащая Аура"
}
"paladin_skill_HealingAura_desc"
{
"ru" "Лечит союзников. Вы получаете половину эффекта."
}
"paladin_skill_AuraOverdrive"
{
"ru" "Сверх Аура"
}
"paladin_skill_AuraOverdrive_desc"
{
"ru" "Включает одновременно все Ауры. Вы получаете весь эффект."
}
}
Наконец, сохраните свой файл перевода. Если вы переводили на русский, не забудьте, что кодировка должна быть UTF8 - без BOM.
Файл перевода должен иметь имя w3s.race.<Краткое_название_расы>.phrases.txt (например: w3s.race.paladin.phrases.txt)
Думаю, это всё...
Скомпилируйте файл расы, загрузите его на сервер и поместите файл перевода в папку ..translations/ru/
Перевод урока rostex - [How To] Add translation in custom race






Logged


DarkEnergy

