21

» WarCraft 3 / КАКОЕ поле должно у юнита, чтоб GetUnitBaseDamage не фаталил?!

Короче, всем спасибо, пока поставлены еще количество костей, количество граней у кости и добавлены дальность атаки и цели для нее, фаталить перестало
функцию потом поменяю
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

//////
Так. Короче. Нихрена не помогает прелоад в другом месте. Все равно после первого открытия спеллбука с абилами - лаг. Совсем крошечный, но лаг. Неприятно.
Остаётся только одно - открыть спеллбук.
pGameUIClassX4=RMem(RMem(pGameClass2)+0x214)
CallThisCallWith7Args(GameDLL+0x37C420, pGameUIClassX4, abilid, 0x000D0280, 0x20,0,0,0,1)// = open
CallThisCallWith7Args(GameDLL+0x37C420, pGameUIClassX4, 0, 0x000D0007, 0x20,0,0,0,0)// = close
Вот как этим пользоваться?
У меня, допустим, юнит u5 или юнит из глобальной переменной udg_blabla должен открыть спеллбук.
ЧТО и ГДЕ нужно прописать?! Уж соблаговолите подсказать, пожалуйста, если не трудно.
Я тут вообще ФУНКЦИИ не вижу, нормальная функция начинается с function, кончается на endfunction, и что-то принимает и возвращает.
Мне хотелось бы, чтобы функцию можно было скопировать в кастом код и вызывать как-то так:
call OpenSpellbook (u5)
ЗАКРЫВАТЬ МНЕ ПОТОМ НЕ НАДО! ТОЛЬКО ОТКРЫТЬ! ЮНИТ НЕЙТРАЛЬНЫЙ, ТАМ НИКТО У НЕГО НИЧЕГО НЕ УВИДИТ!
21

» WarCraft 3 / Хак на память Warcraft3

/
Продублирую тут
/////
Блин, ну перепишите плз функцию GetUnitBaseDamage (и, ятп, GetUnitGreenBonusDamage), чтобы при отсутствии атаки она не варкрафт фаталила, а возвращала 0! Ну что это такое, второй раз уже из-за нее фаталы!
Можно и нужно офк фильтры и проверки ставить, но по-нормальному они внутри самой функции должны быть!
///////
Пока придется всем осязаемым юнитам давать атаку, а у кого ее не должно быть - склад орков совать... потому что при первой попытке подсчета атаки с у кого ее нет фатал сразу, а лучше бы, чтобы возвращало 0 и все
/////
Вообще стоит определиться: развивается мемхак параллельно "официальной линии" или нет, если да, то надо вот все вот такие фаталы исправлять, идеализировать функции, а если они уже есть в кул вариантах, то обновить ссылки выше.
В идеале, если развитие идет, вообще мемхак вывести в дополнительный гуи и прямо внутрь вшить O_O, слова нельзя я не понимаю.
21

» WarCraft 3 / Battle for Souls 3.2b

/////////
Блин, ну перепишите плз функцию GetUnitBaseDamage (и, ятп, GetUnitGreenBonusDamage), чтобы при отсутствии атаки она не варкрафт фаталила, а возвращала 0! Ну что это такое, второй раз уже из-за нее фаталы!
Можно и нужно офк фильтры и проверки ставить, но по-нормальному они внутри самой функции должны быть!
21

» WarCraft 3 / Warcraft 3 Patch 1.29.2

тут только из-за того что они лимит на хэш поставили уже переходить не хочется
даже 24 игрока этого не компенсируют
лучше уж дальше ломать в направлении мемхака
21

» WarCraft 3 / Выявление утечек в коде имитации крипов в МОБА (как в Доте)

quq_CCCP, "меньше раз в 10"
а где тут утечки вообще?
просто если бы на гуи то мной примерно так же бы делалось
ты говоришь что утечки все-таки есть, хотя и мало - где?
21

» WarCraft 3 / Выявление утечек в коде имитации крипов в МОБА (как в Доте)

тут же все просто например если на гуи
делаешь в карте области
и пишешь set tpoint = center of такой-то глобальной области
set g = units within XXX of tpoint удовл. нужным тебе условиям
custom script call RemoveLocation (udg_tpoint)
set tpoint - центр уже другой нужной тебе области
pick every unit in g и идти нападая на врагов в tpoint
custom script call RemoveLocation (udg_tpoint)
custom script call DestroyGroup (udg_g)
повторять столько раз сколько нужно для нужных областей и юнитов
тупо и гуишно и с точками, зато понятно и вроде без утечек
если что поправьте на гуи давно не
21

» WarCraft 3 / Выявление утечек в коде имитации крипов в МОБА (как в Доте)

точки утекают все по-моему
группы надо не только разрушать но и обнулять
и после беглого просмотра не полная уверенность что в группы вообще везде правильно юниты добавляются
ты возьми систему в которой знаешь что утечек нет и адаптируй под себя
уж найти такую систему должен мочь
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

ssbbssc, ну знчит просто каша из топора получается
но 1 хрен все можно поменять
переписывать значит тоже ведь мб не на 100% всё
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

ssbbssc, ага, а когда-то в нем и перезарядки и манакосты считать было нельзя...
DracoL1ch, не готовая, потому что готовая это вот такая в моем понимании:
function GetUnitArmor takes unit returns real
...
endfunction
я могу ее прописать в custom code и потом вызывать так:
if GetUnitArmor(u5) < 200 then...
а что это у тебя что оно принимает и что возвращает и как им пользоваться я не понимаю
вот как этим спеллбук открыть заставить того же юнита u5 или из глобальной переменной?
21

