0
32
2 года назад
0

» WarCraft 3 / РАБОТА с ОДНОРАЗОВЫМ способностями

Ну а в чем проблема? JASS API как бы позволяет нам удалять, добавлять, скрывать - способности. Не вижу проблем, просто скрываем абилку и все, а когда нужно снова делаем видимой на карте комманд, ну а у самого героя \ юнита есть сразу все возможные такие абилки, а ты тупо делаешь достумными \ недоступными.
0
32
2 года назад
0

» WarCraft 3 / Изменения внешности при изучения пассивки

Ну как вариант морф в другого юнита, у тини сперва так было сделано, потом несколько по другому (уровни просто увилечение размера, а аганим с деревом - морф)
0
32
2 года назад
0

» WarCraft 3 / Как сделать герою прокачиваемые способности во время игры?

ST95, такое там насколько помню не ввели, и причем тут стороний софт? Мемхак это наработка на языке jass, он присутсвует в коде карты и больше ничего не требует. Их уже несколько версий, функционал очень широк и удобен, главное тщательно читать интсрукцию и рекомендации по форуму, чтобы не сесть в лужу.
0
32
2 года назад
0

» WarCraft 3 / Как сделать герою прокачиваемые способности во время игры?

ST95, чувак эмм, ну как бы надо разбиратся - иначе будешь бится лбом о стену...
0
32
2 года назад
0

» WarCraft 3 / Как сделать герою прокачиваемые способности во время игры?

еще раз, для особо одаренных - открываем ссылку и скачиваем карту с мемхаком, вставляем его себе в карту.

Ну уж тут прикреплю, самый древний мемхак где эти функции были и работали, далее чет не припомню развивали их или нет, через 5 сек после старта карты у чародея крови внезапно становятся доступны для изучения криты блейдмастера. Никаких абилок, никаких модификаций обьектов, все делается исключительно кодом, благодаря мемхаку.
Загруженные файлы
0
32
2 года назад
0

» WarCraft 3 / Как сделать герою прокачиваемые способности во время игры?

ST95, ну само собой нет, мемхак - наработка открывающая доступ ко всем внутренним функциям игры. К примеру вот инфа - xgm.guru/p/wc3/easymem

Вот инфа - ссылка
Ну а в разных версиях мемхака код отличается, но найти по ctrl+f думаю не составит труда.
0
32
2 года назад
0

» WarCraft 3 / Как сделать герою прокачиваемые способности во время игры?

Ну так поиск в помощь - мемхак
0
32
2 года назад
0

» WarCraft 3 / Как сделать герою прокачиваемые способности во время игры?

Мемхак, функция SetAbilityIntoList (или как то так) добавляет в красный плюс героя указанную абилку, которую герой может выучить, легко и просто.
2
32
2 года назад
2

» WarCraft 3 / крафт

Нет нельзя, все делается ручками, ибо сама играть знать ничего не знает про крафт, так что делаем по 1 версии для каждого случая и подменяем их кодом.
0
32
2 года назад
Отредактирован quq_CCCP
0

» WarCraft 3 / Прыжок сларка на гуи

pounce
function Y65 takes nothing returns boolean
  local trigger t=GetTriggeringTrigger()
  local integer S5I=GetHandleId(t)
  local integer NPI=GetTriggerEvalCount(t)
  local unit P7I=(LoadUnitHandle(HashData,(S5I),(2)))
  local unit P8I=(LoadUnitHandle(HashData,(S5I),(17)))
  local lightning UZI=(LoadLightningHandle(HashData,(S5I),(196)))
  local integer SUI=(LoadInteger(HashData,(S5I),(5)))
  local real QXI=(LoadReal(HashData,(S5I),(189)))
  local real QYI=(LoadReal(HashData,(S5I),(190)))
  local real QJI=GetUnitX(P8I)
  local real QKI=GetUnitY(P8I)
  local real IV1
  local real IW1
  local real II3=(LoadReal(HashData,(S5I),(23)))
  local real I13=(LoadReal(HashData,(S5I),(24)))
  local real RM2
  local real QWI=QNI(II3,I13,QJI,QKI)
  call SaveReal(HashData,(S5I),(23),((QJI)*1.0))
  call SaveReal(HashData,(S5I),(24),((QKI)*1.0))
  if QWI>100 or NPI>(3.5/.03)or RKI(P8I)==true then
    call DestroyLightning(UZI)
    call FlushChildHashtable(HashData,(S5I))
    call S0I(t)
  else
    call MoveLightning(UZI,true,QXI,QYI,QJI,QKI)
    if QNI(QXI,QYI,QJI,QKI)>325 then
      set RM2=Atan2(QKI-QYI,QJI-QXI)
      set IV1=QXI+(325)*Cos(RM2)
      set IW1=QYI+(325)*Sin(RM2)
      call SetUnitX(P8I,IV1)
      call SetUnitY(P8I,IW1)
    endif
  endif
  set t=null
  set P7I=null
  set P8I=null
  set UZI=null
  return false
