Оффтоп Антон Самитов
7 607

Правители в Civilization VI оказались слишком религиозными из-за опечатки в коде

Разработчики уже признали ошибку.

В закладки

Поклонники Civilization обнаружили в коде игры ошибку, которая влияла на приоритеты лидеров под управлением ИИ.

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

Фрагмент кода выглядит следующим образом:

<Row Item="YEILD_PRODUCTION" ListType="DefaultYieldBias" Value="25"/>

<Row Item="YEILD_SCIENCE" ListType="DefaultYieldBias" Value="10"/>

<Row Item="YEILD_CULTURE" ListType="DefaultYieldBias" Value="10"/>

<Row Item="YEILD_GOLD" ListType="DefaultYieldBias" Value="20"/>

<Row Item="YEILD_FAITH" ListType="DefaultYieldBias" Value="-25"/>

Слово «yield» («доход», «урожай» на английском) здесь написано с ошибкой: «yeild». Если бы это написание встречалось везде, то всё работало бы, как задумано, однако опечатка есть только в этих пяти строках.

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

Журналисты PC Gamer подтвердили, что правки действительно влияют на игру — государства под управлением компьютера производят куда меньше веры, но строят больше зданий и делают упор на науку.

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

График производства веры за ход после ста ходов (ошибки не исправлены)
График производства веры за ход после ста ходов (ошибки исправлены)

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

В результате, по словам автора PC Gamer, даже королева Виктория организовала в своём государстве священное место, несмотря на то, что в других тестах этого не происходило.

В Firaxis прокомментировали ситуацию, признав ошибку и пообещав исправить её.

Мы в курсе обнаруженного игроками бага, который незначительно влияет на поведение ИИ.

Мы также удостоверились, что все наши сотрудники запомнили, что буква «I» ставится следом за «E» только в сочетаниях после «C». И ещё нескольких странных исключений.

Спасибо всем, кто сообщил нам об этом! Мы обязательно исправим баг в ближайшем обновлении.

из заявления Firaxis

#фан #civilization

Статьи по теме
Разработчики Civilization VI пообещали исправить «сексистское» поведение правителей
Civilization VI вышла на iPad
Первое крупное дополнение для Civilization VI выйдет 8 февраля
{ "author_name": "Антон Самитов", "author_type": "editor", "tags": ["\u0444\u0430\u043d","civilization"], "comments": 79, "likes": 41, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 17381, "is_wide": false }
{ "id": 17381, "author_id": 24538, "diff_limit": 1000, "urls": {"diff":"\/comments\/17381\/get","add":"\/comments\/17381\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/17381"}, "attach_limit": 2, "max_comment_text_length": 5000 }

79 комментариев 79 комм.

Популярные

По порядку

Написать комментарий...

Павел Мазаник

15

Ща бы xml-разметку кодом называть

Ответить

Стас Каргин

Павел
14

Да. Что за фигня? Давайте назовем текстурами или звуком.

Ответить

Павел Мазаник

Стас
6

У меня есть идея получше, как на счёт "xml-разметка"?

Ответить

Nikita Savyolov

Павел
30

Конфиг же

Ответить

Роман Кучма

Nikita
0

Сразу видно знающего человека :)

Ответить

Стас Каргин

Павел
3

Какой процент игроков кусок ресурсов будет называть xml-разметкой?)

Ответить

Павел Мазаник

Стас
12

Ну ок. Ошибка в "файлах игры" звучало бы намного ближе к правде, чем в "коде игры"

Ответить

FoxGrandfather

Павел
–11

Солнце вращается вокруг Земли или Земля вокруг солнца, для наблюдателя эти факты выглядят по разному?

Вот чувства программистов заделись, (которые зачастую не могут справиться со своими обязанностями должным образом).

Вот как эту фразу понимать?
«…предположительно, отвечающих приоритеты правителей по умолчанию…»