» WarCraft 3 / Бледные орки

А это в чем угодно. Чем больше занимаешься, тем лучше получается
Просто в ресурсы никто это все равно не кидает... слишком элементарно
21

» WarCraft 3 / Бледные орки

SumrakTH, ну отфотошопить текстуру и я в любом цвете смогу
иногда кстати вполне даже красиво выходит
но как ресурс сомнительная вещь
реколоры иконок же не выкладывают хотя тоже красивые бывают
21

» WarCraft 3 / Бледные орки

Если на стандартных текстурах, то норм, если реколор - фигня
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

ssbbssc, все как-то должно быть можно исправить, временно можно смириться со всем
DracoL1ch, ну ладно, все равно не понимаю, как ей пользоваться в таком виде
Ладно, думаю, достаточно информации. Одним из способов, своим или предложенным, решу вопрос с 80% вероятностью
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

nvc123, вот я и не понимаю, почему они у юнита есть на старте игры, а лагают при открытии спеллбука
пока получено объяснение что типа потому что спеллбук, в котором эти абилы, у того же юнита прелоадится
но не очень понятно почему так
но если я другому юниту буду их давать то очевидно что если так то проблема решится
но все-таки опять же проще чем лист абил писать килограммовый, где можно еще и ошибиться и куда дальше все новые абилы вписывать, просто этот гребаный спеллбук открыть
и это навсегда уже затычка будет на все новые абилы в этом спеллбуке тоже
поэтому я и хочу тупо ОТКРЫТЬ СПЕЛЛБУК
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

Maniac_91, а оно точно действует при триггерном вызове? первое сообщение этой темы вроде говорит об обратном xgm.guru/p/wc3/205868#lastpost
//////
крч ладно спс у меня тут уже другая идея родилась
просто юниту давать все абилы внутри спеллбуков одному из прелоадящихся, их даже ремувить потом не надо, т. к. юнит ремувится
почему-то я не очень верю что нужно просто раздать абилы для прелоада внутриспеллбучные не тому же юниту, в котором прелоадятся их спеллбуки, не оч понятно, как это объясняется (разве что тогда они типа игнорятся в неспеллбучном варианте и только спеллбучный создается О_О) и мне это будет немного неудобно менять просто там перечни длиннющие неудобно вырезать кусок
но если подскажет все-таки кто по именно открытию спеллбука именно по приказу, БЕЗ нажатия клавиши - это будет удобнее
мемхаком вроде как можно говорили
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

Maniac_91, по второму варианту: а там есть приказ?
о первом варианте я думаю, а селект юнит не может вызвать десинк?
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

nvc123, ну это все хорошо, но смотри: не проще ли мне будет один раз открыть спеллбук юниту, чтобы прелоадить сразу все абилки в нём? Ведь смотри, как рассуждаю: равкоды у всех спеллбуков у меня одинаковые, значит, мне достаточно будет на том юните только все сами спеллбуки прелоадить; все их внутренние абилки будут автоматически прелоадиться при открытии (спеллбук откроется как сразу со 100500 абилками же, ятп), и дальше мне уже только спеллбуки туда пихать новые, а с новыми спеллами внутри них система сама разберется, мне только один приказ на открытие в прелоаде прописать
//////////
если еще проще, то я вижу вот именно сейчас и именно в своей ситуации наиболее простым и оптимальным решением приказать открыть спеллбук и все
это ятп максимум 1 строчка кода + 1 функция мемхака вот и хочу узнать их
21

» WarCraft 3 / Еще про спеллбук (конкретная задача)

nvc123, есть способности спеллбуков и есть спеллбуки.
И то, и другое прелоадится отдельными абилками, но при первом открытии спеллбука вроде бы есть небольшой лаг.
В другом вопросе мне вроде как ответили, что спеллбуки и абилки внутри них надо прелоадить на разных объектах, но мне это по некоторым причинам будет не очень удобно.
Проще приказать объекту под управлением компьютера, у которого изначально этот спеллбук уже прелоадится, открыть его. Чтобы лаг, значит, в момент прелоада прошёл.
Видно это открытие спеллбука никому из живых игроков не будет и никак на игру не повлияет, а даже если бы было иначе = после прелоада все равно эти спеллбуки и удалить можно.
/
Если вдруг кому не лень и не влом, может скачать, распаковать, запустить (игрокарта грузится около 3-4 мин., это нормально), купить, например, топор силы и кликнуть на него. По-моему, небольшой лаг есть
/
в первый раз есть
21

» WarCraft 3 / Два простейших вопроса по спеллбукам

quq_CCCP, ммм... отдельно в смысле НЕ на том юните, на котором спеллбук уже с ними?
Тогда это мб решение, спасибо.
21

» WarCraft 3 / Хак на память Warcraft3

////
подсказали, что мемхаком можно триггерно приказать открыть спеллбук, укажите плз функцию
21

» WarCraft 3 / Два простейших вопроса по спеллбукам

Спасибо.
Тут штука вот в чём: у меня есть спеллбуки в предметах для их улучшения - кликаешь на предмет, выходит список, во что его можно апнуть (например, сапоги во все производное).
И есть уже, значит, абилы внутри этих спеллбуков.
И сами спеллбуки, и абилы внутри спеллбуков прелоадятся у изначально имеющихся на карте объектов.
Но со спеллбуками всё ок, а вот при первом открытии спеллбука мне кажется, что всё-таки имеется совсем небольшой, но лаг.
То есть я тогда еще для прелоада просто прикажу открывать спеллбук, и все, id спеллбуков там дефолтные все