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

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

MyDC.ru _ Помощь по скриптам для PtokaX _ замена стандартной команде !stat

Автор: Saymon 20.2.2010, 23:59

Доброва времени суток. Скажите пожалуйста как можно сделать так что бы стандартную команду !stat можно было перехватить скриптом
и выводилась не стандартная птоковая инфа, а из скрипта.
Как делается действие по команде я знаю, интересует такая вот альтернатива. big_smile.gif
Возможно кому то это покажется бессмысленным, но вот интересно очень.
Зарание спасибо.

Автор: Setuper 21.2.2010, 0:26

Ну так если знаешь как делается действие по команде, ну так вперёд. Что мешает сделать действие на команду !stat ? Не понятна суть проблемы.

Код
function ChatArrival(tUser, sData)
  if sData:find"!stat" then
    Core.SendToUser(tUser, "Наша инфа к команде !stat")
    return true
  end
end

Автор: Saymon 21.2.2010, 0:34

Странно птока у меня реагировала на скрипт и на стандартную команду.
Сейчас всё норм. Понял что делал не так.
А как можно сделать например чтобы профилю Master можно было использовать и стандартную птоковою команду и эту?

Автор: Setuper 21.2.2010, 0:40

вообще говоря команды 2.
!stat и !stats
Поэтому если сделать замену одной команды, то можно использовать другую.
Поэтому замени команду !stat, а !stats оставь, и таким образом можешь смотреть.

Автор: Saymon 21.2.2010, 1:21

Setuper,
Спасибо, оказывается когда сам делал случайно намудрил в скрипте и птока реагировала и на скрипт и на стандартную команду. shame.gif
Тему можно удалить Ещё раз благодарю big_smile.gif

Автор: X-Sky 21.2.2010, 9:13

Цитата
<...> и птока реагировала и на скрипт и на стандартную команду. <...>

Надо писать return true , если я не ошибаюсь

Автор: Saymon 21.2.2010, 16:45

Ага это вот я и забыл.


Вот как бы набросал небольшой скрипт, Хотел добавить парс погоды с сайта Mail.ru.
Взял за основу скрипт который писал Nickolya, по запросу X-Sky, только почему то мне не удалось переделать в сообщении выдаётся
"Погода в Чебоксарах: [нет данных] " помогите пожалуйста понять в чём проблема и исправить.
Прикладываю свой скрипт, прошу сильно не ругать beat_plaster.gif

PS. Всё заработало. big_smile.gif Может кто подскажет просто как можно улучшить скрипт.. big_smile.gif

 StatScript_by_Saymon.lua ( 4.03 килобайт ) : 23
 

Автор: Nickolya 21.2.2010, 17:05

Этот Франкенштейн вполне себе неплохо собран big_smile.gif Убили комментарии в самом конце скрипта big_smile1.gif Вот здесь

Код
function UserConnected(user)
    Core.GetUserAllData(user)
вторая строка лишняя т.к. несет только лишнюю нагрузку...

И еще мне показалось что слишком много конкатенаций.. Подумай как это можно исправить, на заметку тебе метод здешних мастеров: string.format
Плюсом функции берущие аптайм надо внести в реакцию на команду, мне кажется работает оно у тебя не сильно правильно.

Автор: Saymon 21.2.2010, 17:14

Nickolya, хорошо, спасибо. А как вот сделать например чтобы перфикс команд скрипта указывался не в строке

Код
if cmd == "!stat" or cmd == "!стат" or cmd == "!stats" then

А есть какой то другой параметр точно не помню но чтобы команды работали по перфиксам ! и +

Цитата(Nickolya @ 21.2.2010, 19:05) *
string.format
Плюсом функции берущие аптайм надо внести в реакцию на команду, мне кажется работает оно у тебя не сильно правильно.

А можно пожалуйста подробней?

Автор: STRELOK_IS74 21.2.2010, 17:14

Цитата(Saymon @ 21.2.2010, 19:14) *
Nickolya, хорошо, спасибо. А как вот сделать например чтобы перфикс команд скрипта указывался не в строке
Код
if cmd == "!stat" or cmd == "!стат" or cmd == "!stats" then

А есть какой то другой параметр точно не помню но чтобы команды работали по перфиксам ! и +

Код
  local sCmd = sData:match"%b<>%s+[!+*](%S+)"

Автор: Saymon 22.2.2010, 1:15

Спасибо парни после работы попробую пределать.



Исправил некоторые косяки, добавил несколько функций
Тестируем, сильно не ругаем big_smile.gif  PtokaX_Stat_Script_0.2_by_Saymon.lua ( 5.9 килобайт ) : 18

Цитата(STRELOK_IS74 @ 21.2.2010, 18:14) *
Код
  local sCmd = sData:match"%b<>%s+[!+*](%S+)"

Спасибо. Сделаю в следующей версии big_smile.gif