32

» WarCraft 3 / Орк-магичка

PUVer, ну уже есть карта Геи Vs Натуралов, правда ей лет 20 уже. Ну 50 лайков будет, задумаюсь, если автор поможет с моделями - сделаю карту с игровыми роликами, 18+ контентом, в жанре TAG или дефенс.
32

» WarCraft 3 / Орк-магичка

PUVer, видел эту карту, думаю сделать "ZOO TAG" про охоту меньшинств на лесных зверушек, посмотрим скольким зайдет.
32

» WarCraft 3 / Орк-магичка

Давайте уж карту замутим если авторы будут дальше радовать такими моделями, вон образец есть, можно еще что-нить такое придумать...
32

» WarCraft 3 / GetClosestDestructable

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

» WarCraft 3 / Орк-магичка

Толерантность подъехала...
Ага лгбт орки, жаль одна карта уже давно забыта на эту тему.
32

» WarCraft 3 / Функция Анимации

Centyrion, каким образом протестировали? Вейт не точен, эти неточности накапливаются за время игры, и в один прекрасный момент чувака десинхает.
32

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

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

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

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

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

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

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

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

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

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

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

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

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

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

» WarCraft 3 / крафт

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

» 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
32

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

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

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

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

» WarCraft 3 / Dash эффект

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

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

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

» WarCraft 3 / Dash эффект

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

» WarCraft 3 / Dash эффект

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

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

Принятый ответ
Ну так в чем проблема, есть такое событие - юнит получает предмет...