commit можешь сделать? Я не программист и ничего сам изменить не могу.
Все сообщения на русском в два раза короче, например если сказать что-нибудь и т.д.
  • avatar bodrich
  • 1
Файл user.c, функция void wrap_message(string str, varargs int chat_flag)
Тебе нужно здесь изменить strlen и немного сам алгоритм работы
  • avatar bodrich
  • 0
Только у комнат такой баг? Или, например, если в сказать что-нибудь длинное в чат на русском — тоже так будет съезжать?
  • avatar prool
  • 0
Это реализация функции strlen, которая правильно считает длину строки с символами UTF-8. Как говорит молодежь «я просто оставлю это здесь». А то потеряю это
Что это?
  • avatar prool
  • 0
int utf8_strlen(const string& str)
{
int c,i,ix,q;
for (q=0, i=0, ix=str.length(); i < ix; i++, q++)
{
c = (unsigned char) str[i];
if (c>=0 && c<=127) i+=0;
else if ((c & 0xE0) == 0xC0) i+=1;
else if ((c & 0xF0) == 0xE0) i+=2;
else if ((c & 0xF8) == 0xF0) i+=3;
//else if (($c & 0xFC) == 0xF8) i+=4; // 111110bb //byte 5, unnecessary in 4 byte UTF-8
//else if (($c & 0xFE) == 0xFC) i+=5; // 1111110b //byte 6, unnecessary in 4 byte UTF-8
else return 0;//invalid utf8
}
return q;
}
В мадлете то же самое
gurbalib-rus
Вроде не было.
Лень копаться там в настройках, чтобы другой мад указать. Клиент для текстовой игры занимающий 600Мб места, как-то слишком мажористо для меня.
  • avatar tangar
  • 0
мож проверочный код в папку спам ящика упал?
  • avatar prool
  • 0
На кортинке видна Тортилла. Пинай авторов Тортиллы, они есть в дискорд-чатике
  • avatar prool
  • 0
Если в используемом тобой клиенте есть кодировка UTF, это ничего не значит. Может, включение UTF там вызывает нерезание 8-го бита, а подсчет длины строк делается по-старому (функцией strlen, если это C/C++)
  • avatar prool
  • 0
Стоп. А это не проблема клиента?

Я ходил по этим же граблям (не помню, в каком движке, но это и неважно, там была сделанная мной русификация в кодовой таблице UTF-8 и была та же проблема: тексты на русском занимали пол ширины экрана). Я пользовался клиентом prooltin (tintin++). И ВНЕЗАПНО я нашел, где в тинтине включить кодровку UTF-8 и всё исправилось. Включить кодировку там так

#config charset UTF-8

То есть может байтики считает не сервер, а клиент?
  • avatar prool
  • 0
Протестируй его работу на моем Зеркале. Те же Былины, только старые
  • avatar tangar
  • 0
фишка ExV — в расширяемости и возможности распределить нагрузку на несколько серверов. это дает возможность реализации _действительно_ масштабных проектов.

с помощью ExV можно сделать эдакий онлайновый Dwarf Fortress. УУУУУУУУУУ!

//discuss
  • avatar ft50
  • 1
последние локации которые я клепаю под c7i либо полностью либо частично в духе рогаликов — т.е. рендомные. Генерация происходит в момент запуска сервера и до перезагрузки… как бы поймал себя на мысли, что я не осознано иду к roguelike
  • avatar tangar
  • 0
я думал изначально о MMORPG, но сейчас это уже что-то среднее между МАДов, рогаликом и MMORPG. много лет обдумываю геймдизайн и технологии, но еще не готов даже начать этот проект, нужно еще очень много вещей продумать
  • avatar artist
  • 1
Elexir — язык в стиле Ruby который компилируется в Erlang. Спецефичная штука, но она позволяет делать распределенные серверные системы. Для мада это скорее избыточно. Но опыт может быть весомый. Самый первый и самый важный вопрос — как там со скриптованием, можно ли паралелить скрипты. Если нет, то не интересно… тот же циркуль получится.
  • avatar ft50
  • 0
Слушай, Тангар, а помнится ты сам хотел свой мад замутить… может как раз это твой шанс? Или ты отказался уже от этой идеи?