lazerhead
Проверенные
- Сообщения
- 324
- Реакции
- 120
- Баллы
- 8,140
Необходимо отредактировать критерий трофея, но в базу данных он пишется в виде BLOB:
xf_trophy-user-criteria.bin
В нем конструкция вида:
Которая выдает ачивку за наличие на аккаунте одной из перечисленных игр. Т.е. действует по принципу "или" (or). Мне же нужно, чтобы ачивка выдавалась, только если на аккаунте содержатся все перечисленные игры. Т.е. по условию "и" (and)
Путем сравнения критериев других трофеев, я заметил, что куски кода i:x;s:y: имеют значение "или", в то время как куски кода i:x;a:y: имеют значение "и". Что мне нужно: я хочу в нужных местах в приведенной мною длинной конструкции поменять s на a (с этим проблем нет) И впихнуть измененный BLOB обратно в базу данных (а вот это не знаю как сделать).
Через создание трофеев в Xenforo критерий "и" для данного типа трофея создать не получается, не предусмотрено такой возможности. Иначе я бы, конечно, создал сразу там.
Есть идеи, как заменить BLOB в ячейке таблицы?
xf_trophy-user-criteria.bin
В нем конструкция вида:
Код:
{s:4:"rule";s:10:"steam_game";s:4:"data";a:1:{s:5:"games";a:11:{i:0;s:5:"500";i:1;s:5:"600";i:2;s:5:"700";i:3;s:5:"800";i:4;s:5:"900";i:5;s:6:"990";i:6;s:5:"999";i:7;s:5:"666";i:8;s:5:"1337";i:9;s:5:"12345";i:10;s:5:"0000";}}}}
Которая выдает ачивку за наличие на аккаунте одной из перечисленных игр. Т.е. действует по принципу "или" (or). Мне же нужно, чтобы ачивка выдавалась, только если на аккаунте содержатся все перечисленные игры. Т.е. по условию "и" (and)
Путем сравнения критериев других трофеев, я заметил, что куски кода i:x;s:y: имеют значение "или", в то время как куски кода i:x;a:y: имеют значение "и". Что мне нужно: я хочу в нужных местах в приведенной мною длинной конструкции поменять s на a (с этим проблем нет) И впихнуть измененный BLOB обратно в базу данных (а вот это не знаю как сделать).
Через создание трофеев в Xenforo критерий "и" для данного типа трофея создать не получается, не предусмотрено такой возможности. Иначе я бы, конечно, создал сразу там.
Есть идеи, как заменить BLOB в ячейке таблицы?
Последнее редактирование: