А о том и речь, что каждый имеет свои ожидания. А суровая реальность — ты приходишь в старую игру, большинство местных (на старте) в неё не играли последние лет 6, раки и днища до самых пробитых корыт. Мало того, что никаких статистик и послеигровых данных, так еще и матчмейкинга нет — играешь с рандомами и никогда не знаешь, кто твой тиммейт. Ни истории матчей, ни тюнинга поиска игр. И вот на эти вопросы, важные для доты, ответов нет
Видел тоже, но т.к. в тематику не погружен, не могу точно судить. Скорее всего бомбануло из-за того, что мобилки-онли, если бы был ПК-клиент, такого взрыва не произошло бы. Ну и два года намеков «мы тут кое-что делаем» тоже слишком сильно раззадорили. Короче, сами маркетологи долбоебы, а не диаблеры умные.
Я с указателями не дружу, подумал, может, там ссылка на this+8 оказалась
Воздействий извне мне неизвестно, в том месте никаких джампов рядом нет, а выполнение линейное ведь
Спецификация по стрингам, нарытая сугубо эмпирическим путем — www.hiveworkshop.com/threads/documentation-string-type.240473/
В JASS стринги заменяются на объекты со ссылками на эти стринги. Адрес забирался банальным взятием оффсета из объекта. Строки не утилизируются до конца игры, поэтому счетчик использований значения не имеет (если он вообще есть) — все они чистятся при загрузке следующей карты, и JASS, и родные.
Да, фактически, теперь я использую функцию, которая как-то регистрирует строку в более глобальном хранилище. Ну а двойная чистка приводила бы к мгновенному фаталу, а не проблемам с целостностью. Единственный вариант, когда это возможно — это если JASS чистил за собой позже, а т.к. это виртуальная машина, она защищена от подобных вылетов кучей проверок по дороге.
Он как раз и говорит, что не стоило переносить механику варкрафта, а надо было строить максимально упрощенный геймплей, как сделали в лоле, хотсе и других мобах.
В стеке был кусок из таблицы строк, только поэтому и вычислил проблему. Та внутренняя функция всегда принимает char-строку, а вот сам поиск, скорее всего, по хешу делает, снятому с этой строки. Коллизий у хеша мало, хоть и возможны, но на практике никто не встречался с подобным. Согласно данным Леандро, во избежание используется разбиение таблицы строк на несколько разделов — в одной стандартные нативки, в другой — user-defined данные.
Хз во что превращалось, но эффект аналогичен пустой строке или некорретным данным по тип «0,0». Едва ли «багнули», с их точки зрения — скорее починили.
Кнопка и так отдельно от ауры. Апгрейд позволяет вообще не заморачиваться с добавлением-отниманием абилок, а делать всё волшебство в 3 строки нативными способами. Нативные методы всегда лучше любых велосипедов, при условии, что побочных эффектов нет.
Воздействий извне мне неизвестно, в том месте никаких джампов рядом нет, а выполнение линейное ведь
В JASS стринги заменяются на объекты со ссылками на эти стринги. Адрес забирался банальным взятием оффсета из объекта. Строки не утилизируются до конца игры, поэтому счетчик использований значения не имеет (если он вообще есть) — все они чистятся при загрузке следующей карты, и JASS, и родные.
Да, фактически, теперь я использую функцию, которая как-то регистрирует строку в более глобальном хранилище. Ну а двойная чистка приводила бы к мгновенному фаталу, а не проблемам с целостностью. Единственный вариант, когда это возможно — это если JASS чистил за собой позже, а т.к. это виртуальная машина, она защищена от подобных вылетов кучей проверок по дороге.
Хз во что превращалось, но эффект аналогичен пустой строке или некорретным данным по тип «0,0». Едва ли «багнули», с их точки зрения — скорее починили.