Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Помощь по скриптам для PtokaX _ Guess Country

Автор: Артём 18.12.2009, 1:03

Помогите, скрипт не понимает русский)))
ничего кроме менюшки и городов не менял

Вот пример
Цитата
[23:58:17] <[GuessCountry]> Артём started a round of Guess Country 1.01: First Hint: The country name starts with Т
[23:58:20] <Чик> есть такое
[23:58:21] <Артём> Турция
[23:58:26] <Артём> Тунис
[23:58:28] <Чик> Туркменистан
[23:58:33] <Артём> Туркменистан
[23:58:33] <Чик> Тайвань
[23:58:37] <Чик> Таиланд
[23:58:42] <Артём> Тувалу
[23:58:43] <Чик> хз
[23:58:47] <[GuessCountry]> Time is up. The answer was Турция.
[23:58:49] <Артём> Таджикистан
[23:58:51] <Артём> бля
[23:58:52] <Чик> тю
[23:58:56] <[GuessCountry]> Артём started a round of Guess Country 1.01: First Hint: The country name starts with Н
[23:59:01] <Артём> Науру
[23:59:02] <Чик> так ты ж говорил Турция
[23:59:18] <Артём> хуйня значит с ним творится))
[23:59:25] <Чик> капец

 Guess_Country.lua ( 17.71 килобайт ) : 20

Автор: Nickolya 18.12.2009, 2:37

Код
local _,_,pfx,cmd = data:lower():find("%b<> (["..Gc.Prefixes.."])(%a+)")
    local _,_,guess = data:find("%b<> ([ %a]+)|")

Найди это и поменяй %a на %S

Автор: Артём 18.12.2009, 2:55

Сменил в обеех строках

Код
    local _,_,pfx,cmd = data:lower():find("%b<> (["..Gc.Prefixes.."])(%S+)")
    local _,_,guess = data:find("%b<> ([ %S]+)|")

Вот что получилось, при попытки поиграть в чат литит команда, ошибок не выдаёт.

Автор: Nickolya 19.12.2009, 17:04

Оказалось надо писать не пробел, а все-таки %s, таким образом мы получаем

Код
    local _,_,guess = data:find("%b<> ([%s%S]+)|")
что вполне эквивалентно
Код
    local guess = data:match("%b<>%s(.+)|$")
так что заменяй на последнее и все заработает big_smile.gif

Автор: Артём 19.12.2009, 17:19

команды в чат пропускает, ошибок нет((

Код
    local _,_,pfx,cmd = data:lower():find("%b<> (["..Gc.Prefixes.."])(%s+)")
    local guess = data:match("%b<>%s(.+)|$")

вот это только менял...

Автор: Nickolya 19.12.2009, 17:39

Первая строка выглядит так, разница конечно между s и S, но это значительно:

Код
    local _,_,pfx,cmd = data:lower():find("%b<> (["..Gc.Prefixes.."])(%S+)")
хотя именно в этой строке, если не менять команды скрипта, можно оставить и %a+

Автор: Артём 19.12.2009, 18:09

Всё работает, теперь доперевести на русский и можно наверно в готовые выложить)