Ох уж эти граммар-nazi! Всем наплевать что вы там чем называете, обычные люди называют это просто кодом, обычные люди всю вашу стрепню называют кодом, потому что так проще.
Всё же это не стаковерхлоу чтобы такие претензии предъявлять.

Ответить

Сарджъ Мадовски

Стас
0

Хотя бы «скриптом» уж.

Ответить

Павел Мазаник

Сарджъ
5

Это не скрипт. Скрипт это какая-то выполняемая логика, а xml - это просто формат хранения данных.

Ответить

Стас Каргин

Павел
0

Которые потом используются где?)

Ответить

Павел Мазаник

Стас
1

В коде игры. Но ошибка-то всё равно не в коде игры, а в конфигах, прописанных в xml-файле)

Ответить

Стас Каргин

Павел
0

Ну вот поэтому нам, обычным геймерам, сойдет и такое. Сложности оставьте профессионалам :)

Ответить

Павел Мазаник

Стас
17

Я не могу молчать, это задевает мои девелоперские чувства!

Ответить

Чукин Михаил

Стас
2

Ну и системный блок - это процессор, известно же. Сами смеются над стариками кто так говорит и сами же подобные глупости повторяют. Так мало того, их поправляют, а они опять "ну зачем нам эти ваши премудрости знать".

Ответить

Стас Каргин

Чукин
0

Некорректное сравнение. Можно сказать, что отвалился конденсатор на видеокарте, а можно сказать, что видеокарта сломалась. И быть в обоих случаях правым.

Ответить

Чукин Михаил

Стас
0

В случае с видеокартой да. Здесь нет. Конфигурационные файлы - не код игры. Можно было сказать "ошибка в файлах игры". А пока что, относительно вашего примера, отвалился конденсатор на видеокарте, а в статье написали, что сгорела микросхема.

Ответить

Donovan

Павел
0

А если бы это была константа в коде, вы бы согласились, что это код игры?

Ответить

Павел Мазаник

Donovan
1

Я бы сказал, что это говнокод, параметры константить :D Но вообще да.

Ответить

Илья Лазарев

Стас
5

А текст в ворде вы тоже кодом называете? Код так или иначе компилируется и выполняется процессором, а это просто файл с настройками.

Ответить

Donovan

Илья
2

Ну можно же все, что угодно на изнанку такими фразамы вывернуть.
Из твоего комментария например следует, что интерпретируемые языки это не код :), а люди пишушие для FPGA уже и не код пишут :)

Ответить

Илья Лазарев

Donovan
0

Ну нет. У интепретируемых языков тоже есть компиляция, просто она JIT. Про FPGA ничего не знаю, но если там свой язык ассемблера, то и он компилируется, как ни странно, ассемблером, то есть программой-транслятором.

Ответить

Donovan

Илья
2

Ну про FPGA акцент скорее был на слове *процессор* :)
JIT - не обязательное условие интерпретатора :)

Ответить

Илья Лазарев

Donovan
0

А каким образом тогда происходит перевод в машинные коды?

Ответить

Чукин Михаил

Илья
1

Никак не происходит. Откомпилированная программа (интерпретатор) выполняет команды, которые вы ей написали. Это не JIT-компиляция. JIT-компиляцией называется отдельный процесс преобразования текста на языке программирования в промежуточный код.
А так можно сказать, что и HTML использует JIT компиляцию. И 1С. И любой внутренний язык. Более, тогда получается, что когда вы в калькуляторе, понимающем выражении, пишите (2+7)*3, вы тоже якобы программируете, ведь "как то же это превращается в машинные коды, чтобы получить результат".
Так что товарищ сверху абсолютно правильно написал, что JIT-компиляция, далеко не обязательное условие интерпретатора.

Ответить

Илья Лазарев

Чукин
0

Точно, я опять каким-то образом перепутал компиляцию и трансляцию. Именно её я и имел в виду. Надо было писать "переводит на язык, понятный процессору" :D Спасибо.

