Автор: Егор Владимирович 10.8.2010, 19:17
Смысл скрипта заключается в том что в столбике "Описание" он выдает информацию. Например
Ник..............Описание
kee................Master
nnng..............Admin
601kg..............Reg
re....................Vip
gray7410........Unreg и т.д.
Помогите найти его. За ранее огромное спасибо. 
И еще один.
Например пишу я команду.....
+rules и мне выдаются правила
+faq и выдается ФАК
+server и выдаются адреса серверов и т.д.
+ чтобы я мог сам отредактировать то что будет выдаваться и мог бы дополнить сам.
Еще раз Огромное Человеческое Спасибо
Автор: Артём 10.8.2010, 19:36
Цитата(Егор Владимирович @ 10.8.2010, 19:17)

Например пишу я команду.....
+rules и мне выдаются правила
+faq и выдается ФАК
+server и выдаются адреса серверов и т.д.
+ чтобы я мог сам отредактировать то что будет выдаваться и мог бы дополнить сам.
создаёшь файл в блакноте rules.txt в папке texts , включаешь в Настройках
Автор: Артём 10.8.2010, 20:08
если не понял ищи в поиске, не один раз объяснялось.
http://mydc.ru/index.html?showtopic=1164&view=findpost&p=8573
Автор: Егор Владимирович 10.8.2010, 20:33
а можно сделать так чтобы было не имя бота например
<BOT>
Правила хаба
============
1. Запрещено
============
а при вводе команды !rules
<RULES>
Правила хаба
============
1. Запрещено
============
при вводе команды !faq
<FAQ>
Правила хаба
============
1. Запрещено
============ и т.д
Автор: Егор Владимирович 10.8.2010, 20:58
Это хорошо.
Saymon, можешь помочь, а?
Автор: Ksan 10.8.2010, 22:30
Вот накропал скрипт, заменяет описание юзера в списке на название его профиля, как просил автор темы.
Код
--- Скрипт замены описания юзера на данном хабе на профиль юзера (мастер, оператор, вип, рег и незарегистрированный юзер)
--- Название скрипта - ProfileToDescr.lua
--- Написан чисто переделкой скрипта NoDescAdv от Alex82
--- Автор переделки - Ksan (г.Томск)
--- Дата: 10-08-2010
----------------------
iSendTimer = 1000 -- Время отправки MyINFO, ms
tTimers = {}
tUsers = {}
function OnStartup()
for i,v in pairs(Core.GetOnlineUsers(true)) do
MyINFOArrival(v,v.sMyInfoString)
end
end
function GetNickListArrival(user,data)
tTimers[TmrMan.AddTimer(iSendTimer, "SendAllInfo")] = user.sNick
end
function MyINFOArrival(user,data)
tUsers[user.sNick] = true
tTimers[TmrMan.AddTimer(iSendTimer, "SendInfo")] = user.sNick
collectgarbage("collect")
end
function SendAllInfo(tmr)
local user = Core.GetUser(tTimers[tmr],true)
if user then
for i,v in pairs(Core.GetOnlineUsers(true)) do
if tUsers[v.sNick] then
local tUsr = Core.GetUser(tTimers[tmr],true)
if tUsr then
sProfile = (ProfMan.GetProfile(v.iProfile) and ProfMan.GetProfile(v.iProfile).sProfileName) or "Незарегистрированный юзер"
Core.SendToUser(user,"$MyINFO $ALL "..v.sNick.." "..sProfile..(v.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%b<>%$.+)$") or v.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%$.+)$")))
end
end
end
end
tTimers[tmr] = nil
TmrMan.RemoveTimer(tmr)
collectgarbage("collect")
end
function SendInfo(tmr)
local user = Core.GetUser(tTimers[tmr],true)
if user then
sProfile = (ProfMan.GetProfile(user.iProfile) and ProfMan.GetProfile(user.iProfile).sProfileName) or "Незарегистрированный юзер"
Core.SendToAll("$MyINFO $ALL "..user.sNick.." "..sProfile..(user.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%b<>%$.+)$") or user.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%$.+)$")))
end
tTimers[tmr] = nil
TmrMan.RemoveTimer(tmr)
end
PS: Я сначала подумал было, что Артём прислал аналогичный скрипт, потом скачал и понял, что не так. Но лучше бы при отправлении ссылки добавить, для чего скрипт (это Артёму)
PPS: Пока лучше не ставить, при перезаходе показывает перезашедшему для всех один профиль - его профиль... (перезаход - имею в виду кнопку Перезайти, а если просто закрыть клиент и снова открыть, то всё нормально). Это попытаюсь исправить.
PPPS: Всё, исправил, скрипт годен к употреблению и является лекарством.