SA-MP Forums Archive
мульти язык pwn - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: мульти язык pwn (/showthread.php?tid=578033)



мульти язык pwn - nevahudo - 16.06.2015

Долго копался, смотрел все скрипты и плагины так и не нашел нечего достойного для себя
Может посоветуете как сделать систему перевода что бы не подводила в скорости и простоте.

Я выявил три типа перевода

Yasl (так я не понял как)
GetVar (в памяти.)
Другие плагины




Может быть кто то уже это делал и поделится опытом?
Спасибо


Re: мульти язык pwn - SoNikMells - 16.06.2015

Без плагинов на глобальных переменных


Re: мульти язык pwn - ZiGGi - 16.06.2015

Вот этот плагин выглядит неплохо: https://sampforum.blast.hk/showthread.php?tid=424081


Re: мульти язык pwn - nevahudo - 16.06.2015

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
Вот этот плагин выглядит неплохо: https://sampforum.blast.hk/showthread.php?tid=424081
См мое сообщение в конце топика По мне так плагин приустарел, я все еще пытаюсь заставить его работать.

Quote:
Originally Posted by SoNikMells
Посмотреть сообщение
Без плагинов на глобальных переменных
Можно поподробней пожалуйста. С примером простым. Спасибо


Re: мульти язык pwn - OKStyle - 17.06.2015

Туториалы тут были (в релизах).


Re: мульти язык pwn - SoNikMells - 17.06.2015

Переменную языка создаёшь для игрока, для каждой строки свой new с примерным названием переменной из текста внутри.

PHP код:
#define MAX_LANG 2
new lang[MAX_PLAYERS];
new 
_HelloServer[MAX_LANG][] = { "Hello world!""Привет мир!"};
SendClientMessage(playerid, -1_HelloServer[lang[playerid]); 
Код конечно не красивый тут, но задефайнить всегда можно. Как на снимках.


Re: мульти язык pwn - eakwarp - 17.06.2015

А не проще из разряда.
PHP код:
#define LANG_RUS 0
#define LANG_ENG 1
new PlayerLang[MAX_PLAYERS];

stock SendLangMessage(playerid,color,texteng[],textrus[])
{
switch(
PlayerLang[playerid])
{
case 
LANG_RUS:SendClientMessage(playerid,color,textrus);
case 
LANG_ENG:SendClientMessage(playerid,color,texteng);
}
return 
1;
}

SendLangMessage(playerid,0xFFFFFF55,"English text","Русский текст"); 
?
Из минусов - на поверку медленее, ибо форматировать два текста. Быстрее либо с массивом, как выше, либо проверка перед каждым форматированием на язык игрока.


Re: мульти язык pwn - White_116 - 17.06.2015

https://sampforum.blast.hk/showthread.php?tid=552501
Решена проблема с плотность данных по схеме предложенной SoNikMells, нет проверок по схеме предложенной eakwarp.
P.S. Не хочу сказать что решение лучшее, но как вариант.


Re: мульти язык pwn - nevahudo - 18.06.2015

интерестный вариант , я попробую

Пока что остановился на том что eakwarp написал. Это единственное что работает

Мне нужно было

-Окно выбора языка - сделал
-Ставка переменной игроку что его язык теперь такой то - сделал
-if(RU) {show ru}, if(EN) {show en} - работает
-и сам перевод через SendLangMessage(playerid,0xFFFFFF55,"English","Рус ский");


Re: мульти язык pwn - Stepashka - 18.06.2015

Посмотри ещё эту тему: Тексты в одном месте.