Ответить

Илья Кочетков

Павел
6

Павел, вы не правы.
Цитата из Вики: "Код — взаимно однозначное отображение конечного упорядоченного множества символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов для кодирования передачи, хранения или преобразования информации"
XML разметка - способ кодирования информации. Содержимое XML файла - это код.
Тот факт, что это не исполняемый код ещё не значит, что содержимое XML файла нельзя называть по-русски кодом.

Ответить

max.mustermann

Илья
2

Это "не тот" код. Это у вас определение кода в смысле шифрования. Просто слово похожее, ничего более.

Програмный код - это набор команд и операций, xml - это "данные", к коду они отношения не имеет.

Ответить

ЖирныйМинус

Илья
1

XML не кодирует информацию а размечает ее, вы же не кодируете текст если расставляете в нем знаки препинания. Кроме того в тексте пишется о "коде игры" а xml специально и нужен чтобы хранить некоторые данные отдельно от кода программы. Точнее было бы написать в "файлах игры".

Ответить

Илья Кочетков

ЖирныйМинус
0

Я вам более того скажу - если я записываю информацию (включая знаки препинания, ага) я кодирую её в текстовом виде, используя алфавит языка.
Пример: у нас есть некоторая конкретная сущность (жираф), которая существует независимо от языка (алфавита). В русском языке эта сущность кодируется с помощью упорядоченного набора символов - "ж", "и", "р", "а", "ф".

Ответить

Павел Мазаник

Илья
0

Ладно, пусть будет так. Хотя в любом случае формулировка "в коде игры" применимо к xml-конфигу меня смущает.

Ответить

Илья Кочетков

Павел
1

Если углубиться немного глубже в смысловую нагрузку понятийного аппарата, то понятие "xml разметка" или "html разметка" в первую очередь несёт определение функциональной задачи языка - грубо говоря присвоение мета информации элементам.
А вот форма записи информации в конкретном файле это код.
Честно говоря, меня тоже немного коробит отсутствие лексической возможности типизации содержимого файлов по функциональной задаче. Но, что делать)
Интересно, можно ли на английском назвать содержимое XML файл "code".

Ответить

Илья Лазарев

Илья
0

А ведь вы правы. Тот же генетический код -- это genetic code, хотя он по своей структуре ближе к xml, а не тексту программы. Программа -- это уже source code, program и т.д. Так что «исходный код» было бы неправильно использовать, а «код» -- можно.

Ответить

Павел Сутырин

Илья
0

DTD уже, наверное, лет 30?)

Ответить

Чукин Михаил

Илья
0

Под ваше определение подходит и эта статья. И мой комментарий тогда код.

Ответить

glimpse unthinkable

Павел
0

Уж лучше так, чем на пустом месте снобски повыёбываться.

Ответить

Павел Мазаник

glimpse
0

Ну это да, это да, каюсь.

Ответить

Key Don

Павел
0

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

Ответить

glimpse unthinkable

Key
1

Для начала, я бы порекомендовал "профессионалам" узнать значение выражения "фактическая ошибка", а после этого составить претензию нормально.

Ответить

Ilya Nogachev

Павел
–1

Почитай на досуге, что такое предметно-ориентированные языки программирования.

Ответить

Павел Мазаник

Ilya
1

Предметно-ориентированные языки не обязательно являются языками программирования. XML - язык разметки, такой же как и какой-нибудь HTML.

Ответить

Ilya Nogachev

Павел
0

HTML-код не так коробит?

Ответить

Павел Мазаник

Ilya
3

HTML-разметка :)

Ответить

Scrawder Man

16

ИРЛ люди тоже слишком религиозны из-за опечатки в генетическом коде.

Ответить

Pavel Potemkin

Scrawder
0

опечатка все-таки скорее в культурном коде.

Ответить

Key Don

Pavel
3

Или в конфиге?

Ответить

Ta_Pak

8

