SA-MP Forums Archive
Тексты в одном месте. - 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: Тексты в одном месте. (/showthread.php?tid=329430)

Pages: 1 2


Re: Тексты в одном месте. - jhonyxakep - 29.03.2012

Quote:

Предыстория.
Была поставлена задача:
создать простую систему текстов
которая бы не являлась набором функций
была наглядно понятна
имела возможность легкого перевода на любой язык
легко определялся смысл текста внутри кода
высокая скорость работы

А чем наш способ не соответствует задаче?

Все просто
это не набор функций
незнаю, что может быть нагляднее ini файла
анологично
ы

Quote:

Нечитаемо?

Честно?


Re: Тексты в одном месте. - Stepashka - 29.03.2012

Quote:
Originally Posted by Mutha_X
View Post
Ты уверен что существует, ещё один путь с такими задачами и такой, что лучше твоего? Мы тоже, вот тебе альтернативы на довольствие)
Я не понял вопроса, зачем мне искать альтернативный метод когда я нашел себе подходящий, кстати проверенный годами?
Quote:
Originally Posted by OKStyle
View Post
pawn Code:
SendClientMessage(playerid, COLOR, Languages[PlayerLanguage[playerid]][0][ROW]);
Нечитаемо?
Что такое 0?
И я так пологая ROW это define, если да то значит мне нужно ещё и набор define иметь? enum в отличии от define привязан к массиву, а массив к enum.
Quote:
Originally Posted by jhonyxakep
View Post
это не набор функций
незнаю, что может быть нагляднее ini файла
анологично
Да ну, хоть одно из приведенных ваших решений работает без функций? Не утруждайся. Нет.
Из последнего предложения: SetGVarString(name[], text[], id); это вот что?

Сравнивать в скорости обращения к этой функции и к ячейки памяти я даже не стану, результат очевиден.

И кстати по поводу переноса строк, а если он мне нужен в тексте, все встроенные средства чтения файлов тут же отсекаются?!


Re: Тексты в одном месте. - ZiGGi - 29.03.2012

Quote:
Originally Posted by Stepashka
View Post
И кстати по поводу переноса строк, а если он мне нужен в тексте, все встроенные средства чтения файлов тут же отсекаются?!
Я эту проблему решил очень просто, получилось что-то вроде BB кодов:
pawn Code:
#define LANG_BB_N "[n]"

stock check_BB(string[])
{
    new buf, len_n = strlen(LANG_BB_N);
   
    while ( (buf = strfind(string,LANG_BB_N)) != -1 )
    {
        strdel(string, buf, buf+len_n);
        strins(string, "\n", buf, MAX_STRING+32);
    }
}



Re: Тексты в одном месте. - Stepashka - 29.03.2012

Quote:
Originally Posted by ZiGGi
View Post
Я эту проблему решил очень просто, получилось что-то вроде BB кодов:
про скорость можно забыть.
Это как в анекдоте:
Quote:

Нанимают мужика разметку на дороге рисовать.
Ну в первый день проверяют работу, а он нарисовал разметки на 60км.
Ну хвалят, мол лучше чем все старые бригады поработал, они вон только по 40км рисуют.
Во второй день мужик нарисовал на 30км.
Ну списали на усталость.
В третий день мужик нарисовал только 5км дороги.
Ну тут начальство не выдерживает и спрашивает:
- "Ты в первый день 60км нарисовал, а во второй 30км, так почему сейчас всего 5км?"
- "До ведра далеко бегать."




Тексты в одном месте. - -Stranger- - 29.03.2012

А RAMDisk не в моде уже?

Да и с базой MySQL тоже очень удобно и редактировать и добавлять. Тока при этом сервер офигеет от кол-во запросов, - нужно вводить типа ttl. Но это делов на 5 минут.


Re: Тексты в одном месте. - Stepashka - 29.03.2012

Quote:
Originally Posted by -Stranger-
View Post
А RAMDisk не в моде уже?
И где в SA-MP средства для работы с данной технологией.

Читайте сперва преследуемые мной цели прежде чем что-то предлагать.

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

И ещё у меня такое адское чувство что половина здесь отписавшихся не видит разницы между статичными и редактируемыми текстами приложения.


Re: Тексты в одном месте. - -Stranger- - 29.03.2012

Stepashka, ну использование БД тоже, "где в SA-MP средства для работы с данной технологией." Но как вариант это очень даже ...

Использовать массив можно, если в коде строк 10-20 а если их там десятки тысяч? - помойка получиться, где разобраться невозможно...