endfunction

function Y75 takes unit P7I,unit P8I,integer SUI returns nothing
  local trigger t=CreateTrigger()
  local integer S5I=GetHandleId(t)
  local lightning UZI=AddLightning("PONC",true,GetUnitX(P7I),GetUnitY(P7I),GetUnitX(P8I),GetUnitY(P8I))
  call SetLightningColor(UZI,1,1,1,1)
  call SaveLightningHandle(HashData,(S5I),(196),(UZI))
  call SaveUnitHandle(HashData,(S5I),(2),(P7I))
  call SaveUnitHandle(HashData,(S5I),(17),(P8I))
  call SaveInteger(HashData,(S5I),(5),(SUI))
  call SaveReal(HashData,(S5I),(189),((GetUnitX(P7I))*1.0))
  call SaveReal(HashData,(S5I),(190),((GetUnitY(P7I))*1.0))
  call SaveReal(HashData,(S5I),(23),((GetUnitX(P8I))*1.0))
  call SaveReal(HashData,(S5I),(24),((GetUnitY(P8I))*1.0))
  call TriggerRegisterTimerEvent(t,0.03,true)
  call TriggerRegisterUnitEvent(t,P8I,EVENT_UNIT_DEATH)
  call TriggerAddCondition(t,Condition(function Y65))
  call DamageTarget(P7I,P8I,1,50.00*SUI)
  call IssueTargetOrder(P7I,"attack",P8I)
  set t=null
  set UZI=null
endfunction

function Y85 takes nothing returns boolean
  local trigger t=GetTriggeringTrigger()
  local integer S5I=GetHandleId(t)
  local integer NPI=GetTriggerEvalCount(t)
  local integer SUI=(LoadInteger(HashData,(S5I),(5)))
  local unit P7I=(LoadUnitHandle(HashData,(S5I),(2)))
  local real RM2=(LoadReal(HashData,(S5I),(13)))
  local real BA3=(LoadReal(HashData,(S5I),(189)))
  local real BB3=(LoadReal(HashData,(S5I),(190)))
  local real QJI=(LoadReal(HashData,(S5I),(47)))
  local real QKI=(LoadReal(HashData,(S5I),(48)))
  local real IV1=BA3+(30*(20+4*2)/30)*NPI*Cos(RM2*bj_DEGTORAD)
  local real IW1=BB3+(30*(20+4*2)/30)*NPI*Sin(RM2*bj_DEGTORAD)
  local real YB3=SquareRoot((IV1-QJI)*(IV1-QJI)+(IW1-QKI)*(IW1-QKI))
  local real YC3=700
  local real YD3=175
  local real YE3=(1-YB3/YC3)*YD3*2
  local group g=NTI()
  local unit P8I
  if NPI==1 then
    call SetUnitAnimationByIndex(P7I,5)
    call SetUnitTimeScale(P7I,1.5)
  endif
  if YE3>YD3 then
    call SetUnitAnimationByIndex(P7I,5)
    set YE3=YD3*2-YE3
  endif
  call SetUnitFlyHeight(P7I,QDI(YE3,0),0)
  call SetUnitX(P7I,PTI(IV1))
  call SetUnitY(P7I,PUI(IW1))
  call SetUnitFacing(P7I,RM2)
  set GK=P7I
  call GroupEnumUnitsInRange(g,IV1,IW1,120,Condition(function D21))
  set P8I=FirstOfGroup(g)
  call NSI(g)
  if YB3<30 or P8I!=null or GetTriggerEvalCount(t)>26 then
    call SetUnitFlyHeight(P7I,0,0)
    call SetUnitFacing(P7I,RM2)
    call SetUnitTimeScale(P7I,1)
    call SetUnitAnimation(P7I,"stand")
    call SetUnitPathing(P7I,true)
    call UnitRemoveAbility(P7I,'A1J6')
    call UPI(GetUnitX(P7I),GetUnitY(P7I),100)
    if P8I!=null and RKI(P8I)==false then
      call SCI(P8I,4408,5)
      call Y75(P7I,P8I,SUI)
    endif
    call FlushChildHashtable(HashData,(S5I))
    call S0I(t)
  endif
  set t=null
  set P7I=null
  set P8I=null
  return false