Но Ганди с ядерными боеголовками навсегда в наших сердцах)

И что-то вспомнился старый анегдот на английском:
A new monk arrives at the monastery. He is assigned to help the other monks in copying the old texts by hand. He notices, however, that they are copying copies, and not the original books.
So, the new monk goes to the head monk to ask him about this. He points out that if there was an error in the first copy, that error would be continued in all of the other copies. The head monk says, "We have been copying from the copies for centuries, but you make a good point, my son."
So, he goes down into the cellar with one of the copies to check it against the original. Hours later, nobody has seen him. So, new monk goes downstairs to look for him and finaly saw a old one beating head against the wall. "Celebrate not celibate", he repeated.

Ответить

Сарджъ Мадовски

5

Тут должна быть шутка о программистах на 1С.

Ответить

Мимокрокодил

Сарджъ
0

Вместо этого будет шутка про программистов HP

Ответить

Мария Брэдбери

4

Правители в Civilization VI оказались слишком религиозными

Статьи по теме:
Разработчики Civilization VI пообещали исправить «сексистское» поведение правителей

Какое интересное совпадение.

Ответить

Sergey Shakirov

3

Это было божественное вмешательство. (с)

Ответить

Nick Malinovsky

1

Мы в курсе обнаруженного игроками бага, который незначительно влияет на поведение ИИ

незначительно влияет

А ребята знают, как держать лицо :D

Ответить

Key Don

0

Павел выше все правильно писал, непрофессионалы накинулись на него и заставили изменить мнение. Не хорошо, dtf. Скоро будете как феминистки с неграми.

Ответить

Илья Лазарев

Key
0

Почему сразу заставили? Привели аргументы, и он согласился. У каждого человека есть право на мнение и его изменение, вроде бы.

Ответить

Key Don

Илья
0

И какой из аргументов весомее?
"Дядя, ты слишком умный, иди отсюда":
Какой процент игроков кусок ресурсов будет называть xml-разметкой?)

Вот чувства программистов заделись, (которые зачастую не могут справиться со своими обязанностями должным образом).

Всем наплевать что вы там чем называете, обычные люди называют это просто кодом, обычные люди всю вашу стрепню называют кодом, потому что так проще.

Ну вот поэтому нам, обычным геймерам, сойдет и такое. Сложности оставьте профессионалам :)

Или "держи более общее определение кода вообще"
Код — взаимно однозначное отображение конечного упорядоченного множества символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов для кодирования передачи, хранения или преобразования информации

которым во-первых прикрыть можно что угодно, хоть язык пришельцев, настолько оно общее, во-вторых речь идет именно об исполняемых файлах программы(игры) https://dic.academic.ru/dic.nsf/ruwiki/944982. А то ведь так можно и кодом игры рекламный слоган назвать - тоже конечный алфавит и тоже является способом кодирования сообщения морзянки и к игре относится
−• −−− •−− −•−− •−−− −−−− •−•• •− −−−• −−− −•− −−− − −− •− •−• •−− • •−•• •−•−•− − • •−−• • •−• −••− •• ••• •−−• ••− •−−• −•−− •−• −•−− −−−− −•− •− −− ••

Ответить

Илья Лазарев

Key
0

xml

во-вторых речь идет именно об исполняемых файлах программы(игры)

Мне кажется, или здесь что-то не так?

Ответить

Key Don

Илья
1

Поклонники Civilization обнаружили в коде игры ошибку

речь идет именно об исполняемых файлах программы(игры)
Она оказалась не столько программной ошибкой, сколько опечаткой. В файле Leaders.xml

Так и я про то же. И Павел про это же говорил.
Ща бы xml-разметку кодом называть

Ответить

Илья Лазарев

Key
0

Мне кажется, вы путаете понятие кода и исходного кода. Профессиональная деформация :)

Ответить

Key Don

Илья
0

