13

» WarCraft 3 / Memory Hack

SetAbilityUbertip('I000',1,"Test") ничего не изменил
А на счет оффсетов, где их глянуть можно?
GetAbilityStringParam2('I000',0x158,1) выдает null, при том что в полях записаны значения
Для цикла от 0 до 4000 (по +4) так же всегда null
PS: для абилок нормально выдает
Ах да, не пояснил, 'I000' - итем
GetAbilityUIDefAddr('I000') дает 0
PPS: предмет был создан на карте
13

» WarCraft 3 / Memory Hack

Для меня "глянуть" это выводить все офсеты поочереди и смотреть где выдаст текст)
13

» WarCraft 3 / Memory Hack

Вечером попробую, отпишусь. Думал итем ближе к юниту, а не к абилке
А, да. У итемов же 2 описания... Надеюсь получится менять оба
13

» WarCraft 3 / Memory Hack

Принятый ответ
ClotPh:
Nelloy, ну тебе даже 1000 лвлов бы не хватило? У меня пассивка со 1000 уровнями спокойно прелоадится, очень тупо, значимо влияет на время загрузки карты, но очень легкореализуемо. А вообще при фантазии 100-200 лвлов хватить должно, если прям ппц предельной точности не должно быть.
Ну, офк, если через мемхак разберешься, будет лучше, это так, просто как альтернатива.
Допустим множитель точность 0.01 и шанс с точностью до 1%, 100 лвлов на каждый вариант множителя, от 1.0 до 3.0 нужно 20000 лвлов способности
Так что нет, спасибо
Вот именно предложенную тобой альтернативу решил переделать))
Стоит выложить наработку по генерации рельефа с помощью шумов Перлина?
Ничего особо примечательного там нет, и не подготовлена как наработка.
Спасибо велосипеду, разобрался. xgm.guru/p/wc3/181566
Загруженные файлы
13

» WarCraft 3 / Memory Hack

С критами и вовсе практически нереализуемо для критов, создать абилки с лвлас под все вариации шанс-множитель просто не реально.
В хаке есть замечательные функции
function SetAbilityRealParam takes integer id, integer off, real newVal returns boolean
function GetAbilityRealParam takes integer id, integer off returns real
И их аналоги для других типов, но, увы, никакой инфы по тому как ими пользоваться нет в природе... Ладно, id - понятно. off - предполагаю смещение в массиве полей абилки, буду вечером тестить, выводя все подряд и искать нужные поля
А отлавливать источник урона (атака или абилка) - не хочу, слишком много гемора
13

» WarCraft 3 / Memory Hack

В перспективе много всего, для начала для каждого игрока сделать по способности на уклонения и во время игры динамически менять показатель шанса
Аналогично с критами, чтобы в процессе игры менять шанс и множитель
Думаю разобравшись с этими 1-2 примерами дальше смогу делать сам
В отсутствие примеров не могу понять как с vjass'ом динамически редактировать поля способностей
13

» WarCraft 3 / Декорации

Принятый ответ
Решено, использовал перевод в Jass отсюда xgm.guru/p/wc3/dooandw3etojass, но там в базу пишутся радианы. PS: затея использовать динамический ланд пока жива
13

» WarCraft 3 / Канал

Удаление из выбора безусловно поможет, но корябает эстетическое) Можно подробнее с мгновенным кастом?
13

» WarCraft 3 / Канал

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

» WarCraft 3 / Канал

если с клавиши прожимать, там есть где-то 0.1-0.3 сек (пока горит зеленая рамочка вокруг кнопки)
13

» WarCraft 3 / Канал

Способность с юнитом не имеет отношения к проблеме (ее срывание допустимо), добавил время, не помогло
13

» WarCraft 3 / Канал

Ммм... Догадываюсь что не должен, но реагирует (Да, на простые клики ПКМ)
Суть в том что канал прерывается на этапе подготовки, а не применения ( подготовка заклинания стоит 0.00)
13

» WarCraft 3 / Не отображается юнит

Было бы логичнее старые переписывать. Еще в недавних вопросах давали такой ответ про звуки, может поможет
13

