иногда получается так что плагин думает что предметы сохранены, но.. НЕТ, и это честно говоря странно, ведь MYSQL база говорит что все ок ошибок нет, транзакция со слотом успешно дошла до базы данных, но иногда что-то идет не так...
как на уровне процедур сохранения решить этот вопрос?
в голову приходит занудный метод: перед сохранением не удаляем содержимое слота, а переносим содержимое слота в слот -1, далее производим стандартную процедуру составления и отправки транзакции с постройкой в слот, дальше мы посылаем запрос в базу данных и сверяем кол-во предметов в слоте и кол-во отправленных в слот, если же кол-во сходится - все ок, если нет чистим слот и из слота -1 переносим предметы обратно в слот в который сохраняли, рапортим о произошедшем в лог ошибок базы данных.
L 04/03/2019 - 22:33:25: Error in callback QueryMoveObjectsFromSlotInSlot Evil °• Saper (ID: STEAM_1:0:1955356124): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM fs_obj_storage WHERE steam_id = '0:1955356124' AND map = 'c11m4_terminal' A' at line 1
нажимным кнопкам присвоен тип BUTTON_TYPE_SWITCH_FLOOR для ужесточения контроля над тем что она делает, каждый раз смотреть на модель не очень то оптимизировано и теряется логичность, а значит появляется вероятность дыр логики
заметки для меня:
добавляем во все свичи код действия BUTTON_TYPE_SWITCH_AUTOOFF там где обработка переключателей.
механизм запуска: приспособить таймер опрашивающий нажимные кнопки на проверку статусов кнопок с типом BUTTON_TYPE_SWITCH_AUTOOFF если такая кнопка имеет статус BUTTON_STATUS_ON, пытаемся ее выключить.