Версия для печати темы
MyDC.ru _ Kорзина _ Поправьте Пожалуйста
Автор: Артём 14.12.2008, 19:33
Пытаюсь добавить профили которые могут пользоватся меню,ошибок нету в скрипте только команды в чат пускает и не срабатывает скрипт...Подправьте плз
Автоответчик.lua ( 2.53 килобайт )
: 10
Автор: Артём 14.12.2008, 20:13
Разници совсем нету...[19:12:00] <Артём> !left бу как показовало команду так и показует
Автор: Wariner 14.12.2008, 20:36
Аааааааааааааааааааааааа я щас матерится начну!
Во-первых: показЫВАет
Во-вторых: нижний код рабочий я проверил!(может ты не то скопировал или скрипт не перезапустил!)
В-третьих: попробуй найти ошибку не включая скрипт а глазами(даю подсказку разница в положении одного слова END)
PS: для особо одарённых прикладываю скрипт
Автор: Sephiroth_Lukaw 14.12.2008, 20:44
Код
tProfile = {
[0]=0, -- Мастер
[1]=0, -- Оператор
[2]=1, -- VIP
[3]=1, -- Зарегистрированный пользователь
[4]=1, -- SuperVIP
[-1]=1, -- Незарегистрированный пользователь
}
end
Код
if tProfile[tUser.iProfile] == 1 then
Данная команда разрешена всем, кроме Операторов и Мастеров, возможно, из-за этого команду видно
т.е. наверное, надо так
Код
if tProfile[tUser.iProfile] ~= 1 then
Или 0 на 1 заменить, в tProfile.
Автор: Wariner 14.12.2008, 20:49
Да это тоже косяк но главное что он конец условия ннаписал в конец скрипта а не в конец функции
Автор: Артём 14.12.2008, 21:56
Цитата(Wariner @ 14.12.2008, 21:49)
Да это тоже косяк но главное что он конец условия ннаписал в конец скрипта а не в конец функции
Прошу ПРОщениЕ мой косяк!Работает просто я запутался с
CODE
[0]=0, -- Мастер
[1]=0, -- Оператор
[2]=1, -- VIP
[3]=1, -- Зарегистрированный пользователь
[4]=1, -- SuperVIP
[-1]=1, -- Незарегистрированный пользователь
с 0 и 1... Ещё раз прошу изенение
Спасибо вам за помощь
проклятие какоето...:'-( уже даже и не знаю что делать...меню всёравно показует для всех профилей...
Wariner в том который ты прикрепил тот же гиморой ( скрипт на API 1 или роли не играет какое API и меню профилей? )
уже и нервов не хватает на этот скрипт.
Автор: Wariner 14.12.2008, 21:58
я те говорю что доступ к меню надо править в функции Core.UserConnected а то что ты правишь это доступ к командам. Понятно?!
Автор: Sephiroth_Lukaw 14.12.2008, 21:59
Цитата("Wariner")
в функции чатаривал ты даёшь права не на меню а на команды!
Артём, делай с UserConnected тоже самое, что делал с ChatArrival. Как раз увидем, правильно ли end поставишь.
Автор: Setuper 14.12.2008, 22:04
там в прикреплённом скрипте надо вместо | писать &#*124;
* - удалить
Автор: Wariner 14.12.2008, 22:29
Ты читал маленький мануал инсайда(я тебе ссылку давал!) там же всё понятно написанно....
В голову приходят бредовые мысли начать писать ещё один такой мануал, но времени не хватает к сожалению.
PS: Артём что тебе не понятно?
Автор: Артём 14.12.2008, 22:34
Цитата(Wariner @ 14.12.2008, 23:29)
PS: Артём что тебе не понятно?
почти всё,то что ты давал всёравно даёт право юзерам возможность ставить автоответчик на чат,хотя я запрет ставлю
Автор: Wariner 14.12.2008, 22:41
Код
tProfile = {
[0]=1, -- Мастер
[1]=1, -- Оператор
[2]=0, -- VIP
[3]=0, -- Зарегистрированный пользователь
[4]=0, -- SuperVIP
[-1]=0, -- Незарегистрированный пользователь
}
....
function Core.UserConnected(tUser)
if tProfile[tUser.iProfile] == 1 then
...
end
end
Core.OpConnected = Core.UserConnected
Core.RegConnected = Core.UserConnected
....
function Core.ChatArrival(tUser, sData)
if tProfile[tUser.iProfile] == 1 then
...
end
end
* - удалить +Таблицу с профилями вынеси в самый верх!
Автор: Артём 14.12.2008, 23:14
удалите тему прошу вас!Нервов не хватает у меня уже
Автор: Setuper 14.12.2008, 23:18
Просто закрой браузер и не флуди!
Автор: Wariner 26.12.2008, 19:57
Выражайся яснее что и где надо убрать! С меню разбирайся сам ибо в этой теме дали подробное описание!
Автор: Артём 26.12.2008, 20:06
Цитата(Wariner @ 26.12.2008, 20:57)
Выражайся яснее что и где надо убрать! С меню разбирайся сам ибо в этой теме дали подробное описание!
Я выше выложил картинку,под информацией об уходе идёт обращение одного юзера к другому и его видят все,а хотелосьбы чтобы его в режиме автоУшёл видел только получатель (надеюсь так ясно :P )
P.S. Меню почему то не работает как только не пробовал,и то что ты давал тоже не работает
Автор: Wariner 26.12.2008, 20:32
Да так понятнее, но не вижу в этом смысла! Прикинь если юзер посылая сообщение конкретному пользователю хочет чтоб его видели другие. что ты предлагаешь ему делать?
Код
sBot = SetMan.GetString(21)
sLeft = Core.GetPtokaXPath().."scripts/Left/LeftUser.tbl"
tLeft = {}
tProfiles = {
[0] = 1,
[1] = 1,
[2] = 0,
[3] = 0,
[-1] = 0,
}
.....
function UserConnected(tUser)
if tProfiles[tUser.iProfile] == 1 then
Core.SendToUser(tUser, "$UserCommand 1 3 Автоответчик на чат\\Ушёл$<%[mynick]> !left %[line:Введите сообщение об уходе]&#*124;")
Core.SendToUser(tUser, "$UserCommand 1 3 Автоответчик на чат\\Пришёл$<%[mynick]> !leftdel &#*124;")
end
end
* - удалить
Автор: Артём 26.12.2008, 21:06
Спасибо! на API 2 работает,а вот на API 1 не хочет,копирую тот код который ты дал и всёравно не хочет.
Автор: Wariner 26.12.2008, 21:11
надеюсь ты UserConnected(tUser) на NewUserConnected(tUser) в первом апи поменял?!
Автор: Setuper 26.12.2008, 21:17
И ещё надо заменить:
SetMan.GetString(21) -> frmHub:GetHubBotName()
Core.GetPtokaXPath() -> frmHub:GetPtokaXLocation()
UserConnected(tUser) -> NewUserConnected(tUser)
Core.SendToUser(tUser -> tUser:SendData(
Автор: Артём 26.12.2008, 21:57
Все сменил как вы и написали.... но всёравно не работает
вот он...
АвтоУшёл_в_мейн.lua ( 3.24 килобайт )
: 11
Автор: Setuper 26.12.2008, 22:00
если используешь old_api, то надо вот так писать:
Код
function Core.UserConnected(tUser)
if tProfiles[tUser.iProfile] == 1 then
Core.SendToUser(tUser, "$UserCommand 1 3 Автоответчик на чат\\Ушёл$<%[mynick]> !left %[line:Введите сообщение об уходе]&#*124;")
Core.SendToUser(tUser, "$UserCommand 1 3 Автоответчик на чат\\Пришёл$<%[mynick]> !leftdel &#*124;")
end
end
Автор: Артём 26.12.2008, 22:28
Цитата(Setuper @ 26.12.2008, 23:00)
если используешь old_api, то надо вот так писать:
меню появилось,профили делит,но при установки "ушёл" в чат проходит команда и скрипт отключаетса (галочка снимается)
Автор: Setuper 26.12.2008, 22:39
Причин может быть несколько.
Либо не создана папка Left
Либо не было введено сообщение.
Ошибки какие-нибудь выдаются?
в данном скрипте не вижу смысла сохранять данные в файл, если они всё равно из файла не читаются)))
Автор: Артём 26.12.2008, 22:45
Цитата(Setuper @ 26.12.2008, 23:37)
Причин может быть несколько.
Либо не создана папка Left
Либо не было введено сообщение.
Ошибки какие-нибудь выдаются?
Папка создана,сообщение пешу,ошибка 25: attempt to index global 'tProfile' (a nil value),на сколько понял что-то нада сделать с tProfile,а вот что ненаю
Автор: Setuper 26.12.2008, 22:47
надо заменить tProfile на tProfiles
Автор: Артём 27.12.2008, 10:53
Цитата(Setuper @ 26.12.2008, 23:47)
надо заменить tProfile на tProfiles
заменил,ошибка осталась
слава скриптам!
сделал его :P спасибо за помощь и терпение
у меня сново вопросик,как сделать чтобы место
• Юзер Артём в данный момент отсутствует на хабе!
писало
• (профиль юзера) Артём в данный момент отсутствует на хабе!
что бы юзера профиль писало (VIP,SuperVIP,Op,Master)