» WarCraft 3 / Анимации

Порядок как только не менял, без паузы никак (ранее сделанное не позволит), да и видно как текущая анимация прерывается, думал на команду анимации... А с паузой... наталкивает на мысль, что она может срывать текущую анимацию, надо проверить с таймером
13

» WarCraft 3 / Утечки

Принятый ответ
Прошу прощения, перепроверил, не течет, занимает 4 хендла на время действия, потом чистит
13

» WarCraft 3 / Баффы

Класс, даж не знал что она не отображается, спасибо
13

» WarCraft 3 / Баффы

Если вкратце, то хочу красиво отображать бафы и дебафы. Две абилки набирают стаки дебафов, третья, в зависимости от того что висит на юнитах вокруг, хилит, дамажит или бафает цель. Длительность можно прокачивать с лвлом, потому вариант с дамиком отпадает (не охота лишние срабатывания таймера плодить). Почти идеально подходит вариант ауры с радиусом 0.1, если бы не ее иконка в панели. Хочу вплести в эти функции:
function SpellChangeStats_Timer takes nothing returns nothing

local timer t = GetExpiredTimer()
local integer ht = GetHandleId(t)
local string stat = LoadStr(udg_Hash_Table, ht, StringHash("Stat"))
local real Val = LoadReal(udg_Hash_Table, ht, StringHash(stat))
local integer hTarg = LoadInteger(udg_Hash_Table, ht, StringHash("hTarg"))

call SaveReal(udg_Hash_Table, hTarg, StringHash(stat), LoadReal(udg_Hash_Table, hTarg, StringHash(stat)) - Val)

call DestroyTimer(t)
set t = null
call FlushChildHashtable(udg_Hash_Table, ht)

endfunction
function SpellChangeStats takes unit Targ, string stat, real Val, real time returns nothing
local timer t = CreateTimer()
local integer ht = GetHandleId(t)
local integer hTarg = GetHandleId(Targ)

call SaveInteger(udg_Hash_Table, ht, StringHash("hTarg"), hTarg)
call SaveStr(udg_Hash_Table, ht, StringHash("Stat"), stat)
call SaveReal(udg_Hash_Table, ht, StringHash(stat), Val)

call SaveReal(udg_Hash_Table, hTarg, StringHash(stat), LoadReal(udg_Hash_Table, hTarg, StringHash(stat)) + Val)

call TimerStart(t, time, false, function SpellChangeStats_Timer)

set t = null
set Targ = null

endfunction
13

» WarCraft 3 / Триггерный крит

Snowik:
Есть мысли на счет глобалок с ~0 таймером жизни, которые бы перекрывали на этот промежуток времени срабатывание крита для игрока применившего спелл, но не оч элегантное решение. И исходя из этого другой вопрос: после нанесения урона, что сработает раньше, висящий после команды 0-й таймер или событие полученного урона?
Не очень удачно мыслишь, тут нужна динамика.
А так как у Jass-а возможностей мало, приходится действовать самыми изощренными методами, (как я ранее указал "сделать это не так просто")
Но если тебе очень нужно, то советую посмотреть наработки систем отлова урона, и внедриться в код что бы понять как это работает, и на этой основе лепить уже свое.
Не понял что не так с динамикой... имел ввиду следующее: спел героя после нанесения урона вешает буленовской флаг к юниту, пока флаг висит ~0сек, критов нет
Завтра надо будет потестить
13

» WarCraft 3 / Триггерный крит

Вопрос в том, как отличить урон с автоатаки от урона со спела
Не сложно отловить весь урон
Да и в будующем было бы полезно научиться их различать для реализации каких-нибудь мудреных пассивок
Есть мысли на счет глобалок с ~0 таймером жизни, которые бы перекрывали на этот промежуток времени срабатывание крита для игрока применившего спелл, но не оч элегантное решение. И исходя из этого другой вопрос: после нанесения урона, что сработает раньше, висящий после команды 0-й таймер или событие полученного урона?
13

» WarCraft 3 / WE limits

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