• avatar Rekie
  • 0
Сам дифуз покупаю редко, очень ситуативно. Против меня же его применяют еще реже, и еще реже — сознательно для контры ветров. Общее число успешного применения дифуза как пуржа сейв-абилок побирается далеко после запятой после нуля, чаще его берут всяким рики просто потому что так принято, для замедления. Видимо, фрог тоже это понял, посему наблюдаем кастрированный дифуз в 7 версии. Что касается конкретно войда, на моей памяти нет ни единого случая контры ветров дифузом в куполе. И это лишь только отчасти потому, что возможно это стало относительно недавно, в 6.83, вроде. В значительно большей степени причиной топу является тотальная дегенеративность комьюнити д1, которое только усиливается с годами по причине отсутствия вливания новой крови, что характерно и закономерно для старых игр.
Диффузы покупать не пробовал? Ой помню игру со сраным сларком и вокреом, там вся тима еулов + гхосты. Ну ничего не помогало им, так как союзники чаще всего имбицилы — берем диффуз, и разбиваем лица. Сларк тварюга регенился на виду в куполе не пробить. Ну от даггеров помогает лотар, т.к купол имеет каст тайм и тайм валк не мгновенный, подобраться к вокеру с даггером — не подберешься, а так идешь в лотаре, смотришь нет ли кого рядом чтобы их в купол усадить. Удар + купол через шифт, все и разбиваешь лицо.
Ну со сларком вина фрога, придурок не мог взять Unholy aura для регена и мс, он взял Эндуранс ауру для скорости и реген фонтана для регена… Результат мы все знаем, сларк регенится на виду.
Зато раньше купол паузил, продлевая многие спелы. Я на каждого мага, например, ветра собераю. А они продлевались в куполе, даруя пермонеуязвимость. На хачекапе я войда за героя не считал по этой причине. Бедняга был вынужден иногда крипов бить под моими ногами.
Нет ну с войдом вы зря, то что он отрубал промахи куполом — было норм, щяс бедняга станет слабее…
Баг с боником — блядь да неужели его не могут пофиксить, сколько себя помню это было…
Ант и его команда кстати более менее исправили линку, теперь она блочит дагоны и еще 10500 спеллов, не уходя в кд…
  • avatar Neprost
  • 0
Прогремел на весь дом с духа классической доты
Да да, машину времени дай плз.
  • avatar Loki
  • 0
верните меня в 2007, чтобы я ничего этого не знал
  • avatar Loki
  • 0
такое чувство что изначальный текст составлял вдвое больше и даже в нём не было описано всех перипетий и открытий произошедших за два года
Большое спасибо!
  • avatar maflo
  • 0
смотрит героев
Будут новые тесты на 1.27 или он юзлес и ничем не лучше 26?
  • avatar tmn
  • 0
Ну а двойная чистка приводила бы к мгновенному фаталу, а не проблемам с целостностью.
Нет, с чего бы. Да и одного free достаточно, чтобы всё испортить, если ты там вставлял указатель на часть JASS'овской таблицы строк. Тут и счётчик не нужен, если оригинальная строка (которую ты заменял) выделялась специально для этой структуры и потом освобождалась, когда освобождалась структура (особенно, если это происходило уже после выхода из карты).
Спецификация по стрингам, нарытая сугубо эмпирическим путем — www.hiveworkshop.com/threads/documentation-string-type.240473/
В JASS стринги заменяются на объекты со ссылками на эти стринги. Адрес забирался банальным взятием оффсета из объекта. Строки не утилизируются до конца игры, поэтому счетчик использований значения не имеет (если он вообще есть) — все они чистятся при загрузке следующей карты, и JASS, и родные.

Да, фактически, теперь я использую функцию, которая как-то регистрирует строку в более глобальном хранилище. Ну а двойная чистка приводила бы к мгновенному фаталу, а не проблемам с целостностью. Единственный вариант, когда это возможно — это если JASS чистил за собой позже, а т.к. это виртуальная машина, она защищена от подобных вылетов кучей проверок по дороге.
  • avatar tmn
  • 0
А что ты раньше передавал аргументом GetStringAddress? То есть, как ты получал нужный указатель, на который заменял? И где фактически хранилась строка, как она попадала в память? Вообще, ты заменял указатель на строку или на какую-то структуру, в которой был указатель на строку?

Не знаю, как в WC3 устроена работа со строками, но можно предположить, что каждый раз, когда ты где-то используешь строку, нужно увеличить счётчик использований. И потом, когда структурку освобождают, этот счётчик уменьшают. И из-за того, что ты не увеличивал счётчик, место под твоей строкой освободилось, а указатели остались. Или вообще освободилось несколько раз.

То есть восстанавливать ничего не надо. Надо следовать каким-то внутренним правилам использования строк, что ты сейчас и делаешь, как я понял. По-хорошему, нужно ещё для старой строки (которую заменяешь) уменьшать счётчик, чтобы она не оставалась в памяти.
Кул стори
я понял, что ничего не понял, так нам что делать-то?
  • avatar maflo
  • 0
Почему ничего не сказано, о Варкрафт 1.29?
  • avatar Feero
  • 0
:)
меня раздражает, когда переключаешь у тролля милли на рендж он продолжает бежать к врагу…
  • avatar Rekie
  • 0
Очень напрягает, когда ТБ после морфа бежит атаковать цель с ренжом 150 вместо 550. Иногда это дорого обходится.

P.S.
Go Go Power Rangers!