Tiendil
[НБ] Магистр
могущество: 14659
разработчик
дварф Халлр
105 уровня
Прошу прощения за задержку с ответом.

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

Надеюсь, что больших проблем это не доставит. Если всё-таки очень критично, напишите, попробую найти время.
Yashko
[​ϟ] Рекрут
могущество: 2446

мужчина Сандрэн
63 уровня
Есть ли возможность узнать гильдию игрока через API?
Tiendil
[НБ] Магистр
могущество: 14659
разработчик
дварф Халлр
105 уровня
Yashko
Поищу по слову clans на странице API. Косвенно можно, добавлю в планы расширение ответа с информацией об игроке.
Тигорриус
[ОПГ Х] Рекрут
могущество: 4807
длань судьбы
эльф Тулах
112 уровня
В апи есть возможность оправить строителя чинить здание:
адрес: /game/abilities/<идентификатор способности>/api/use
http-метод: POST
версии: 1.0
параметры:
GET: building — идентификатор здания, если способность касается здания
GET: battle — идентификатор pvp сражения, если способность касается операций с pvp сражением
возможные ошибки: нет

building_repair Вызвать рабочего ('building',)


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

Правильно ли я понимаю, что единственным способом проверить, отправился ли рабочий, является отслеживание изменения уровня энергии хранителя? И вообще, чтобы узнать, требует ли здание починки (через апи) - надо отправить рабочего и посмотреть, потратилась ли энергия?
Machairod
[КЛАЦ] Магистр
могущество: 116

мужчина Кай
44 уровня
Что-то я не совсем понимаю как работает выбор в задании.
Что из себя представляет идентификатор выбора? Я почему-то получаю нечто не очень похожее на идентификатор, а в ответ на выбор в квесте вижу: "в данный момент вы не можете влиять на эту точку выбора".
Тигорриус
[ОПГ Х] Рекрут
могущество: 4807
длань судьбы
эльф Тулах
112 уровня
Machairod
Если в задании можно сделать выбор, то "choice_alternatives" возвращается не пустым. Он состоит из кортежей (идентификатор, описание) для каждого возможного выбора. Кортеж может выглядеть приблизительно вот так:
(
"#option([ns-0]caravan_choice, [ns-0]move_to_attack, jump_attack)",
"присвоить товары"
)

Ответ целиком какой тебе возваращается? Поле 'status': 'error'? А ещё что возвращается?
Tiendil
[НБ] Магистр
могущество: 14659
разработчик
дварф Халлр
105 уровня
Про починку зданий.

Ошибки должны возвращаться. Скорее всего там возвращается статус processing и надо сделать повторный запрос, чтобы получить результат операции.

Целостность здания добавлю в апи.
Machairod
[КЛАЦ] Магистр
могущество: 116

мужчина Кай
44 уровня
Тигорриус
Ответ на запрос выбора как обычно приходит ссылкой на проверку неблокирующей операции.

А вот запрос по этой ссылке возвращается с error и описание: "в данный момент вы не можете влиять на эту точку выбора"
Тигорриус
[ОПГ Х] Рекрут
могущество: 4807
длань судьбы
эльф Тулах
112 уровня
Machairod
а в квесте-то выбор точно есть? Ты точно не пытаешься сделать выбор в квесте, в котором нет выбора на этом этапе? Если нет - то я даже не знаю, как помочь. Пойду, пособираю статистику по моим квестовым выборам и возвращаемым ответам.
Machairod
[КЛАЦ] Магистр
могущество: 116

мужчина Кай
44 уровня
Тигорриус
Точно есть. В браузере то всё нормально работает.
Идентификатор случаем не надо ни во что разбирать? Он так строкой и должен отсылаться?
Тигорриус
[ОПГ Х] Рекрут
могущество: 4807
длань судьбы
эльф Тулах
112 уровня
Machairod
Ну его через эскейп надо пропускать, но вообще он отправляется как есть. И потом - если формат идентификатора кривой, то еррор, насколько я помню, возвращается сразу. То есть status: processing со ссылкой на проверку означает, что айдишник принят как сформированный корректно. Это если я правильно помню.
А у тебя случайно не крутятся два скрипта, которые отправляют запросы? Просто я как-то запустил скрипт, немножко поотлаживал и потом запустил ещё раз, и не мог понять, почему у меня все запросы по два раза отправляются. Потом случайно в процессах увидел, что они вдвоём запросы шлют. Соответственно, для квестов вторая попытка сделать выбор в задании будет приниматься, но вернётся, наверное, с твоей ошибкой.
Или, может, у тебя в одном скрипте запрос несколько раз отправляется?
Machairod
[КЛАЦ] Магистр
могущество: 116

мужчина Кай
44 уровня
Тигорриус
Я проверю конечно, но в этом случае на сервере всё равно должен проходить выбор варианта в квесте, если я правильно понимаю.
Однако, выбор не проходит.
Тигорриус
[ОПГ Х] Рекрут
могущество: 4807
длань судьбы
эльф Тулах
112 уровня
Machairod
ну тут уж я не знаю. Добавь вывод сгенерированного УРЛ запроса и записывай его куда-нибудь в файл, и записывай полный ответ сервера. Потом проверяй. Или дай кому-нибудь, или сюда выложи ссылку на код. Варианта два - либо у тебя кривой код, либо после последнего обновления поломалось АПИ. Вплоть до конца апреля эта штука работала бесперебойно.
Тигорриус
[ОПГ Х] Рекрут
могущество: 4807
длань судьбы
эльф Тулах
112 уровня
Tiendil
Очень был бы благодарен, если бы ты нашёл время обновить раздел "API" в путеводителе или нашёл кого-то готового этим заняться. Хотя бы в плане версионности. Имеющееся описание устарело в очень многих точках. К примеру, такие вещи как "cards_help_barrier" и "cards_help_count" вообще отсутствуют в описании, а поле
"cards":{ // карты судьбы
"cards": [ // список карт
<card_info> // информация о карте

почему-то возвращается всегда пустым.
Tiendil
[НБ] Магистр
могущество: 14659
разработчик
дварф Халлр
105 уровня
Тигорриус
Очень был бы благодарен, если бы ты нашёл время обновить раздел "API" в путеводителе или нашёл кого-то готового этим заняться.
Находить людей у меня не получается. Сильно неблагодарная работа. Проще говорить мне о нестыковках. Я буду по мере сил разъяснять и править доки.

Актуальная версия метода получения информации о герое: 1.5, документация относится к ней. Если вызвать другие версии, то часть данных будет теряться/появляться, поскольку менялись правила игры.

Версия поправлю в следующем обновлении.