Автор: Lpein 9.1.2009, 0:43
Как зделать так, чтобы в меню хаба отображались данные пользователя? Например, пользователь кликает и выводится меню. Первая строка там такая:"Меню для (тут ник пользователя)". Когда он наводит на эту строку, появляется подменю где первая строка такова:"Ваш ip:(тут ip пользователя)".
Думаю такое меню должно придать хабу оригинальность.
Автор: Setuper 9.1.2009, 1:49
Код
function UserConnected(tUser)
Core.SendToUser(tUser,"$UserCommand 1 2 Меню для "..tUser.sNick.."\\Ваш ip: "..tUser.sIP.."$<%[mynick]> /me Мой ip: "..tUser.sIP.."&#*124;")
end
RegConnected=UserConnected
OpConnected=UserConnected
* - удалить
Автор: Fislons 9.1.2009, 11:27
Цитата(Setuper @ 9.1.2009, 2:49)
Код
function UserConnected(tUser)
Core.SendToUser(tUser,"$UserCommand 1 2 Меню для "..tUser.sNick.."\\Ваш ip: "..tUser.sIP.."$<%[mynick]> /me Мой ip: "..tUser.sIP.."&#*124;")
end
RegConnected=UserConnected
OpConnected=UserConnected
* - удалить
А как зделать что б итог "[10:25:47] * Fislons Мой ip: 127.0.0.7" показывался только мне??
Автор: Lpein 9.1.2009, 12:15
Спасибо! А что надо вставить вместо ..tUser.sIP.. чтобы показывало шару? А вообще что можно туда внедрить заместо ..tUser.sIP..?
Автор: Setuper 9.1.2009, 12:56
Цитата(Fislons @ 9.1.2009, 11:27)
А как зделать что б итог "[10:25:47] * Fislons Мой ip: 127.0.0.7" показывался только мне??
лучше над этим не заморачиваться, так как для этого надо будет много написать кода))))
Вместо ip чтобы шара была делается так:
Код
function UserConnected(tUser)
Core.GetUserData(tUser,16)
Core.SendToUser(tUser,"$UserCommand 1 2 Меню для "..tUser.sNick.."\\Ваша шара: "..tUser.iShareSize.." байт$<%[mynick]> /me Моя шара: "..tUser.iShareSize.." байт&#*124;")
end
RegConnected=UserConnected
OpConnected=UserConnected
Цитата
User data IDs for Core.GetUserData call.
-------------------
0 - sMode
1 - sMyInfoString
2 - sDescription
3 - sTag
4 - sConnection
5 - sEmail
6 - sClient
7 - sClientVersion
8 - sVersion
9 - bConnected
10 - bActive
11 - bOperator
12 - bUserCommand
13 - bQuickList
14 - bSuspiciousTag
15 - iProfile
16 - iShareSize
17 - iHubs
18 - iNormalHubs
19 - iRegHubs
20 - iOpHubs
21 - iSlots
22 - iLlimit
23 - iDefloodWarns
24 - iMagicByte
25 - iLoginTime
26 - sCountryCode
Читаем файл scripting-interface.txt, и меньше вопросов будет
Автор: Lpein 9.1.2009, 14:54
Всё понятно, большое спасибо.
Вот слепил скрипт. Думаю, кому нибуть пригодится. При нажатии на меню выдаёт комманды, их вы можете изменить.
Автор: Setuper 9.1.2009, 15:36
Если в скрипте используется много данных о пользователе (больше 2 полей таблицы пользователя), то можно вместо многократного использования функции Core.GetUserData(tUser,iNumber) написать 1 раз функцию Core.GetUserAllData(tUser)
Автор: Fislons 9.1.2009, 19:47
CODE
----------------- Script menu by Fislons (kharkov) -¦2007¦-
NewUserConnected = function(user,data)
byte = 1
Kbyte = byte*1024
Mbyte = Kbyte*Kbyte
Gbyte = Kbyte*Kbyte*Kbyte
Tbyte = Kbyte*Kbyte*Kbyte*Kbyte
share = user.iShareSize/Gbyte
email = user.sEmail
hubname = frmHub:GetHubName()
bot = frmHub:GetHubBotName()
hubtopic = frmHub:GetHubTopic()
hubonline = string.format("%.0f minute",frmHub:GetUpTime() / 60)
hubshare = string.format("%.3f Tb.",(frmHub:GetCurrentShareAmount()+user.iShareSize)/(1024 * 1024 * 1024 * 1024))
hubusersmax = frmHub:GetMaxUsers()
description = frmHub:GetHubDescr()
hubaddress = frmHub:GetHubAddress()
hubport = frmHub:GetHubPort()
hubudpport = frmHub:GetHubUdpPort()
RegisteredUsers = frmHub:GetUsersCount()
maxslots = frmHub:GetMaxSlots()
if (share == nil) then
share = "Нет шары" -- Если ничего не расшарено.
end
if (email == nil) then
email = "E-mail не указан" -- Если E-mail не указан.
end
if (hubtopic == nil) then
hubtopic = "Топик не задан" -- Если топик не задан.
end
if (user.iProfile == -1) then
profile = "Незарегестрированный юзер"
end
if (user.iProfile == 3) then
profile = "Зарегестрированный юзер"
end
if (user.iProfile == 2) then
profile = "VIP-юзер"
end
if (user.iProfile == 1) then
profile = "Оператор"
end
if (user.iProfile == 0) then
profile = "Мастер"
end
if (description == nil) then
description = "Описание не заданно" -- Если Описание не заданно.
end
if (user.iProfile == -1) or (user.iProfile == 0) or (user.iProfile == 1) or (user.iProfile == 2) or (user.iProfile == 3) then
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Ваша информация\\»» IP: "..user.sIP.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Ваша информация\\»» Ник: "..user.sName.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Ваша информация\\»» Шара: "..share.." GB$<%[mynick]> !шара|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Ваша информация\\»» E-mail: "..email.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Ваша информация\\»» Профиль: "..profile.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Ваша информация\\»» Описание: "..user.sDescription.."$<%[mynick]>|")
share= user.iShareSize
Antinul()
users_1= frmHub:GetUsersCount()
users= users_1+1
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Шара: "..hubshare.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Топик: "..hubtopic.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Описание: "..description.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Названия: "..hubname.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Хаб онлаин: "..hubonline.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Адресс хаба: "..hubaddress..":"..hubport.."/"..hubudpport.."$<%[mynick]>|")
user:SendData("$UserCommand 1 3 "..hubname.."\\»» Информация\\»» Статистика хаба\\»» Юзеров Onlain: "..users.."/"..hubusersmax.."$<%[mynick]>|")
end
end
OpConnected = NewUserConnected
function Antinul()
if frmHub:GetCurrentShareAmount() == 0 then
parcial = 100
else parcial = share/(frmHub:GetCurrentShareAmount()+share)*100
end
end
Вот это моё меню под API переделай се под 2-й
Автор: Gangster-Toni 13.1.2009, 23:16
оооо ваще прикольный скрипт! г г г мне понравился автор лови репу+++