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

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

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

Автор: Mr. DoKeP 23.6.2012, 16:23

итак есть скрипт

CODE
--[[

Версия для LUA 5.0.2 / 5.1.1 by NRJ

Сконвертировано под Lua 5.1.3 неизвестно кем big_smile.gif Конвертер, отзовись ;)

Таблица trigs взята из одноименного скрипта перевода romiros'a
Поддержка русских букв взята из NOYELL script от NoNick'a

]]--

BotName = "®PlayGamer®" -- имя бота
BotDesc = "Говорящий бот " -- описание бота
BotEmail = "" -- email бота

------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------

-- Таблица ников-исключений,чьи фразы бот не будет комментировоть (примеры ниже)
TableName = {
}

------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------

trigs = {

["ИГРЫ"]={
"magnet:?xt=urn:tree:tiger:K7WCLT4GNMTWIJRRPOHX6UUQWY7F7R665TKKDKQ&xl=4575897600&dn=THE_WITCHER_GOLD%5BPlayGamer%C2%AE%5D.iso , \n"..
"magnet:?xt=urn:tree:tiger:QI3BS2VYBVH3K5PW4W3FVRMXVF5OH6L3SEVJ57I&xl=4549869568&dn=Resident_Evil_5%5BPlayGamer%C2%AE%5D.iso , \n"..
"magnet:?xt=urn:tree:tiger:WRPYJDTT654SPKVWJ5LLKABQRWKICZSSC5U6ZWQ&xl=4422074368&dn=Ghostbusters%5BPlayGamer%C2%AE%5D.iso , \n"..
"magnet:?xt=urn:tree:tiger:CR2FJBPXC4IHDURMXECZSD5Q7ANQN5AMODLPO6Y&xl=5786959872&dn=Assasins+Creed+2%5BPlayGamer%C2%AE%5D.iso , \n"..
"magnet:?xt=urn:tree:tiger:ATELDYFFIW35XPLNRXNM74ZFQMOD3FHBV5JECPI&xl=3205994496&dn=Burnout+Paradise%5BPlaygamer%C2%AE%5D.iso , \n"..
"magnet:?xt=urn:tree:tiger:WERRPQVIR3SQCUQISEILCPCXTPNAEANNZSIVDFQ&xl=5856057896&dn=Test+Drive+Unlimited+2%5BPlayGamer%C2%AE%5D.rar , \n"..
"magnet:?xt=urn:tree:tiger:I7LTXN2MZHESH7LO4AKMZ5CBB5F6ND5FH5GXMGA&xl=8229953536&dn=Call+of+Duty+-+5+World+at+War+%5BPlayGamer%C2%AE%5D.iso .",
},

["АДРЕСА"]={
"\nАдреса наших ресурсов \nЭрлайн --10.101.32.85 \nСум-Тел -- 10.5.49.216 ",
},

["ТИМСПИК"]={
"Эрлайн --10.101.32.85 , Сум-Тел -- 10.5.49.216 ",
},

["ПОРТАЛ"]={
"Эрлайн --http://10.101.32.85 , Сум-Тел -- http://mydc.ru/r/?http://10.5.49.216",
},

["ФОРУМ"]={
"Эрлайн --http://10.101.32.85/forum , Сум-Тел -- http://mydc.ru/r/?http://10.5.49.216/forum",
},

["КОННЕКТ"]={
"\n"..
"Наши сервера: \n"..
"Counter-Strike 1.6 Public Эрлайн -10.101.32.85 Сум-Тел 10.5.49.216 , \n"..
"Counter-Strike 1.6 CSDM Эрлайн-10.101.32.85:1 Сум-Тел-10.5.49.216:1 , \n"..
"Team Speak Эрлайн-10.101.32.85 Сум-Тел-10.5.49.216 , \n"..
"Call Of Duty 4 Эрлайн-10.101.32.85 Сум-Тел-10.5.49.216 ,\n"..
" GTA-Samp Эрлайн-10.101.32.85:7777 Сум-Тел-10.5.49.216:7777 , \n"..
"Battle.Net Эрлайн-10.101.32.85 Сум-Тел-10.5.49.216 . ",
},
["ДРУЗЬЯ"]={
"\n"..
"GAMES.RU dchub://10.70.15.221 \n"..
"Общество Мусульман dchub://10.217.30.30 , \n"..
"Хаб *****T_A_K_B_I_R***** dchub://10.102.28.69 ",
},
["РЕКЛАМА"]={
"\n"..
"Наша реклама %D0%9C%D0%B5%D0%B3%D0%B0+%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0+PlayGamer.mp4" (27.81 мегабайт),
},
}
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------