Так я ж не зря дал ссылку на словарь с определением "исполняемый код".
Про исходный код вообще речь не ведется.
Вроде не должно быть деформации, я не так часто чего-нибудь собераю и профессия моя немного другая.

Ответить

Илья Лазарев

Key
0

Тогда замените в моём предыдущем сообщении исходный код на исполняемый :D
Нигде ни в заголовке ни в статье исполняемый код не упоминается.

Ответить

Чукин Михаил

Илья
3

Слушайте, ну если НЕ уходить в софистику, то когда речь идёт о коде программы или коде игры, все имеют ввиду именно исполняемый код. Заголовок написан не верно. Слово "код" должно было быть заменено на "конфигурационный файл". Вы же сейчас пытаетесь доказать, что "Сократ вполне может считаться безперьей птицей, ведь тоже ходит на двух ногах".

Ответить

Илья Лазарев

Чукин
0

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

Ответить

Павел Мазаник

Key
0

Да я какбэ своё мнение не изменил, только согласился что при определённом обобщении xml можно назвать кодом. Но уж точно не исходным или исполняемым. Но при определённом обобщении и человеческую речь можно назвать кодом.

Ответить

गुरू

Павел
0

XML вполне может быть исходным кодом по вашей терминологии.

Ответить

Илья Извеков

0

Я пока знаю только Паскаль, поэтому вопрос: разве компилятор не должен был начать ругаться, так как переменной «yeild» не существует?

Ответить

dfkkg

Илья
1

И что? Это конфиг, компилятор код компилирует. Код смотрит в конфиг, и ищет переменную с правильным названием, программисты не дураки и позаботились о защите - если в конфиге нет значения переменной - присвоить значение по умолчанию. Код сработал правильно, компилятор скомпилировал. А то, что в конфиге лишние переменные - это как-то пофигу. Разве нет?

Ответить

esin

Илья
0

Все зависит от того, как они проверяют данные (судя по тому что эта ошибка есть в принципе - никак). Вообще XML, как уже сказали выше - это не совсем код. Это просто язык разметки данных, так что он не компилируется. С другой стороны, для различных данных можно предусмотреть различные способы проверки, которые смогут отслеживать подобные ошибки .

Ответить

Мимокрокодил

esin
1

Ничего там не зависит. КОМПИЛЯТОР ругаться на XML не будет

Ответить

esin

Мимокрокодил
0

Ну так а я и не писал нигде что конкретно компилятор будет ругаться. А если говорить про проверки, то вполне можно сделать так, чтобы они выполнялись на этапе компиляции/сборки проекта.

Ответить

Mikhail Efremov

Илья
0

в теории должен, если разработчики его не игнорируют)

Ответить

Artemii Frolov

Илья
0

Тут это не переменная, а параметр. Когда происходит обращение к несуществующему параметру - будет ошибка (но ее, скорее всего оборачивают). А вот существование "лишнего" параметра на игру никак влиять не будет.

Ответить

Антон Жмуров

0

А в прошлой части, когда Ганди гасил всех ядерным оружием это что было?)

Ответить

Key Don

Антон
0

Мир во всем мире то он в итоге принес?

Ответить

Максим Димитров

Key
2

Кстати, да. Когда из-за ядерного заражения началось глобальное потепление, всем стало не до войн, выжить бы! Так что план работает :)

Ответить

Никита Дараев

Антон
0

Если я правильно помню, показатель агрессии у него уменьшался настолько сильно, что случался оверфлоу и агрессия становилась максимальной.

Ответить

FoxGrandfather

0

«отвечающих приоритеты»… 😖 Как же больно читать это.

Ответить

Константин Рогов

0

Судя по поведению AI в шестой циве вся игра состоит из таких опечаток. "Незначительно" ахахахах

Ответить

Dmitry Namynnuz

0

Дурацкое слово. Никак не могу запомнить, как оно пишется.

Ответить

Александр Ларин

0

Круче бага с ядерным Ганди всё равно в Циве не будет.

Ответить
0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]