endfunction

function Y95 takes nothing returns nothing
  local unit P7I=GetTriggerUnit()
  local integer SUI=GetUnitAbilityLevel(P7I,'A1J7')
  local trigger t=CreateTrigger()
  local integer S5I=GetHandleId(t)
  local real QWI=700
  local real RM2=GetUnitFacing(P7I)
  local real QXI=GetUnitX(P7I)
  local real QYI=GetUnitY(P7I)
  local real QJI=PTI(QXI+QWI*Cos(RM2*bj_DEGTORAD))
  local real QKI=PUI(QYI+QWI*Sin(RM2*bj_DEGTORAD))
  call AddPermanentAbility(P7I,'Amrf')
  call UnitRemoveAbility(P7I,'Amrf')
  call SetUnitPathing(P7I,false)
  call AddPermanentAbility(P7I,'A1J6')
  call TriggerRegisterTimerEvent(t,0.03,true)
  call TriggerAddCondition(t,Condition(function Y85))
  call SaveUnitHandle(HashData,(S5I),(2),(P7I))
  call SaveInteger(HashData,(S5I),(5),(SUI))
  call SaveReal(HashData,(S5I),(13),((RM2)*1.0))
  call SaveReal(HashData,(S5I),(189),((QXI)*1.0))
  call SaveReal(HashData,(S5I),(190),((QYI)*1.0))
  call SaveReal(HashData,(S5I),(47),((QJI)*1.0))
  call SaveReal(HashData,(S5I),(48),((QKI)*1.0))
  set P7I=null
  set t=null
endfunction

function YA5 takes nothing returns boolean
  if GetSpellAbilityId()=='A1J7' then
    call Y95()
  endif
  return false
endfunction