Rus={["А"]="а",["Б"]="б",["В"]="в",["Г"]="г",["Д"]="д",["Е"]="е",["Ё"]="ё",
["Ж"]="ж",["З"]="з",["И"]="и",["Й"]="й",["К"]="к",["Л"]="л",["М"]="м",
["Н"]="н",["О"]="о",["П"]="п",["Р"]="р",["С"]="с",["Т"]="т",["У"]="у",["Ф"]="ф",["Х"]="х",["Ц"]="ц",["Ч"]="ч",
["Ш"]="ш",["Щ"]="щ",["Ъ"]="ъ",["Ы"]="ы",["Ь"]="ь",["Э"]="э",["Ю"]="ю",["Я"]="я"}

function OnStartup()
if (_VERSION == "Lua 5.1.1") or (_VERSION == "Lua 5.1") then
TableMaxSize = table.maxn
elseif (_VERSION == "Lua 5.0.2") then
TableMaxSize = table.getn
end

Core.RegBot(BotName,BotDesc,BotEmail,true)
end

function ChatArrival(curUser,data)
Core.GetUserAllData(curUser)
if TableName[curUser.sNick] ~=1 then if string.sub(data, 1, 1) then
data=string.sub(data,1,string.len(data)-1)
s,e,cmd,RestOfText = string.find( data, "%b<>%s+(%S+)%s+(.*)" )
if RestOfText == nil then
RestOfText = ""
s,e,cmd = string.find( data, "%b<>%s+(%S+)" )
end
end
s,e,mess = string.find(data, "^%b<>%s(.*)$")
for key in pairs(trigs) do
if mess then
for b,s in pairs(Rus) do
data=string.gsub(data , b, Rus[b])
if( string.find(data, key) ) then
answer, x = string.gsub(trigs[key][math.random(1,TableMaxSize(trigs[key]))], "%b[]", curUser.sNick)
Core.SendToAll("<"..curUser.sNick.."> "..cmd.." "..RestOfText)
Core.SendToAll("<"..curUser.sNick.."> ".. answer )
return true
end
end
if( string.find( string.lower(mess), key) ) then
answer, x = string.gsub(trigs[key][math.random(1,TableMaxSize(trigs[key]))], "%b[]", curUser.sNick)
Core.SendToAll("<"..curUser.sNick.."> "..cmd.." "..RestOfText)
Core.SendToAll("<"..curUser.sNick.."> ".. answer )
return true
end
end
end
end
end


нужно чтоб ответ на сообщение мог получить человек отправлявший его!!!

Автор: ShadoWx 23.6.2012, 17:32

Цитата
Core.SendToAll("<"..curUser.sNick.."> ".. answer )


на

Цитата
Core.SendToUser("<"..curUser.sNick.."> ".. answer )


заменить там где это необходимо...

Автор: warhammer 23.6.2012, 20:05

А интересно придумано меню сделать в главный чат с этого бота. про бывал только плохо команды пользователя и ответы видны в главном Чате минус засоряет Главный Чат , ЕСЛИ ТАКОЙ СКРИПТ СУЩЕСТВУЕТ МЕНЮ В ГЛАВНЫЙ ЧАТ СКИНЬТЕ ССЫЛКУ surrender.gif

Автор: Ksan 24.6.2012, 7:08

Цитата(ShadoWx @ 23.6.2012, 21:32) *
на

Core.SendToUser("<"..curUser.sNick.."> ".. answer )

заменить там где это необходимо...

Неправильный совет.
Правильно так:
Код
Core.SendToUser(curUser.sNick, answer)

Автор: Mr. DoKeP 24.6.2012, 9:23

Цитата(ShadoWx @ 23.6.2012, 18:32) *
на



заменить там где это необходимо...


Пробовал не получается. Если не трудно скопируй и сам посмотри я думаю у тебя сразу получиться сделать

Цитата(Ksan @ 24.6.2012, 8:08) *
Неправильный совет.
Правильно так:
Код
Core.SendToUser(curUser.sNick, answer)


Твой совет не помог

Автор: Ksan 24.6.2012, 10:47

Цитата
Твой совет не помог
Я не советовал, я только поправил предлагаемый предыдущим товарищем код.

Автор: ShadoWx 24.6.2012, 14:31

ну по сути там просто поменять функцию ;)

Автор: Mr. DoKeP 25.6.2012, 7:09

Но все таки помогите чтоб работало

Автор: warhammer 26.6.2012, 13:53

Помогите же этому хлопцу choler.gif

Автор: Alexey 26.6.2012, 18:16

Цитата(Ksan @ 24.6.2012, 7:08) *
Неправильный совет.
Правильно так:
Код
Core.SendToUser(curUser.sNick, answer)


Неправильный совет.
Правильно так:
Код
Core.SendToUser(curUser, answer)

Автор: Mr. DoKeP 26.6.2012, 19:42

Цитата(Alexey @ 26.6.2012, 19:16) *
Неправильный совет.
Правильно так:
Код
Core.SendToUser(curUser, answer)


Спасибо очень помогло

Автор: Ksan 27.6.2012, 7:14

Ага. Забыл, что там не ник, а User. big_smile.gif