Раздел Ресурсы (глобальные переменные)

Наглядный пример использования разделов

Вы можете создавать «ресурсы», которые будут общими для всех подписчиков и использовать их элементы в командах. При необходимости сменить содержимое ресурса сразу для всех команд, вы можете быстро это сделать в специальном разделе.

Практические варианты использования:

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

Вариант использования в будущем:

  • Сделать общее количество каких-либо валют или ресурсов для всех игроков с возможностью «исчерпать ресурс». Например скупить все «дома», или выкачать всю «нефть».

Параметры ресурса

По любому из этих ↓ параметров можно искать ресурс. А также по сист. №

  • Название. Суть очевидна. Максимальная длинна: 230 символов. Например: ключевое слово и номер экзаменационного билета. Идеальный вариант: 3-цифровые числа (потому что во время поиска не будет конфликтов. Хотя и так не должно).
  • Содержимое. Число или текст. Максимальная длинна: ~ 65 000 символов. Здесь основной текст сообщения, или основной список строк и т.п. В общем вся главная информация.
  • Примечание. Число или текст. Максимальная длинна: ~ 8000 символов. Здесь дополнительная информация. Например в случае с экзамен. билетом тут может находится «правильный ответ». Для учителя или проверки. Также здесь удобно хранить небольшие JSON объекты (благодаря наличию форматирования).

Скрытые параметры.

  • «Порядковый номер». Это важный параметр. при конфликте ресурсов (когда будет найдено 2 или больше) будет выбран тот который с меньшим порядковым номером. Редактируется не в карточке, а в форме редактирования.
  • Сообщество. Чтобы хранить ресурс в другом сообществе, просто выберите нужное на форме редактирования. Примечание: ресурсы любого сообщества доступны в том числе и в действиях любого другого сообщества.

Поиск и получение данных ресурса

Для этой цели существует переменная {get}000{/get}, гже 000— системный № ресурса. Однако есть и другие варианты поиска. Подробную документацию по переменной можно посмотреть в этом разделе.

Пример «Выдача экзаменационных билетов»

Практический пример использования я показал на видео. ↑ Очень краткая суть:

  • Формируем порядковый номер выданного билета уровнями отдельного списка. В настройках действия можно указать «увеличить на: 1».
  • Дальше создаем «временную переменную» с названием, например, %card_num% (номер билета) и значением:
    {rand_range}1-30|%note%{/rand_range}, при условии если уровень списка «Экзамен» «не больше» [количества вопросов]. Например: 30. В «значении по умолчанию» оставляем: 0. Переменная %note% нужна здесь, чтобы исключить вероятность возможности вытащить второй раз тот же билет. В этом примере будем сохранять номера билетов именно в «примечания подписчика».
Пример получения случайного номера билета из «невытянутых»
Пример получения случайного номера билета из «невытянутых»
В следующих действиях переменная %card_num% будет содержать в себе полезную информацию. А именно если ее значение 0, то это значит, что или все билеты разобраны или больше не нужно вытаскивать.
  • Следующим блоком создаем переменную (например, %new_note%), в которую будем: либо оставлять примечание в нетронутом виде: %note% (если «переменная» %card_num% = 0), либо дописывать текущий номер билета: %note%,%card_num% к примечанию подписчика.
  • После чего запишем временную переменную в примечание. Обязательно нужно выбрать опцию «Изменено» (не «Дописано»).
Пример настройки сохранения номера вопроса
Пример настройки сохранения номера вопроса
  • Аналогично и для сообщения подписчику. Во первых, временная переменная (например, %card%): должна принимать какое-то общее значение, если «переменная» %card_num% = 0. Или если не равна, то что-то типа: {get}Билет %card_num%|name|body{/get} (что значит: получить содержимое ресурса (вопрос билета) в списке ресурсов по названию и доп. слову в названии: «Билет»). Если нужно получить также «примечание ресурса» ( в котором будет, например, «правильный ответ»), то запись будет такой: {get}Билет %card_num%|name|note{/get}.
  • Во вторых, сообщение в котором можно написать любую дополнительную общую информацию и, конечно, содержимое ресурса: %card%.
Пример отправки сообщения с текстом вопроса
Пример отправки сообщения с текстом вопроса
  • Если нужно запоминать текущий номер ответа, можно использовать действие Сменить уровень списка. Например, с названием «Текущий билет». И в номер уровня записывать переменную: %card_num%. Тогда можно будет ответ получать отдельным сообщением в другой команде. Например так: {get}Билет {list_level}000{/list_level}|name|note{/get}, где 000 — номер списка «Текущий билет». Если подписчик не получал ни одного вопроса, уровень будет 0.

Лайфхак

Чтобы не создавать дополнительную переменную (действие № 506 в примере) можно просто создать ресурс с названием «Билет 0». И уже в нем прописать фразу «Экзамен пройден» :)

ПРИМЕРЫ ЗАПРОСОВ:

После // пример результата выполнения

Текстовый ресурс по номеру:

{get}1{/get}  //  Глобальные "ресурсы" общие для всех 'подписчиков'. 

№ (id) числового ресурса и его название по содержимому (в виде числа):

{get}1003|id|body{/get}: {get}1003|name|body{/get}  //  4: Числовой ресурс

Содержимое (число) по слову из примечания и в другом сообществе:

{get}ответ|note|body|41102729{/get}  // 100

Содержимое ресурса по названию Автопилот в другом сообществе:

{get}Автопилот|name|body|183601501{/get}

Содержимое ресурса по названию Автопилот:

{get}Автопилот|name|body{/get}

Случайный билет (содержимое ресурса) по названию, исключая выданные (которые сохраняем в примечаниях подписчика):

{get}Билет {rand_range}1-20|%note%{/rand_range}|name|body{/get} // Баклажан это гриб? Почему?

Примечание по элементу массива, введенному подписчиком (тут список по значению на строку):

{get}%content%|body|note|0|col{/get}

Получение содержимого ресурса с названием Автопилот 2077 в текущем сообществе.
Важно! Если у вас есть три ресурса — Автопилот 2077_1, Автопилот 2077_2, Автопилот 2077, то выдаст содержимое ресурса Автопилот 2077, так как название на 100% совпадает с поисковым запросом.

{get}Автопилот 2077|body|name|%event_club_id%|equal{/get}

Задать вопрос / замечание / пожелание или просто лайкнуть инструкцию и новую функцию можно в этом посте.

Вернуться на главную страницу инструкций
5237 views·81 shares