InfoMenu, API2 | Скрипт показывающий информацию о хабе и о юзере в меню |
Здравствуйте, гость ( Вход | Регистрация )
InfoMenu, API2 | Скрипт показывающий информацию о хабе и о юзере в меню |
21.5.2010, 15:09
Сообщение
#1
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Название: InfoMenu
Версия API API2 Автор: Saymon Описание: Скрипт показывает информацию о хабе и о юзере в меню. Скрин: InfoMenu_by_Saymon.lua ( 8.14 килобайт ) Кол-во скачиваний: 310 PS. Скрипт писал для себя решил выложить, авось кому понадобится PPS. На скрине есть пункт "Прислать дополнительное меню". В данном скрипте этого нет. Это из другова скрипта. Сообщение отредактировал Saymon - 21.5.2010, 16:30 |
|
|
21.5.2010, 15:56
Сообщение
#2
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
меню на хабе не появилось, в опчат пишит
[16:49:42] <OpChat> ... Files\PtokaX 0.4.1.2\scripts\InfoMenu_by_Saymon.lua:127: attempt to concatenate field '?' (a nil value) У мя птока 0,4,1,2 |
|
|
21.5.2010, 16:30
Сообщение
#3
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Исправил
Скрипт перезалит в первом посте. |
|
|
21.5.2010, 17:42
Сообщение
#4
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
Меню также неробит на хабе с грейлинка(профиль админский)
Меню робит с флайлинка(профиль незарегенный) Выводит сообщение, теперь уже в птоке, такое: [18:37] Синтаксис ... Files\PtokaX 0.4.1.2\scripts\InfoMenu_by_Saymon.lua:127: attempt to concatenate field '?' (a nil value) В опчате тож выводит сообщение: [18:40:03] <OpChat> ... Files\PtokaX 0.4.1.2\scripts\InfoMenu_by_Saymon.lua:127: attempt to concatenate field '?' (a nil value) |
|
|
22.5.2010, 18:17
Сообщение
#5
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Не знаю что там у тебя, а у меня
[19:15] Нет синтаксических ошибок в файле скрипта InfoMenu_by_Saymon.lua [19:15] Скрипт запущен. Вот скрипт прямо из моей птоки InfoMenu_by_Saymon.lua ( 8.14 килобайт ) Кол-во скачиваний: 67 Проверял на 0.4.1.2 и на 0.4.1.1 Ошибок нет. |
|
|
22.5.2010, 19:15
Сообщение
#6
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
Ну хз, хз!
Пробую - в опчат сёрано сообщения пишит! Так шо хз где там да чё! А еси за птокой после установки скрипта последить то увидишь похожие сообщеньица: [20:14] Синтаксис ... Files\PtokaX 0.4.1.2\scripts\InfoMenu_by_Saymon.lua:132: attempt to concatenate a nil value Так что гдето чтото там спрятоно |
|
|
22.5.2010, 20:05
Сообщение
#7
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
|
|
|
22.5.2010, 20:19
Сообщение
#8
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
ога, а чё?
|
|
|
22.5.2010, 20:29
Сообщение
#9
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
А теперь, ради интереса
тыкай найти: Код "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш профиль на хабе:\t"..tProfileName[tUser.iProfile].."$<%[mynick]> ||".. заменить на: Код --"$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш профиль на хабе:\t"..tProfileName[tUser.iProfile].."$<%[mynick]> ||".. найти: Код if tProfiles[tUser.iProfile] == 1 then Core.SendToUser(tUser, InformMenu) end заменить на: Код --if tProfiles[tUser.iProfile] == 1 then Core.SendToUser(tUser, InformMenu) --end |
|
|
22.5.2010, 21:10
Сообщение
#10
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
Сделал, вроде так норма всё
|
|
|
22.5.2010, 22:56
Сообщение
#11
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Избавься ты от этих левых профилей! Иначе у тебя на каждом новом скрипте постоянно будут подобные проблемы и люди будут тратить половину своего времени на решение твоих профильных проблем.
Насоздавал их зачем-то...Ты сначала напучись работать со скриптами, а потом уж делай что хочешь со всем остальным. |
|
|
23.5.2010, 13:31
Сообщение
#12
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
sania, У тебя есть 3 варианта сейчас.
1) Делай как тебе сказал Ksan. 2) Допили профили под себя. (тыкай) а именно тут Код local tProfiles = { -- Кому будет доступно меню. 1 - Да. 0 - Нет. [0] = 1, -- Мастер [1] = 1, -- ОПератор [2] = 1, -- VIP [3] = 1, -- Зарегистрированный пользователь [-1] = 1, -- Незарегистрированный юзер } и тут tProfileName = { -- Названия профилей. [0] = "Главный администратор", [1] = "Оператор", [2] = "VIP-Пользователь", [3] = "Зарегистрированый пользователь", [-1] = "Незарегистрированный пользователь", } После этого убери коментарий в тех строках, что я тебе показал. 3) Юзай данный скрипт без ограничения по профилям и отображения имени профиля. |
|
|
23.5.2010, 15:42
Сообщение
#13
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
Спасибо, Saymon , сделал по пункту 2, все заработало нормально!!!
|
|
|
26.5.2010, 9:54
Сообщение
#14
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
А всётаки очень редко, но в опчат выводит сообщение 2 раза в день(с утра и вечером)!
Такая же похожая фигня была 2 раза в день и когда мы убирали отображение профиля, просто я её не сразу заметил Сообщение такое: [10:52:16] <OpChat> ... Files\PtokaX 0.4.1.2\scripts\InfoMenu_by_Saymon.lua:83: attempt to perform arithmetic on local 'a' (a nil value) Исправить можно как-нибудь просто? |
|
|
26.5.2010, 10:48
Сообщение
#15
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Заменить
Код a,b,c = tonumber(a),tonumber(b),tonumber(c) на Код a,b,c = tonumber(a or 0),tonumber(b or 0),tonumber(c or 0)
|
|
|
26.5.2010, 21:00
Сообщение
#16
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
Спасибо большое
|
|
|
27.5.2010, 21:20
Сообщение
#17
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
блин, теперя такую хрень в опчат пишит, также редко:
[22:17:37] <OpChat> ... Files\PtokaX 0.4.1.2\scripts\InfoMenu_by_Saymon.lua:131: attempt to concatenate a nil value |
|
|
27.5.2010, 21:46
Сообщение
#18
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Приводи сюда свой код в качестве примера, а то у меня эта строка вообще пустая! Надо от тебя лишь строчку, выдающую ошибку.
|
|
|
28.5.2010, 11:30
Сообщение
#19
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 6 Регистрация: 26.4.2010 Пользователь №: 6 722 Спасибо сказали: 0 раз |
что то ошибку выдает вот такую в личку от опчата:
[11:19:19] <OpChat> C:\Хаб\scripts\InfoMenu_by_Saymon.lua:126: attempt to concatenate field '?' (a nil value) но при это скрипт пашет нормально.. Вот кусок кода: Код 125 "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Количество ваших слотов составляет:\t"..Slots(tUser).."$<%[mynick]> ||"..
126 "$UserCommand 0 3|" 127 Core.SendToUser(tUser,"$UserCommand 1 3 <•><•><•><•><•><•><•><•><•><•><•><•> $<%[mynick]> ||") |
|
|
28.5.2010, 21:23
Сообщение
#20
|
|
Продвинутый участник Группа: Пользователи Сообщений: 128 Регистрация: 16.4.2010 Пользователь №: 6 646 Спасибо сказали: 10 раз |
Nickolya
Вот весь мой робящий скрипт с выше описанною проблемой: Здеся скрипт Код --[[::::::::::::::::::: (с) 2010 by Saymon ::::::::::::::::::::::::::::: Название: InfoMenu Версия API: API2 Автор: Saymon Описание: Скрипт показывает информацию о хабе и о юзере в меню. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::]] HubOwner = "Admin" -- Владелец хаба InetProvayder = "РосИнтел(сайт www.rosintel.ru)" --Интернет провайдер HubCity = "Новомосковск" -- Город хаба HubName = SetMan.GetString(0) sMenu = "Информация для" YearInitial = "2009" -- Год в котором был открыт хаб YearFlowing = "2010" local tProfiles = { -- Кому будет доступно меню. 1 - Да. 0 - Нет. [0] = 1, -- NetFounder [1] = 1, -- Admin [2] = 1, -- Moderator [3] = 1, -- Operator [4] = 1, -- VIP [5] = 1, -- Reg [-1] = 1, -- Незарегистрированный юзер } --:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: tProfileName = { -- Названия профилей. [0] = "Главный администратор", [1] = "Admin", [2] = "Moderator", [3] = "Operator", [4] = "VIP", [5] = "Зарегистрированный пользователь", [-1] = "Незарегистрированный пользователь", } --:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: function GetNormalShare(s) s = tonumber(s) or 0 if s >= 1125899906842624 then return (math.floor(1000 * s / 1125899906842624) / 1000).." ПБ" elseif s >= 1099511627776 then return (math.floor(1000 * s / 1099511627776) / 1000).." TБ" elseif s >= 1073741824 then return (math.floor(1000 * s / 1073741824) / 1000).." ГБ" elseif s >= 1048576 then return (math.floor(1000 * s / 1048576) / 1000).." МБ" elseif s >= 1024 then return (math.floor(1000 * s / 1024) / 1000).." КБ" else return s.." Б" end end function GetUserReg(sNick) local tRegUser = RegMan.GetReg(sNick) if user then return "Ваш пароль: "..tUser.sPassword.."" end return "n/a" end function GetNormalTime(s) -- форматирование времени s=tonumber(s) or 0 local r="" if s>=31104000 then r=math.floor(s/31104000).." г. " s=math.fmod(s,31104000) end if s>=2592000 then r=r..math.floor(s/2592000).." мес. " s=math.fmod(s,2592000) end if s>=86400 then r=r..math.floor(s/86400).." д. " s=math.fmod(s,86400) end if s>=3600 then r=r..math.floor(s/3600).." ч. " s=math.fmod(s,3600) end if s>=60 then r=r..math.floor(s/60).." мин. " s=math.fmod(s,60) end return r..s.." сек." end function ModeRec(tUser) if Core.GetUserValue(tUser,10) then return "Активный" elseif Core.GetUserValue(tUser,0) == "P" then return "Пассивный" else return "Proxy" end end function Client(tUser) if not Core.GetUserValue(tUser,6) or not Core.GetUser(tUser.sNick,true).sClientVersion then return "n/a" else return Core.GetUserValue(tUser,6) end end function Hubs(tUser) if not Core.GetUserValue(tUser,17) or Core.GetUserValue(tUser,17) == 0 then if not Core.GetUserValue(tUser,1):find("H%d+,S") then local a,b,c = Core.GetUserValue(tUser,1):match("H:(%d+)/(%d+)/(%d+)") a,b,c = tonumber(a or 0),tonumber(b or 0),tonumber(c or 0) --local hubs = a+b+c else hubs = Core.GetUserValue(tUser,1):match("H(%d+),S") end return hubs else return Core.GetUserValue(tUser,17) end end function Slots(tUser) if not Core.GetUserValue(tUser,21) or Core.GetUserValue(tUser,21) == 0 then local slots = Core.GetUserValue(tUser,1):match("S:(%d+)") return tonumber(slots) else return Core.GetUserValue(tUser,21) end end function UserConnected(tUser) local InformMenu = "$UserCommand 0 3|".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Добро пожаловать, "..tUser.sNick.."$<%[mynick]> ||".. "$UserCommand 0 3|".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\ Информация о хабе$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Название хаба:\t"..HubName.." $<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Описание хаба:\t"..(SetMan.GetString(5) or "n/a").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Топик:\t"..(SetMan.GetString(10) or "n/a").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Владелец:\t"..HubOwner.."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Город хаба:\t"..HubCity.."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Интернет провайдер:\t"..InetProvayder.."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Сейчас на хабе:\t"..Core.GetUsersCount().." пользователей онлайн$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Из них администрации:\t"..#Core.GetOnlineOps().." представителей онлайн $<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Общая шара хаба составляет:\t"..GetNormalShare(Core.GetCurrentSharedSize()).."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Время непрерывной работы хаба:\t"..GetNormalTime(Core.GetUpTime()).."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Время и дата на сервере:\t"..os.date("%H:%M / %d %b %Y").."$<%[mynick]> ||".. "$UserCommand 0 3|".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\ Информация о вас$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш ник:\t"..tUser.sNick.."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш пароль:\t"..(tUser.iProfile ~= -1 and RegMan.GetReg(tUser.sNick).sPassword or "-").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\IP / Страна:\t"..tUser.sIP.." / "..tostring(IP2Country.GetCountryName(tUser)).."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваше описание:\t"..(Core.GetUser(tUser.sNick,true).sDescription or "n/a").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваша шара:\t"..GetNormalShare(Core.GetUserValue(tUser,16)).."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш E-Mail:\t"..(Core.GetUser(tUser.sNick,true).sEmail or "n/a").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш профиль на хабе:\t"..tProfileName[tUser.iProfile].."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш режим подключения:\t"..ModeRec(tUser).."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Ваш клиент:\t"..Client(tUser).." "..(Core.GetUser(tUser.sNick,true).sClientVersion or "n/a").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\DC тег:\t"..(Core.GetUser(tUser.sNick,true).sTag or "n/a").."$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Вы на:\t"..Hubs(tUser).." хабах$<%[mynick]> ||".. "$UserCommand 1 3 "..sMenu.." "..tUser.sNick.."\\Инфо о вас и о хабе\\Количество ваших слотов составляет:\t"..Slots(tUser).."$<%[mynick]> ||".. "$UserCommand 0 3|" Core.SendToUser(tUser,"$UserCommand 1 3 <•><•><•><•><•><•><•><•><•> $<%[mynick]> ||") Core.SendToUser(tUser,"$UserCommand 1 3 «¤•°"..HubName.."°•¤» © "..YearInitial.." - "..YearFlowing.."$<%[mynick]> ||") Core.SendToUser(tUser,"$UserCommand 1 3 <•><•> Меню пользователя <•><•> $<%[mynick]> ||") if tProfiles[tUser.iProfile] == 1 then Core.SendToUser(tUser, InformMenu) end end OpConnected = UserConnected RegConnected = UserConnected function OnError(s) local h=io.open("errors.log","a+") if h then h:write(os.date()..": "..s.."\r\n") h:close() end if Core then Core.SendToOpChat(s) else SendToOpChat(s) end end |
|
|
|
Сейчас: 27.11.2024, 14:16 |