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

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

MyDC.ru _ Помощь по скриптам для PtokaX _ Сохранение и загрузка таблиц в файл (из файла)

Автор: daslex 17.11.2013, 20:16

lua 5.2

В общем возник такой вопрос.
Как лучше сохранять и загружать данные.

Для примера я возьму простую идею.
Пользователи хаба вводят команды в чат (!mycomand1,!mycomand2,!mycomand3). Эти команды перехватываются в соответствующем обработчике (ChatArrival) и если при перехвате сообщения определено, что сообщение есть одна из этих команд, то надо это сохранить в какую-то базу/файл. С самим сообщением я вполне способен разобраться и сам, но с сохранением и загрузкой информации проблемы

Сохранять надо таким, например образом, чтобы при каждом новом вводе команды значение внутри базы/файла для этой команды обновлялось.

т.е. это все выглядит приблизительно так:
Сначала ничто никуда не забито.
Пользователи хаба начинают вводить команды в чат (пусть будет 2 пользователя user1 и user2)
----------------------------------------------------------
user1 -- > !mycomand1 -- Внутри базы/файла нужно сохранить User1 comand1 1
user2 --> !mycomand1 -- Внутри базы/файла нужно сохранить User2 comand1 1
user1 --> !mycomand1 -- Внутри базы/файла нужно изменить User1 comand1 1 на User1 comand1 2
user1 --> !mycomand2 -- Внутри базы/файла нужно дописать User1 comand2 1
user1 --> !mycomand1 -- Внутри базы/файла нужно изменить User1 comand1 2 на User1 comand1 3
-----------------------------------------------------------

Надеюсь логика понятна.

При срабатывании команды после обрыва с чатом, для пользователя должна загрузиться сохраненная информация и от нее уже надо пляссать.
т.е.
----------------------------
user1.disconnected
user1.connected
user1 --> !mycomand1 -- нужно изменить User1 comand1 3 на User1 comand1 4
---------------------------
Я понятия не имею как это лучше организовывать. Сначала думал, что для каждого пользователя буду создавать отдельный файл (где имя файла = имя пользователя). В каждый файл буду записывать таблицу, но не тут - то было. Любые источники в интернете, которые на русском языке всё время чего-то не договаривают. Английского я не понимаю.

Если смотреть по скриптам, то там тоже не очень понятно. Скрипты часто включают в себя лишнее, что только мешает разбору. Да и это различие версий(там старое не работает, тут новое работает по другому) тоже тормозят

Я очень надеюсь, что изложил идею вопроса достаточно полно и очень понятно.
Также я надеюсь, что это решается и решается без особого геммороя.


Автор: Ksan 17.11.2013, 21:05

1. Попробуйте заняться чем-нибудь попроще..
2. Либо начните с изучения чужих скриптов, их на этом форуме тьма-тьмущая.

Автор: daslex 17.11.2013, 21:45

Цитата(Ksan @ 17.11.2013, 22:05) *
1. Попробуйте заняться чем-нибудь попроще..
2. Либо начните с изучения чужих скриптов, их на этом форуме тьма-тьмущая.


От первого пункта я конкретно отказываюсь. Пусть и не мечта создать то, что я задумал, но этот совет звучит очень похоже на сочетание: "Откажись от своей мечты".
Я решил сделать что-то своё. Это своё по сути простое, понятное и приятное пользователям. Это не игру написать. Поэтому это многим по силам. Что я задумал говорить не буду.

В какую бы я область программирования не совал свой нос, меня на этом месте стопорит. Эта "штука" (тема вопроса) нужна и полезна в любом языке программирования (в области многопользовательского).
Я знаю где смогу применить это для DC хаба на Ptoke. Причем я полагаю, что те, кто в теме, применяют такие приемы не так уж и редко.
Есть вероятность того, что ответ на этот вопрос поможет мне и в других языка программирования.

С некоторыми приемами программирования я знаком. В lua пока нуб нубом, но я реально сложных задач перед собой не поставил.
Еще это не такой вопрос, который чуть ли не каждый день задают, поэтому может быть достаточно полезен и даже кому-то быть интересным.
=============================


Когда простые вопросы задают отвечать на них совсем неинтересно (это я по себе сужу)
Когда с некоторой сложностью часто получаешь ответ: "Займись чем попроще", "Не твое", "Читай мануалы" (почти никогда так не отвечал, но наблюдаю постоянно)
Какие ж вопросы тогда задавать?

Форумы для того и нужны чтобы решать вопросы. Есть очень сложные - но этот вопрос едва ли к такой категории относится.
Совет изучай скрипты. А откуда мне знать, что приемы, которые я буду цеплять из скриптов будут нормально работать. Что прием, который я выбрал хорошо подойдет и не будет в корень грузить проц. Я не могу предвидеть последствий того с чем я совсем не знаком.

Автор: Ksan 17.11.2013, 23:11

1. daslex, из последнего абзаца вашего ответа получается, что всё, что вам нужно, должны написать мы.
В противном случае вам остаётся только следовать моему совету. Какому - выбирать вам.
2. Научитесь задавать вопросы. А то вы целые трактаты пишете, а суть конкретного вопроса так и не раскрываете (а если суть в и присутствует, то его не видно в миллионе букв), кроме того, что вам хочется написать что-то такое эдакое, чего никто не видал и не слышал, а вот как это сделать, вы сами не знаете..

Автор: daslex 17.11.2013, 23:19

Цитата(Ksan @ 18.11.2013, 0:11) *
2. Научитесь задавать вопросы. А то вы целые трактаты пишете, а суть конкретного вопроса так и не раскрываете (а если суть в и присутствует, то его не видно в миллионе букв), кроме того, что вам хочется написать что-то такое эдакое, чего никто не видал и не слышал, а вот как это сделать, вы сами не знаете..


Весь вопрос в первом сообщении.
Всё то, что мне надо я смогу сделать сам. И делать никого просить не стану. Проблема лишь в решении вопроса в первом сообщении.

Автор: Ksan 17.11.2013, 23:31

daslex, ответ вы тоже получили, в моём первом сообщении, пункт 2.
"Без труда не вынешь и рыбку из пруда." © Народная пословица.
Сорри!

Автор: daslex 17.11.2013, 23:49

Цитата(Ksan @ 18.11.2013, 0:31) *
daslex, ответ вы тоже получили, в моём первом сообщении, пункт 2.
"Без труда не вынешь и рыбку из пруда." © Народная пословица.
Сорри!


Забейте, короче. На этом форуме я уже ничего более не спрошу. Сам разберусь как-нибудь. Но мире точно будет на одного криворукого больше.
Отвечать бессмысленно. Я уже не прочту.

Автор: MIKHAIL 22.11.2013, 12:28

daslex, я бы посоветовал вам не создавать отдельные темы, а использовать спец. созданную для таких вопросов тему >> http://mydc.ru/topic173.html Программирование на Lua, Вопросы Разработчикам Скриптов, вопросы по скриптам (мелкие вопросы)