Так что все варианты хороши тока в своём случае, а если говорить про универсальный способ, то тут тока БД или рамдиск+файлы.
Под универсальностью я подразумеваю чтение потенциально бесконечное кол-во строк, с простой правкой и использованием.


Re: Тексты в одном месте. - OKStyle - 29.03.2012

Quote:
Originally Posted by jhonyxakep
View Post
Честно?
Да, по сравнению с вышеприведённым кодом.

Quote:
Originally Posted by Stepashka
View Post
И я так пологая ROW это define
Нет. ROW - это строка в выбранном языке. 0 - индекс начала текста.

Quote:
Originally Posted by Stepashka
View Post
не видит разницы между статичными и редактируемыми текстами приложения.
В моём способе менять текст можно только перекомпиляцией мода... Как и все остальные, которые не на файлах или БД.


Re: Тексты в одном месте. - Sergey_Walter - 30.03.2012

pawn Code:
stock FixText(string[]) {
     new result[256];
     for(new i=0; i < 256; i++) {
          switch(string[i]) {
               case 'а':result[i] = 'a';
               case 'А':result[i] = 'A';
               case 'б':result[i] = '—';
               case 'Б':result[i] = 'Ђ';
               case 'в':result[i] = 'ў';
               case 'В':result[i] = '‹';
               case 'г':result[i] = '™';
               case 'Г':result[i] = '‚';
               case 'д':result[i] = 'љ';
               case 'Д':result[i] = 'ѓ';
               case 'е':result[i] = 'e';
               case 'Е':result[i] = 'E';
               case 'ё':result[i] = 'e';
               case 'Ё':result[i] = 'E';
               case 'ж':result[i] = '›';
               case 'Ж':result[i] = '„';
               case 'з':result[i] = 'џ';
               case 'З':result[i] = '€';
               case 'и':result[i] = 'њ';
               case 'И':result[i] = '…';
               case 'й':result[i] = 'њ';
               case 'Й':result[i] = '…';
               case 'к':result[i] = 'k';
               case 'К':result[i] = 'K';
               case 'л':result[i] = 'ћ';
               case 'Л':result[i] = '‡';
               case 'м':result[i] = 'Ї';
               case 'М':result[i] = 'M';
               case 'н':result[i] = '®';
               case 'Н':result[i] = '*';
               case 'о':result[i] = 'o';
               case 'О':result[i] = 'O';
               case 'п':result[i] = 'Ј';
               case 'П':result[i] = 'Њ';
               case 'р':result[i] = 'p';
               case 'Р':result[i] = 'P';
               case 'с':result[i] = 'c';
               case 'С':result[i] = 'C';
               case 'т':result[i] = '¦';
               case 'Т':result[i] = 'Џ';
               case 'у':result[i] = 'y';
               case 'У':result[i] = 'Y';
               case 'ф':result[i] = '';
               case 'Ф':result[i] = 'Ѓ';
               case 'х':result[i] = 'x';
               case 'Х':result[i] = 'X';
               case 'ц':result[i] = '*';
               case 'Ц':result[i] = '‰';
               case 'ч':result[i] = '¤';
               case 'Ч':result[i] = 'Ќ';
               case 'ш':result[i] = 'Ґ';
               case 'Ш':result[i] = 'Ћ';
               case 'щ':result[i] = 'Ў';
               case 'Щ':result[i] = 'Љ';
               case 'ь':result[i] = '©';
               case 'Ь':result[i] = '’';
               case 'ъ':result[i] = 'ђ';
               case 'Ъ':result[i] = '§';
               case 'ы':result[i] = 'Ё';
               case 'Ы':result[i] = '‘';
               case 'э':result[i] = 'Є';
               case 'Э':result[i] = '“';
               case 'ю':result[i] = '«';
               case 'Ю':result[i] = '”';
               case 'я':result[i] = '¬';
               case 'Я':result[i] = '•';
               default:result[i]=string[i];
          }
     }
     return result;
}

GameTextForPlayer(i, FixText("~w~ваш клиент~n~~r~вышел из игры"), 5000, 1);
вы не об этом?


Re: Тексты в одном месте. - OKStyle - 31.03.2012

Нет, мы не об этом.


Re: Тексты в одном месте. - jhonyxakep - 31.03.2012

Quote:

Sergey_Walter

о боже О_О

Прочитай первый пост


Re: Тексты в одном месте. - Stepashka - 31.03.2012

Quote:
Originally Posted by Sergey_Walter
View Post
вы не об этом?
Выскочка, которая не читает тему - сразу попадает в лужу.