Вон ты какой хитрый - задержку окрашивания в середине строки пробелами делаешь) Кстати, на концах работает неправильно: последний/последние два (не разобрал) символа дублируются, но без цвета.
SirNikolas, агась, есть небольшие прореши в действии. Лень было писать заумную систему, поэтому по упрощёнке сделал, местами не отполировано - отстаёт.опережает, ы. По шаблону довольно просто будет и случайные песни подогнать для новых карт-клипов. Очень рад, что понравилось
Добавлено (24 Декабря 2013, 21:45:40) ---------------------------------------------
Символы кириллицы просто и тут за 2 считаются, поэтому там немножко косовато получилось.
SirNikolas, почитал маленько, пока не совсем понял, как мне воткнуть в редакторе код. Непонятно какой код в string вбить. Ясно что буквы 410-430 с чем-то, но как это в редакторе вара записать... --- Через альт+число - не выходит, то есть слово то появляется, но всё равно, отобразить слово с 1 по 2 букву - 1 символ показывает, а не 2.
ещё в прошлом году хотел предложить тебе сделать новогоднюю карту=) под эту музыку едет дед (вроде кто то делал батл на санях , можно модель от туда взять) по городу или деревне , вокруг веселье ,ёлки , фейерверки , снег и т.д. я бы и сам сделал но мне лень =3
function GetUtf8StringChar takes string utf8, integer index returns integer local integer hash = StringHash(SubString(utf8, index, index + 1)) local boolean enhanced = false //Особая уличная магия (бин. поиск). if hash >= 0x622796B0 then set enhanced = hash == 0x622796B0 or hash == 0x79680AB6 elseif hash >= -0x2528FB81 then if hash >= 0x3CAF85D5 then if hash >= 0x56FE5F09 then set enhanced = hash == 0x56FE5F09 or hash == 0x5B99BFC5 else set enhanced = hash == 0x3CAF85D5 or hash == 0x44F61401 endif elseif hash >= -0x894A683 then set enhanced = hash == -0x894A683 or hash == 0x1A95F0E1 else set enhanced = hash == -0x2528FB81 or hash == -0x15D74B40 endif elseif hash >= -0x49701044 then if hash >= -0x41A7335B then set enhanced = hash == -0x41A7335B or hash == -0x3E754453 else set enhanced = hash == -0x49701044 or hash == -0x473E9375 endif elseif hash >= -0x5CCC4FE0 then set enhanced = hash == -0x5CCC4FE0 or hash == -0x4BEDA821 else set enhanced = hash == -0x78635472 or hash == -0x65D3BCE0 endif if enhanced then return index + 2 endif return index + 1 endfunction
Закидываешь в нестандартный код. После этого вот так можно сделать цикл по всем символам строки:
Здесь каждый символ просто выводится на экран.
Работа проверялась только с символами кириллицы - [а-яА-ЯёЁ].
Добавлено (24 Декабря 2013, 23:17:40) --------------------------------------------- Сделал всё как на скрине, не отображает ничего Извиняюсь, у мну жнгп запускает вар без поддержки русского шрифта.
Ну крутняк, вроде всё норм пашет, тогда переделаю потом
SirNikolas, и верно, поэтому наверное и не добавлял. Ы. Вот я вася.
Добавлено (25 Декабря 2013, 10:30:35) --------------------------------------------- Вылечил русский перевод 1 действием + добавлением Z к позиции, от которой начинать серую строку. Надеюсь, сэр Николас меня не линчует.
(Система кул энивэй, пригодится, но ковертировать строки теперь уже неохота, раз всё так вылечилось...)
В русском переводе некоторые строки несбалансированы по количеству слогов.
В Рождество все загадать желание ждут. -> В Рождество все загадать желанье ждут. И, хотя на ветках пока не лежит снег -> И, пусть на ветвях не лежит белый снег, Средь мерцанья вдруг на мгновение - -> Средь мерцанья вдруг на мгновенье И пускай никому не придётся скучать. -> И пусть никому не придётся скучать. А для тебя - вновь его украшу я! -> Для тебя его украшу я!