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

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

MyDC.ru _ Запросы скриптов для PtokaX _ нужен скрипт

Автор: skonda 4.8.2009, 0:19

Подскажите как сделать простенький скрипт. наподобие hellobot. Требуеться чтобы при входе юзера он выдавал ему следующее :

Добро пожаловать, ...
Ваш IP ..., Шара ..., Профиль....

все. пробовал сам поубирать все лишнее из хеллобота, но не очень в этом разбираюсь.

Автор: Jaska 4.8.2009, 1:33

Код
function UserConnected(tUser)
local Share = Core.GetUserValue(tUser, 16) or 0
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Добро пожаловать на хаб\r\n\r\n\tВаш ник: "..tUser.sNick.."\r\n\tIp-адрес: "..tUser.sIP.."\r\n\tВаш профиль: "..ProfMan.GetProfile(tUser.iProfile).sProfileName.." (№ "..tUser.iProfile..")\r\n\tВаша шара: "..Share.." байт")
end

OpConnected = UserConnected
RegConnected = UserConnected


шара в байтах, чтобы перевести в нормальный вид нужно воспользоваться функцией из этого раздела http://mydc.ru/topic334.html там их несколько выбери сам))))

Автор: Trans 4.8.2009, 9:44

2skonda:

Вот тебе то, что надо (это модернизированный вариант скрипта из предыдущего сообщения) :
http://mydc.ru/ipb.html?act=attach&type=post&id=2901

Автор: skonda 4.8.2009, 11:10

Цитата(Trans @ 4.8.2009, 10:44) *
2skonda:

Вот тебе то, что надо (это модернизированный вариант скрипта из предыдущего сообщения) :
http://mydc.ru/ipb.html?act=attach&type=post&id=2901
скрипт нормальный, только когда на хабе только 1 юзер с нулевой шарой выдает HelloBotAkaVerliHub_1[1].1_api2.lua:21: division by zero а так норм работает big_smile.gif

2 Jaska, я немного переделал то что ты написал, в итоге пишет : Hellobot.lua:3: unexpected symbol near 'П'. Как подредактировать чтобы не выдавал такую ошибку ?

вот текст : Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Добро пожаловать, "..tUser.sNick.."!\n\tВаш IP : "..tUser.sIP..", Шара : "..Share.." байт", Профиль: "..ProfMan.GetProfile(tUser.iProfile).sProfileName.." (№ "..tUser.iProfile)"
end

Автор: Wariner 4.8.2009, 11:26

после слова байт кавычки убери одни!

Автор: skonda 4.8.2009, 11:51

Цитата(Wariner @ 4.8.2009, 12:26) *
после слова байт кавычки убери одни!
теперь 3: unfinished string near '"'

Автор: Wariner 4.8.2009, 11:58

Код
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Добро пожаловать, "..tUser.sNick.."!\n\tВаш IP : "..tUser.sIP..", Шара : "..Share.." байт, Профиль: "..ProfMan.GetProfile(tUser.iProfile).sProfileName.." (№ "..tUser.iProfile..")")

Автор: Trans 4.8.2009, 12:52

Вот исправленный скрипт, который я давал в предыдущем своем сообщении. Теперь при заходе юзера с нулевой шарой скрипт не падает и покажет правильно. Просто я раньше не учел, что могуть заходить с нулевой шарой, хотя должен был. big_smile.gif

 HelloBotAkaVerliHub_1.2_api2.lua ( 2.51 килобайт ) : 11
 

Автор: skonda 4.8.2009, 21:39

Цитата(Jaska @ 4.8.2009, 2:33) *
шара в байтах, чтобы перевести в нормальный вид нужно воспользоваться функцией из этого раздела http://mydc.ru/topic334.html там их несколько выбери сам))))

На мой взгляд эта ф-ция подходит :

function GetNormalShare(s,n)
local i,t=1,{"Б","КБ","МБ","ГБ","ТБ","ПБ"}
s=s and tonumber(s) or 0
n=n and "%."..n.."f " or "%.3f "
while s>0x400 do s,i=s/0x400,i+1 end
return n:format(s)..(t[i] or "??")
end

вопрос : как ее правильно дописать в скрипт? пока вот что получаеться. И Еще во время работы выдает вот что Hellobot.lua:4: attempt to index a nil value

 Hellobot.lua ( 597 байт ) : 5
 

Автор: Jaska 4.8.2009, 22:15

пользуйся
 hellobot.lua ( 915 байт ) : 9

Автор: skonda 4.8.2009, 23:27

Цитата(Jaska @ 4.8.2009, 23:15) *
пользуйся
 hellobot.lua ( 915 байт ) : 9
посмотри плз я немного переделал по своему но суть та же. выдает ошибку Hellobot.lua:3: attempt to index a nil value

и кстати при входе не отображаеться незареганным юзерам, как сделать чтобы отображалось всем ?

Автор: Jaska 4.8.2009, 23:48

поправил
 hellobot.lua ( 1.71 килобайт ) : 11

Автор: Sekretchik 8.8.2009, 15:08

Могу предложить такой вариант приветствия. (Скрипт работает на Ptokax 0.4.1.1 API 2 LUA 5.1.4)


 HelloBot.lua ( 3.86 килобайт ) : 16