Архив сообщества
2011 — 2019
Аватар ChaosTheorist

Вопрос по фиксу

Автор: ChaosTheorist · 28.04.2012, 08:18 · 12 сообщений

Сообщений в теме: 12

ChaosTheorist#1
Привет всем. Пожалуйста не сидите с ._Oface.
Дело в том что я сейчас работаю над проектом и хотел спросить помощи.
Как всем известно буква ,,Я" очень глючная. Но при этом ваша станция исправила сей баг.
Не подскажите как вы исправили этот баг в чате и на бумагах?

p.S.: Код от Bay12
0
Скопировать ссылку
Editor TEH Chaos-neutral#2
Там отдельный ржач по этой теме

	/proc/sanitize_simple(var/t,var/list/repl_chars = list("\n"="#","\t"="#","я"="____255;"))
	for(var/char in repl_chars)
		var/index = findtext(t, char)
		while(index)
			t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+1)
			index = findtext(t, char)
	return t

0
Скопировать ссылку
ChaosTheorist#5
Всем спасибо, но исправил косяк по своему. Оказывается у TG и Bay12 стоит

/proc/sanitize_simple(var/t,var/list/repl_chars = list("\n"="#","\t"="#","я"="Я"))
	for(var/char in repl_chars)
		var/index = findtext(t, char)
		while(index)
			t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+1)
			index = findtext(t, char)
	return t

0
Скопировать ссылку
ChaosTheorist#9
EditorRUS сказал: писал:
Представляешь деточка, но для ввода используются последовательности Уникода (буква я маленькая - 0x44F, либо x1103)
Ты таки всё так обьяснил что я так и понял, ага.
Я попросил ткнуть носом именно в код ,а не делать непонятные советы.
0
Скопировать ссылку
Editor TEH Chaos-neutral#10
code\game\verbs\ooc.dm
code\modules\mob\say.dm

/mob/living/say(var/message) //Anything else?

Общая черта - вызываемая процедура sanitize(), поищем её
/proc/sanitize(var/t,var/list/repl_chars = null, unicode = 0)
	t = html_encode(sanitize_simple(t,repl_chars))

	var/index = findtext(t, "____255;")
	if(unicode)
		while(index)
			t = copytext(t, 1, index) + "я" + copytext(t, index+8)
			index = findtext(t, "____255;")
	else
		while(index)
			t = copytext(t, 1, index) + "ÿ" + copytext(t, index+8)
			index = findtext(t, "____255;")

	return t
Теперь яснее?
0
Скопировать ссылку

Обратно в Архив