function R71 takes nothing returns nothing
  local trigger t=CreateTrigger()
  call UMI(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
  call TriggerAddCondition(t,Condition(function YA5))
  set t=null
endfunction
'A1J7' - pounce. осоновано на "Веерный бросок" ('AEfk' )
UMI - TriggerRegisterAnyUnitEventBJ
PTI - проверка на границу карты по оси X
PUI - проверка на границу карты по оси Y
AddPermanentAbility:
function AddPermanentAbility takes unit u, integer id returns nothing
call UnitAddAbility( u, id )
call UnitMakeAbilityPermanent( u, true, id )
endfunction
S0I - утилизация триггеров, можно заменить на DestroyTrigger()
SCI - установка некого флага на хендл юнита втечени N сек, подленное назначение неизвестно.
NTI - CreateGroup()
NSI - DestroyGroup()
QNI - DistanceBetweenCords - измеряет растояние, выведено из одноименной бж функции.
PONC - Эффект молнии, кастом, добавлен в LigthingData.slk
0
32
2 года назад
0

» WarCraft 3 / Прыжок сларка на гуи

Не-а, нету это во первых, во вторых я струдом представляю как ты сделаешь на гуи привезку.
с доты на jass могу кинуть код.
0
32
2 года назад
0

» WarCraft 3 / Как создать требования для юнитов в лагерях наемников?

Надо сделать дашер наёмников из магической лавки альянса (тот же набор абилок) и дать её союзнику игроков, тогда будут требования работать, как и в лавке на постройку замка.
3
32
2 года назад
3

» WarCraft 3 / Dash эффект

Lesnoi troll, эмм чувак, как бы тебе так сказать - "Сделай мне чтобы красиво было", можно изменить твой вопрос и сути это не изменит, причем не нужно ерничить и говорить что кто то непонимает как это, "красиво". Вопрос в другом, а как именно - этих "красиво" может быть сотни, потом тебе уже написали замечание - не приводить голословные примеры из других карт, если вы ссылаетесь на другую карту, известную игру, аниме или фильм - будье добры добавить пример, как тут допустим, где когда упоминается дота следом идет ссылка то на гифку, то на ютуб, то приложен сам контент из этой доты. Не все играют в доту, кто то играл в доту 10 лет назад, и уже не помнит внятно что там и как, что поменялось, вовсе есть дота 2 уже лет 10 как.
Потом а что есть форс стаф в общих чертах - ну это периодическое передвижение юнита по координатом, 2 раза написали тебе, не? Как бы разжёвывать на пальцах уже зашквар, ибо этой инфы на сайте уже девать некуда. Про все остальное ты даже не удосужился описать что именно ты не можешь сделать или не понимаешь, своих попыток, виденья устройства или что ты задумал сделать нет - ну офк а что мы должны думать? Так что внятно пиши че ты собрался делать, если ты увидел де то охеренный спелл, - прикрепляй инфу а не "погуглите доту" или " в наруто в серии 100500 чувак там такую хрень применил, и все сгорели" - ссылочку кидаешь, гифки + описание дословно.
0
32
2 года назад
0

» WarCraft 3 / Пара вопросов о действиях

rsfghd, не думаю, причем вопрос ну шибко уж общий, защита как пример явно, поэтому хотелось бы послушать что именно он хочет, вручение абилки весьма универсальный метод выдачи подобных бонусов.
4
32
2 года назад
4

» WarCraft 3 / Dash эффект

Lesnoi troll, и не собираюсь, т.к идет засорение поиска вопросами из серии "старо как дерьмо мамонта", как писать спеллы такого типа есть как древние статьи так и вполне современные.
Потом я что-то не вижу ни попыток не внятного вопроса, а намек на попрошайничество. Нормально даже сформулировать не соизволил что, как, зачем, что непонятно?
2
32
2 года назад
2

» WarCraft 3 / Dash эффект

Я вот не пойму ты совсем кодить не умеешь или не хочешь? Форст стафф ни что иное как переодическое перемещение юнита, таких наработок тонны.
Тут рассказывать про подобное зашквар, т.к описано в статьях для начинающих, если ты не умеешь вовсе - мб пойти поучится, или закажи себе спелл в наработках на заказ.
2
32
2 года назад
2

» WarCraft 3 / Герой приносит определённый предмет боевой единице...

Ну так в чем проблема, есть такое событие - юнит получает предмет...
2
32
2 года назад
2

» WarCraft 3 / Dash эффект

Руками...
0
32
2 года назад
0

» WarCraft 3 / Как прикрепить область к юниту?

Вредные советы подьехали, суть в том что никак, есть Rect а есть Region - это два разных хендла, вот есть действие двигать Rect а не Region, событие - юнит вошел в область, как раз работает на регион а не на ректы, суть такая создается регион в указанных координатах и с указанным размером, создается регион и добавляется в этот рект, на регион регистрируется событие в триггере, а рект уже можно двигать или удалять - это никак не отразится, к слову можно так же двигая ректы создать один большой регион сложной формы.
При этом все забыли про событие - Event Units in ragne, событие на конкретного юнита, сработает если в определенный радиус к нему войдет другой юнит.
0
32
2 года назад
Отредактирован quq_CCCP
0

» WarCraft 3 / Пара вопросов о действиях

Серьезно? Защиту менять, UnitAddAbilty( unit, ability ) - берешь предметную способность от кольца защиты, копируешь, ставишь бонус защиты +10 и вручаешь юниту триггерным действием, а когда нужно удаляешь действием UnitRemoveAbility...
Чтобы не задавать такие вопросы существует JASS__API
Ну и как бы самоучители что и как делать по картостроению тоже на сайте были.
0
32
2 года назад
Отредактирован quq_CCCP
0

» WarCraft 3 / наработка для ability draft (LoD) через "Технику"

Nifistofi, ну так вот, на любой версии можно просто добавить юниту технику 1 уровня, и абила поменяется, но этим можно не заниматся - ибо есть мемхак, функция SetAbilityIntoHeroList (или как то так), добавляет указанную абилку в список абилок героя (5 максимум), т.е можно изучать с нуля. Ну и отдельный список функций позволяет менять абилкам описание, хоткеи, иконки и прочее на лету, во время игры.
По этому не вижу особого смысла связыватся с техникой, в той же доте давно мемхак (LOD тоже DracoL1ch делает, ну по крайней мере делал пару, тройку лет назад )
0
32
2 года назад
0

» WarCraft 3 / Постоянный звук лопостей вертолёта

Там у юнита же есть в насткойках издавать звуки, а абилка только при касте издает такой звук.
0
32
2 года назад
0

» WarCraft 3 / наработка для ability draft (LoD) через "Технику"

А зачем делать уровни, если можно вручать по 1 абилке.
Насчет позиции иконок - ну либо делаем настройки абилки, или в как в доте у рубика все пустые слоты заткнуты абилками пустышками с черными иконками и удаляются по мере изучения нужных способностей, чтобы у способности не было другого места поместить иконку на карте комманд.
Ну а так уже давно доступен мемхак - там можно на лету менять абилки для изучения, и параметры самих абилок тоже менять.
0
32
2 года назад
0

» WarCraft 3 / Дизарм цели заклинания

Использовать вейты очень плохая идея, не говоря о том что ваш код не учитывает что на юнита этот дизарм могли несколько раз подряд наложить.
0
32
2 года назад
0

» WarCraft 3 / Таргетная абилка без стана со снарядом?

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