News system или новости сервера... -
-Stranger- - 07.01.2011
Всем доброго времени суток.
Возникла идея сделать новостную систему для сервера. Немного о идеи:
Все админы знают, что заставить пользователя зайти на сайт и почитать изменение сервера, новые команды и прочее, очень сложно. Как следствие - появляются глупые вопросы в игре, отвлекая админов от других дел. Решение этой проблемы, это вывод последних новостей при заходе в игру: т.е. когда человек залогинился, идёт проверка, читал-ли он эту новость, если нет, то у него появляется диалог с текстом, и 2 кнопками: "Закрыть и больше не показывать" и "Закрыть но показать при след.заходе". При нажатии первой кнопки в аккаунте отмечается что данная новость прочитана, при нажатии второй ничего не отмечается.
Всё хорошо, всё сделал(пока в голове), но возникла проблема: как определить что именно данная новость была прочитана, и в случае изменения файла, текст вновь начинает показывать у всех?
Единственное что придумал, это сделать в начале файла переменную data и присвоить ей значение актуальности даты, т.е. например: "data=07.01.2011" и далее сам текст. Таким образом, при нажатии первой кнопки, в профиль игрока запишется дата последней новости, и если дата из файла отличается от даты в профиле, новость отображается вновь.
Один минус: при изменении самого файла с текстом, придётся переписывать и дату=(
Какие будут идеи
Re: News system или новости сервера... -
Stepashka - 07.01.2011
Ты знаешь как реализованы система новых сообщения на данном форуме?
Re: News system или новости сервера... -
Johnny_Xayc - 07.01.2011
Так так так,я не множко не понял,новость будет выводиться прямо с форума или из папки с сервером в scriptfiles?...если второе то очень легко сделать)
Re: News system или новости сервера... -
-Stranger- - 07.01.2011
Stepashka, а Вы знаете?
ПРАВИЛА ФОРУМА "...не запрещают создавать любые новые темы".
Johnny_Xayc, Ну загрузка через HTTP это уже следующая версия, для начала просто файл(ы), из папки "scriptfiles".
Re: News system или новости сервера... -
Johnny_Xayc - 07.01.2011
аккаунты на MySQL? or File?
Re: News system или новости сервера... -
-Stranger- - 07.01.2011
От мускула отказался, всё на файлах...
Re: News system или новости сервера... -
Stepashka - 07.01.2011
Quote:
Originally Posted by -Stranger-
Stepashka, а Вы знаете? ПРАВИЛА ФОРУМА "...не запрещают создавать любые новые темы".
Johnny_Xayc, Ну загрузка через HTTP это уже следующая версия, для начала просто файл(ы), из папки "scriptfiles".
|
вообще-то это было сообщение по теме.
Я хотел узнать знаешь ди ты принцип как узнать прочиталь человек новость или нет!
Вижу что не знаешь. К томуже если система на файлах, то ты не реализуешь задуманное.
Re: News system или новости сервера... -
-Stranger- - 07.01.2011
Stepashka, почему не реализую, я в первом посте уже написал как думаю сделать, и суть вопроса в том, если-ли более рациональный способ...
ps> И да, Вы уже не раз пытаетесь "проверить меня на знания", а вот у меня к Вам такой-же вопрос, А Вы сами-то знаете как это работает? если знаете, распишите пожалуйста, нам очень интересно...
Re: News system или новости сервера... -
Stepashka - 07.01.2011
Каждый раз когда вы открываете форум происходит проверка типа, есть ли запись в таблице типа "ваш ИД - ИД сообщения", если нет собщение помечается как непрочитанное, если запись есть то сообщение прочитано.
Заходя в тему с непрочитанными сообщениями, создаются такие записи.
Каждый раз тыкая в кнопку пометить все сообщения как прочитанные создается запись в другой таблице типа: ваш ИД - ИД последнего сообщения. Все сообщения после этого ИД идут как новые, до него прочитанные.
Не имея идентификатора пользователя, а на файлах его нет, ты не реализуешь систему новых-старых новостей. Писать инфу о прочитанных непрочитанных новостях в файлах юзверей тоже не выйдет. Во-первых, даже я с ходу не могу представить что ты туда будешь писать. Во-вторых, самп не умеет перебирать файлы, поэтому писать в аккаунты тех кого нет на сервере у тебя не выйдет.
Re: News system или новости сервера... -
Johnny_Xayc - 07.01.2011
-Stranger-,если на файлах то лови идею.
Если у тебя гф то.
B enum playerinfo
news[82],
пишешь при сохранении аккаунта 1/0|Unix время.
и читаешь при загрузке данных игрока их файла этот параметр,если 1 до палки"|" то не показываем новость,при заходе,если 0 то показываем,и к тому же сверяем Unix время с временем последнего объявления,если не сходится,то показываем новость всем,эм трудно объяснить,но реализовать можно.
и ещё юзай split для деления параметра отвечающего за новости.
p.s. с каждой новой новостью,меняй время последней новости в Unix формате,а игрок если будет давить кнопку ок и больше не показывать,пиши ему в аккаунт дату последней новости.
p.s.s. Можно посчитать всё это как бред,но легко реализуется.