мульти язык pwn
#1

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

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

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




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

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

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

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

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

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

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

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

А не проще из разряда.
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","Русский текст"); 
?
Из минусов - на поверку медленее, ибо форматировать два текста. Быстрее либо с массивом, как выше, либо проверка перед каждым форматированием на язык игрока.
Reply
#8

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

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

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

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

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)