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

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

MyDC.ru _ Kорзина _ Поправьте Пожалуйста

Автор: Артём 14.12.2008, 19:33

Пытаюсь добавить профили которые могут пользоватся меню,ошибок нету в скрипте только команды в чат пускает и не срабатывает скрипт...Подправьте плз
 Автоответчик.lua ( 2.53 килобайт ) : 10

Автор: Артём 14.12.2008, 20:13

big_smile.gif Разници совсем нету...[19:12:00] <Артём> !left бу как показовало команду так и показует

Автор: Wariner 14.12.2008, 20:36

Аааааааааааааааааааааааа я щас матерится начну!

Во-первых: показЫВАет
Во-вторых: нижний код рабочий я проверил!(может ты не то скопировал или скрипт не перезапустил!)
В-третьих: попробуй найти ошибку не включая скрипт а глазами(даю подсказку разница в положении одного слова END)

PS: для особо одарённых прикладываю скрипт

 Автоответчик.lua ( 2.75 килобайт ) : 19
 

Автор: 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) *
Да это тоже косяк но главное что он конец условия ннаписал в конец скрипта а не в конец функции

shame.gif Прошу ПРОщениЕ мой косяк!Работает просто я запутался с
CODE
[0]=0, -- Мастер
[1]=0, -- Оператор
[2]=1, -- VIP
[3]=1, -- Зарегистрированный пользователь
[4]=1, -- SuperVIP
[-1]=1, -- Незарегистрированный пользователь

с 0 и 1... Ещё раз прошу изенение baffle.gif Спасибо вам за помощь

eyes_droped.gif проклятие какоето...:'-( уже даже и не знаю что делать...меню всёравно показует для всех профилей...Wariner в том который ты прикрепил тот же гиморой ( скрипт на API 1 или роли не играет какое API и меню профилей? )
anger.gif уже и нервов не хватает на этот скрипт.

Автор: Wariner 14.12.2008, 21:58

я те говорю что доступ к меню надо править в функции Core.UserConnected а то что ты правишь это доступ к командам. Понятно?!

Автор: Sephiroth_Lukaw 14.12.2008, 21:59

Цитата("Wariner")
в функции чатаривал ты даёшь права не на меню а на команды!


Артём, делай с UserConnected тоже самое, что делал с ChatArrival. Как раз увидем, правильно ли end поставишь. big_smile.gif

Автор: Setuper 14.12.2008, 22:04

там в прикреплённом скрипте надо вместо | писать &#*124;
* - удалить

Автор: Артём 14.12.2008, 22:27

anger.gif Администрацию прошу удалить эту тему! choler.gif нервы у меня на исходе...не чего не могу понять scorn.gif

Автор: Wariner 14.12.2008, 22:29

Ты читал маленький мануал инсайда(я тебе ссылку давал!) там же всё понятно написанно....
В голову приходят бредовые мысли начать писать ещё один такой мануал, но времени не хватает к сожалению.

PS: Артём что тебе не понятно?

Автор: Артём 14.12.2008, 22:34

Цитата(Wariner @ 14.12.2008, 23:29) *
PS: Артём что тебе не понятно?

почти всё,то что ты давал всёравно даёт право юзерам возможность ставить автоответчик на чат,хотя я запрет ставлю beat_brick.gif

Автор: 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

anger.gif удалите тему прошу вас!Нервов не хватает у меня уже choler.gif

Автор: Setuper 14.12.2008, 23:18

Просто закрой браузер и не флуди!

Автор: Артём 26.12.2008, 19:45

:P подскажите плиз как убрать в автоответчике вот это " <Hub-Security ™> Артём: " чтобы не показовало всем юзерам.
P.S. вот коечто добавил к скрипту  ___.bmp ( 164.66 килобайт ) : 7
...
вот сам скрипт  АвтоУшёл.rar ( 1.27 килобайт ) : 3
... dribble.gif прошу вас добавьте меню кому можно пользоватсо менюшкой автоУшёл,а кому нет (этот скрипт под API 2 )

Автор: Wariner 26.12.2008, 19:57

Выражайся яснее что и где надо убрать! С меню разбирайся сам ибо в этой теме дали подробное описание!

Автор: Артём 26.12.2008, 20:06

Цитата(Wariner @ 26.12.2008, 20:57) *
Выражайся яснее что и где надо убрать! С меню разбирайся сам ибо в этой теме дали подробное описание!


Я выше выложил картинку,под информацией об уходе идёт обращение одного юзера к другому и его видят все,а хотелосьбы чтобы его в режиме автоУшёл видел только получатель (надеюсь так ясно :P )
P.S. Меню почему то не работает как только не пробовал,и то что ты давал тоже не работает beat_brick.gif

Автор: 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

big_smile.gif Спасибо! на 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(

big_smile.gif

Автор: Артём 26.12.2008, 21:57

Все сменил как вы и написали.... beat_brick.gif но всёравно не работает
вот он...  АвтоУшёл_в_мейн.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

заменил,ошибка осталась

feel_good.gif слава скриптам! big_smile1.gif сделал его :P спасибо за помощь и терпение

still_dreaming.gif у меня сново вопросик,как сделать чтобы место
• Юзер Артём в данный момент отсутствует на хабе!
писало
• (профиль юзера) Артём в данный момент отсутствует на хабе!
что бы юзера профиль писало (VIP,SuperVIP,Op,Master)