Идея Перетаскивание вещей в бд и обратно

{...} И если два сервера привязаны к одной базе, то хрен занет что может произойти.
Да ничего страшного и не произойдет, БД защищены от таких ситуаций.
Просто кому-то из них придется подождать несколько лишних миллисекунд.

Подробнее:
* При чтении таблицы, клиент ставит READ LOCK до окончания работы с таблицей. Другие клиенты в это время тоже могут читать данные, но не изменять.
* При внесении изменений, клиент ставит WRITE LOCK. Тут уже никто не может читать или писать.
* блокировка обычно устанавливается на всю таблицу. Если изменяемое значение точно определяется первичным индексом - то LOCK может ставиться только на одну строку таблицы.
 
Итак готова альфа-версия
https://github.com/Shevchik/ItemMoveSQL
Немного инструкций.
В конфиге вы найдёте настройки относящиеся к подключению к mysql.
Если пользователь подключающийся к mysql не может создавать БД, то переключите checkbd : false;
также в конфиге есть переменная ограничивающя максимальное количество вещей хранимая игроком в БД.
Убедитесь что все настройки правильные и плагин не сыпет стактрейсам при старте.
команды:
/imsql add - добавляет предмет руке в базу данных (id и subid, остальная информация не сохраняется)
/imsql view - показывает принадлежашие вам предметы в базе
/imsql get {Номер вещи в БД} - забирает из БД вещь под данным номером, если она вам принадлежит.

Проблемы которые есть, но я пока не стал их решать: Если вещей уже максимум в бд для этого игрока, но игрок всё равно решит положить вещь, то она отнимется, а потом вернётся, но если инвентарь был в этот момент был полон то вещь пропадает.

При получении вещи, если инвентарь полон, то вещь теряется, поэтому держите свободное место в инвентаре.

Если эта версия будет более-менее работать,то будем пилить дальше.
 
Итак готова альфа-версия
https://github.com/Shevchik/ItemMoveSQL
Немного инструкций.
В конфиге вы найдёте настройки относящиеся к подключению к mysql.
Если пользователь подключающийся к mysql не может создавать БД, то переключите checkbd : false;
также в конфиге есть переменная ограничивающя максимальное количество вещей хранимая игроком в БД.
Убедитесь что все настройки правильные и плагин не сыпет стактрейсам при старте.
команды:
/imsql add - добавляет предмет руке в базу данных (id и subid, остальная информация не сохраняется)
/imsql view - показывает принадлежашие вам предметы в базе
/imsql get {Номер вещи в БД} - забирает из БД вещь под данным номером, если она вам принадлежит.

Проблемы которые есть, но я пока не стал их решать: Если вещей уже максимум в бд для этого игрока, но игрок всё равно решит положить вещь, то она отнимется, а потом вернётся, но если инвентарь был в этот момент был полон то вещь пропадает.

При получении вещи, если инвентарь полон, то вещь теряется, поэтому держите свободное место в инвентаре.

Если эта версия будет более-менее работать,то будем пилить дальше.
всё отлично работает!
 
Я тут ещё коечто придумал можно написать скрипт который будет показывать какие вещи лежат в хранилище (mysql базе)
 
Я тут ещё коечто придумал можно написать скрипт который будет показывать какие вещи лежат в хранилище (mysql базе)
Неплохо бы, но в этом я не спец, хотя если кто нактает примерный дизайн, то можно поробовать.
 
Скоро будет) гулял просто, а можешь структуру базы кинуть?
Уже не надо вытащил из плагина
Кое что накидал, но для DLE пока что, для другой CMS не проблема переделать, но еще есть одно но, если требуется чтобы были название и картинки, каждый итем со ссылкой на картинку и реальным идом, и названием надо будет в ручную добавлять в базу.
vyvod.png
Вопрос, делать вывод с картинкой, с именем, или просто Ид предмета, количество и команду для получения?
 
Скоро будет) гулял просто, а можешь структуру базы кинуть?
Уже не надо вытащил из плагина
Кое что накидал, но для DLE пока что, для другой CMS не проблема переделать, но еще есть одно но, если требуется чтобы были название и картинки, каждый итем со ссылкой на картинку и реальным идом, и названием надо будет в ручную добавлять в базу.
Посмотреть вложение 8897
Вопрос, делать вывод с картинкой, с именем, или просто Ид предмета, количество и команду для получения?
Сделай для bukkit id готовую базу, а остальное - id:id и команду получения.
И сделай скрипт так чтобы айфрейм вставил и всё
 
Для DLE скрипт готов на 100%. Добавление происходит через скрипт
удобно тем, что можно выгрузить в любой Div блок.
Код:
<script type="text/javascript">
$('#news-content').load('/table/index.php');
</script>
Базу стандартных блоков не стал делать. Выложу меню для добавления. Кому очень нужно пусть добавляет :) Через часик доведу до ума, и выложу.
Добавлять придется все блоки в ручную.
id название картинка
 
Вот скрипт вывода блоков для этого плагина под DLE
Установка:
1. Залить папку в корень сайта
2. Открыть файл conn.php и настроить.
3. Создать статическую страницу
и добавить в неё код
Код:
{include file="view/index.php"}
для добавления картинок и название перейдите по ссылке http://you-site.ru/view/edit.php. Если картинок не будет, отображает Место картинки No Img, место имени блока id:subid и команду для получения
 

Вложения

  • view.zip
    view.zip
    2,5 КБ · Просмотры: 22
Назад
Верх