|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 226 Регистрация: 24.6.2008 Пользователь №: 77 Спасибо сказали: 34 раза ![]() |
Гостивая книга под API 2
Возможно оставить новости и отзовы в гостивой книге
Прикрепленные файлы
|
|
|
![]()
Сообщение
#2
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 77 Регистрация: 31.7.2008 Из: Омск Пользователь №: 299 Спасибо сказали: 17 раз ![]() |
http://mydc.ru/topic312.html
кажется я книгу тут брал, так вот в ней полно ошибок... |
|
|
![]()
Сообщение
#3
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Вот моя версия этого скрипта(API2). Потестете, если что не так отписывайте поправлю)))
Прикрепленные файлы
|
|
|
![]()
Сообщение
#4
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 77 Регистрация: 31.7.2008 Из: Омск Пользователь №: 299 Спасибо сказали: 17 раз ![]() |
В общем посмотрел версию скрипта гостевой книги Wariner`а и решил доделать ту что у меня была
![]() Вот два скрипта под API2 (Тестировал на птохе 0.4.1.1 работали без ошибок, если что пишите): 1) Гостевая книга 2) Гостевая книга для музыкальных хабов
Прикрепленные файлы
![]() ![]() |
|
|
![]()
Сообщение
#5
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
Только думаю вот это:
CODE path = Core.GetPtokaXPath():gsub("/", "\\").."scripts\\dats\\" -- имя папки gbfile="scripts/dats/guestbook.dat" --имя файлв ... nfile="scripts/dats/news.dat" -- директория для файла ... rfile="scripts/dats/requests.dat" -- директория для файла должно быть вот так: CODE path = "scripts/dats" -- имя папки gbfile=path.."guestbook.dat" --имя файлв ... nfile=path.."news.dat" -- директория для файла ... rfile=path.."requests.dat" -- директория для файла А то получается что скрипт создаёт в папке scripts ещё одну папку scripts ![]() 2Cjay чем не понравился мой скрипт? Мож какие лаги? отпиши интересно))) |
|
|
![]()
Сообщение
#6
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователи Сообщений: 77 Регистрация: 31.7.2008 Из: Омск Пользователь №: 299 Спасибо сказали: 17 раз ![]() |
Цитата А то получается что скрипт создаёт в папке scripts ещё одну папку scripts Гхым О_о а у меня не создавало, причем более того, не прописываю путь gbfile="scripts/dats/guestbook.dat", оставляю как gbfile=path.."guestbook.dat" и у меня чЮдесным образом в папке scripts возникает файлик datsguestbook.dat ![]() 2Wariner: скажем так, нашел ошибки в своем скрипте и решил их всё-таки ипсравить =) Твой скрипт на работоспобность не проверял, плюс в нём нет разделения по разделам, кто может добавлять или удалять или не может Мне просто надо было чтобы, например, отзывы могли писать все, а удалять только админ и в то же время новости могли писать и удалять, к примеру все зарегенные. Твой скрипт перелопачивать не захотелось... |
|
|
![]()
Сообщение
#7
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 135 Регистрация: 18.7.2008 Из: г. Москва Пользователь №: 219 Спасибо сказали: 25 раз ![]() |
Wariner, спасибо, отличный скрипт. При включении и перезапуске не вызывает командную строку, как это делается во всех остальных выложенных тут версиях и как это было на API1. Так даже лучше. Вот только одна просьба: не мог бы ты его чуточку модернизировать, чтобы при добавлении записи в гостевую книгу (также отзывов и предложений) админам посылалось уведомление? Там всего одна строчка, но я не знаю, как ее переделать под API2. Вот как это выглядело на API1:
Код -- // --
SendPmToOps(Bot,"*** "..user.sName.." добавил запись в гостевую книгу: "..entry) -- // -- |
|
|
![]()
Сообщение
#8
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Код Core.SendPmToOps(Bot,"*** "..user.sName.." добавил запись в гостевую книгу: "..entry) А что касается путей, то их следует прописывать так: Код path = Core.GetPtokaXPath().."scripts/dats/" -- имя папки этот код будет работать на всех версиях с апи2, и даже не будет зависеть от оси (win или unix).
gbfile=path.."guestbook.dat" --имя файлв ... nfile=path.."news.dat" -- директория для файла ... rfile=path.."requests.dat" -- директория для файла |
|
|
![]()
Сообщение
#9
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 135 Регистрация: 18.7.2008 Из: г. Москва Пользователь №: 219 Спасибо сказали: 25 раз ![]() |
Setuper, пробовал добавить эту строчку - сообщения опам не посылаются и выводит такое сообщение:
Цитата [14:40] Синтаксис D:\PtokaX 0.4.1.1\scripts\GuestBook_by_Wariner.lua:53: attempt to index global 'user' (a nil value) Может что еще в скрипте изменить надо? Код if tProfiles[sUser.iProfile]==1 then -- 53 строка
|
|
|
![]()
Сообщение
#10
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
ищи разницу в моём скрипте sUser Поэтому всё как написал Setuper только sUser.sName
|
|
|
![]()
Сообщение
#11
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 135 Регистрация: 18.7.2008 Из: г. Москва Пользователь №: 219 Спасибо сказали: 25 раз ![]() |
ищи разницу в моём скрипте sUser Поэтому всё как написал Setuper только sUser.sName Пробовал и так. В таком случае пишет вот такую ошибку: Код [17:32] Синтаксис D:\PtokaX 0.4.1.1\scripts\GuestBook_by_Wariner.lua:53: attempt to concatenate global 'entry' (a nil value)
|
|
|
![]()
Сообщение
#12
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
ну так разберись, что это за переменная entry, где она вводится, её область действия, и туда ли ты вообще впихиваешь эту строчку
|
|
|
![]()
Сообщение
#13
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
А ещё на API 2 не sName, а sNick
|
|
|
![]()
Сообщение
#14
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 135 Регистрация: 18.7.2008 Из: г. Москва Пользователь №: 219 Спасибо сказали: 25 раз ![]() |
ну так разберись, что это за переменная entry, где она вводится, её область действия, и туда ли ты вообще впихиваешь эту строчку Запихиваю правильно. А вот переменная entry действительно в новом скрипте не обозначена, поэтому и такая ошибка. Боюсь сам я не смогу правильно перенести код из API1 в API2? да и какие именно кусочки не знаю. Может кто подскажет, а лучше зальет уже новый переделанный скрипт с этой функцией. Вот выкладываю места, где она встречается: Код function addshit(user,data,container,file,cmdlevel,env) if cmdlevel~=0 then if CheckUserLevel(user) >= cmdlevel then local container=loadshit(file) number=number+1 local _,_,entry=string.find(data,"%b<>%s+%S+%s+(.*)") if entry then container[number]=os.date("%c").."|"..user.sName.."|"..entry saveshit(container,file) user:SendData(parseenv(user,env,Bot).."Ваша запись была успешно добавлена.") -- // -- SendPmToOps(Bot,"*** "..user.sName.." добавил запись в гостевую книгу: "..entry) -- // -- else user:SendData(parseenv(user,env,Bot).."Вы забыли ввести текст!") end container={} else user:SendData(parseenv(user,env,Bot).."У вас нет соответствующих прав для использования данной команды! |") end else user:SendData(parseenv(user,env,Bot).."Данная команда не доступна.") end end и чуть ниже в другой функции: Код function showshit(user,container,wtf,file,cmdlevel,env) if cmdlevel~=0 then if CheckUserLevel(user) >= cmdlevel then local container=loadshit(file) local msg="\r\nПеред вами "..wtf..":\r\n\r\n" if number>0 then for i=1,number do s,e,who,when,entry=string.find(container[i], "(.+)|(.+)|(.+)") msg=msg..i..".\t"..who.." - "..when.." ---> "..entry.."\r\n" end else msg=msg.."Ничего нет!" end user:SendPM(Bot,msg) else user:SendData(parseenv(user,env,Bot).."У вас нет соответствующих прав для использования данной команды! |") end else user:SendData(parseenv(user,env,Bot).."Данная команда не доступна.") end end А ещё на API 2 не sName, а sNick ага, заменил. осталось, видимо ввести переменную entry в твой скрипт. но какие именно кусочки кода, приведенного выше, и куда вставить я сам не разберусь |
|
|
![]()
Сообщение
#15
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
user:SendData( заменить на Core.SendToUser(user,
|
|
|
![]()
Сообщение
#16
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
2NikseR: добавил что ты просил. Так же можно отключать режим сообщений для ОПов
Прикрепленные файлы
|
|
|
![]()
Сообщение
#17
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 135 Регистрация: 18.7.2008 Из: г. Москва Пользователь №: 219 Спасибо сказали: 25 раз ![]() |
|
|
|
![]()
Сообщение
#18
|
|
![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза ![]() |
Недочёт! При добавлении записи, пустое сообщение записывается, в результате ломается полностью скрипт! Команды просмотра книги не работают
|
|
|
![]()
Сообщение
#19
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
привыкай говорить полную инфу! например о каком скрипте щас идёт речь?
|
|
|
![]()
Сообщение
#20
|
|
![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза ![]() |
Скачивал это: http://mydc.ru/ipb.html?act=attach&type=post&id=486
Ошибка: Код :179:attempt to concatenate global 'entry' (a nil value)
|
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
![]() |
1 | mazzahaker | 6 143 | 12.10.2013, 13:54 Посл. сообщение: Артём |
![]() |
От: Гостевая Книга От темы с ID: 308 |
0 | _Deagle_Factory_ | 4 283 | 1.5.2010, 20:13 Посл. сообщение: _Deagle_Factory_ |
![]() |
![]() Юзеры могут пожаловаться на админов =) |
19 | fixx | 21 317 | 9.7.2009, 12:38 Посл. сообщение: fixx |
![]() |
![]() API 2 |
2 | vicious | 6 806 | 9.4.2009, 14:17 Посл. сообщение: vicious |
![]() |
От: Книга Жалоб И Предложений От темы с ID: 1599 |
12 | li4nost | 14 750 | 19.3.2009, 15:23 Посл. сообщение: vicious |
![]() |
Сейчас: 8.9.2024, 2:23 |