Можно в mdlvis попробовать оружие переложить, если не получится, то попробуй через сферу молнии ,т.е убрать у модели оружие и сделать оружия отдельными моделями. а потом дать в руки как сферы молнии .
Если разумеется есть нужные точки приложения?
Тогда здесь уже вопрос в другом. Как будет проигрываться анимация. Будет похожу на бару из доты))) в руке есть топор, но зачем. Светильник ведь эффективнее))
Это для тебя он обфусцированный. Человек который пишет код, помнит что и где находится. Ладно мозг таранить не буду, видно не найти ответа. Буду копать дальше, если найду ошибку отпишусь.
Ну во первых с чего ты взял что я стырил чужой код, да там есть системы но их я брал отсюда, люди же что старались для этого сюда их скидывают. Остальное все написал сам.
Вот
function Bomb_C takes nothing returns boolean
return GetSpellAbilityId()=='A01F'
endfunction
function Bomb_T takes nothing returns nothing
local timer t=GetExpiredTimer()
local integer id=GetHandleId(t)
local unit u=LoadUnitHandle(Hash,id,0)
local unit dummy=LoadUnitHandle(Hash,id,1)
local real ang=LoadReal(Hash,id,2)
local real dis=LoadReal(Hash,id,3)
local group g=null
local unit n=null
if dis>0 then
call SaveReal(Hash,id,3,dis-28)
call SetUnitX(dummy,GetUnitX(dummy)+28*Cos(ang))
call SetUnitY(dummy,GetUnitY(dummy)+28*Sin(ang))
if dis<=LoadReal(Hash,id,4) then
call UnitAddAbility(dummy,'Arav')
call UnitRemoveAbility(dummy,'Arav')
call SetUnitFlyHeight(dummy,0,LoadReal(Hash,id,4))
endif
else
call DestroyTimer(t)
call FlushChildHashtable(Hash,id)
call KillUnit(dummy)
call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl",GetUnitX(dummy),GetUnitY(dummy)))
set g=CreateGroup()
call GroupEnumUnitsInRange(g,GetUnitX(dummy),GetUnitY(dummy),250,null)
loop
set n=FirstOfGroup(g)
exitwhen n==null
call GroupRemoveUnit(g,n)
if GetWidgetLife(n)>0.405 and IsUnitEnemy(n,GetOwningPlayer(u)) then
call UnitDamageTargetEx(u,n,100+50*GetUnitAbilityLevel(u,'ANcs'),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,null)
call Unit_Stun(n,0.75+0.25*GetUnitAbilityLevel(u,'ANcs'))
endif
endloop
call DestroyGroup(g)
endif
set t=null
set u=null
set dummy=null
set g=null
set n=null
endfunction
function Bomb_A takes nothing returns nothing
local unit u=GetTriggerUnit()
local real xu=GetUnitX(u)
local real yu=GetUnitY(u)
local real x=GetSpellTargetX()
local real y=GetSpellTargetY()
local real dx=x-xu
local real dy=y-yu
local real ang=Atan2(dy,dx)
local real dis=SquareRoot(dx*dx+dy*dy)
local unit dummy=CreateUnit(GetOwningPlayer(u),'d003',xu,yu,ang*bj_RADTODEG)
local timer t=CreateTimer()
local integer id=GetHandleId(t)
call UnitAddAbility(dummy,'Arav')
call UnitRemoveAbility(dummy,'Arav')
call SetUnitFlyHeight(dummy,dis*0.4,dis/2)
call SaveUnitHandle(Hash,id,0,u)
call SaveUnitHandle(Hash,id,1,dummy)
call SaveReal(Hash,id,2,ang)
call SaveReal(Hash,id,3,dis)
call SaveReal(Hash,id,4,dis/2)
call TimerStart(t,0.04,true,function Bomb_T)
set u=null
set dummy=null
set t=null
endfunction
function InitTrig_Bomb takes nothing returns nothing
local trigger t=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(t,Condition(function Bomb_C))
call TriggerAddAction(t,function Bomb_A)
set t=null
endfunction
Кстати ребят а может быть портак из за импорта?, ну т.е. путь к эффектам у меня Effects\ юниты Units\ и здания Buildings\
l_Avenger_l, то есть вне зависимости от того кто хост а кто 2 игрок у второго игрока этот баг?
да/нет ?
да, в общем еще проверял, у второго игрока спецэффекты не создаются (DestroyEffect(AddSpecialEffect())), когда в то время у хоста все нормально воспроизводиться и удаляется. При покупке железного голема, у хоста идет анимация birth, когда второй игрок покупает голема, то он просто создается без анимации.
Сколько работаю над картой да и вообще с вариком, первый раз такое.
l_Avenger_l, проблема у любого второго игрока или только у твоего друга?
если хост твой друг а ты 2 игрок то эта проблема возникает у тебя а не у друга?
если да то кидай j файл
если нет то пусть твой друг сменит вар/операционку/комп/провайдера/место жительства/пол/...
и мне тут стало интересно как ты мог отключить весь код в карте
если без кода карту даже хоставать нельзя триггеры лишь часть кода карты
Я не имел ввиду не весь код карты, я имел ввиду именно мои триггеры (системы, спеллы и тд). Кстати на работе проверил, тут тоже компов хватает, проблема осталась.
Мне просто стало интересно, чего вдруг, до этого все было ок. Еще была мысль, что файл карты немного покоцан, потому что постоянно его с собой таскаю, то дома то на работе редактирую)
Смысл скидывать код если этот код отключен?, да и потом это обычное заклинание которое двигает даммика вперед определенное расстояние, регулируя высоту.
Просто несколько спеллов юзал, все косячат именно у второго игрока но не у хоста. У хоста эффект создается и проигрывается то у второго игрока он не появляется как будто не создается.
Думаю мб какие файлы повреждены в карте...
Вариант 1 - делать через продажу предметов эпично выглядящий кастомный скилл. Вариант 2 - сбрасывать кулдауны, но это требует удаления остальных абилок на это время и вообще довольно геморно. Вариант 3 - идти другими путями, вроде абилки с кд 0
Можешь через условие проверять сколько раз использовался спелл,если один раз, то после завершения приминения способности, удаляешь и снова добавляешь текущую способность для триггер юнита, иначе устанавливаешь значение на 0
Т.е. нужно целое число, куда будешь плюсовать единицу, после каждого приминения.
Если тебе нужно чтобы каждый заряд восполнчлся каждые 10 секунд, то делай как в доте первая у снайпа
Насколько я помню у него способность выключатель, 1 раз кликнул скилл включился, второй раз кликнул выключился - нужно чтобы если юнит в "бою" (вероятно автор имеет виду что юнит получат урон и способность блокируется, как даггер в доте)
Нужно не дать юниту включить эту способность пока он в "Бою", я предложил требования - иконка способности затемняется, как будто скилл под сайленсом но кулдаун никуда не девается.
Тогда будет писать Требование и имя даммика. Хотя можно еще блокировать способность и давать пассивку пустышку,затем отсчитывать 5 секунд,удалять пассивку пустышку и разблокировать скилл
nvc123:
трупов может быть много и разных видов
применение поднятия мертвых можно нацелить на труп триггерно?
Не нужно наводить на труп, а создавать дамми в позиции умершего юнита, у самой способности сделать область 20, и тогда получиться так что дамми будет воскрешать того юнита, над которым стоит
В общем нужно:
4 способности (предмет: увеличение маны).
1 способность - 1-9
2 способность - 10-99
3 способность - 100-999
4 способность - 1000-9999
Переменная типа "юнит" желательно массив (если несколько игроков)
Далее два события:
Игрок выбирает юнита - заносим этого юнита в переменную, номер массива ставишь индекс игрока.
Затем, игрок написал сообщение в чат == мана 1000, ловишь подстроку, переводишь в целочисленную
И добавляешь способность юниту, сравнивая значение строки.
Проблему решил. Кому интересно, использую формулу: speed=((distance*0.04)*duration)*4 - это начальная скорость движения и dec=(speed*0.04)/duration - это значение понижающая переменную speed.
Проблему решил. Кому интересно, использую формулу: speed=((distance*0.04)*duration)*4 - это начальная скорость движения и dec=(speed*0.04)/duration - это значение понижающая переменную speed.
» WarCraft 3 / Зеркальное отображение модели
» WarCraft 3 / Отключение чата
» WarCraft 3 / Странное поведение у союзного героя
» WarCraft 3 / Юнит не хочет взлетать
» WarCraft 3 / Странное поведение у союзного героя
» WarCraft 3 / Странное поведение у союзного героя
» WarCraft 3 / Странное поведение у союзного героя
Ред. l_Avenger_l
» WarCraft 3 / Странное поведение у союзного героя
function Bomb_C takes nothing returns boolean
return GetSpellAbilityId()=='A01F'
endfunction
local timer t=GetExpiredTimer()
local integer id=GetHandleId(t)
local unit u=LoadUnitHandle(Hash,id,0)
local unit dummy=LoadUnitHandle(Hash,id,1)
local real ang=LoadReal(Hash,id,2)
local real dis=LoadReal(Hash,id,3)
local group g=null
local unit n=null
if dis>0 then
call SaveReal(Hash,id,3,dis-28)
call SetUnitX(dummy,GetUnitX(dummy)+28*Cos(ang))
call SetUnitY(dummy,GetUnitY(dummy)+28*Sin(ang))
if dis<=LoadReal(Hash,id,4) then
call UnitAddAbility(dummy,'Arav')
call UnitRemoveAbility(dummy,'Arav')
call SetUnitFlyHeight(dummy,0,LoadReal(Hash,id,4))
endif
else
call DestroyTimer(t)
call FlushChildHashtable(Hash,id)
call KillUnit(dummy)
call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl",GetUnitX(dummy),GetUnitY(dummy)))
set g=CreateGroup()
call GroupEnumUnitsInRange(g,GetUnitX(dummy),GetUnitY(dummy),250,null)
loop
set n=FirstOfGroup(g)
exitwhen n==null
call GroupRemoveUnit(g,n)
if GetWidgetLife(n)>0.405 and IsUnitEnemy(n,GetOwningPlayer(u)) then
call UnitDamageTargetEx(u,n,100+50*GetUnitAbilityLevel(u,'ANcs'),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,null)
call Unit_Stun(n,0.75+0.25*GetUnitAbilityLevel(u,'ANcs'))
endif
endloop
call DestroyGroup(g)
endif
set t=null
set u=null
set dummy=null
set g=null
set n=null
endfunction
local unit u=GetTriggerUnit()
local real xu=GetUnitX(u)
local real yu=GetUnitY(u)
local real x=GetSpellTargetX()
local real y=GetSpellTargetY()
local real dx=x-xu
local real dy=y-yu
local real ang=Atan2(dy,dx)
local real dis=SquareRoot(dx*dx+dy*dy)
local unit dummy=CreateUnit(GetOwningPlayer(u),'d003',xu,yu,ang*bj_RADTODEG)
local timer t=CreateTimer()
local integer id=GetHandleId(t)
call UnitAddAbility(dummy,'Arav')
call UnitRemoveAbility(dummy,'Arav')
call SetUnitFlyHeight(dummy,dis*0.4,dis/2)
call SaveUnitHandle(Hash,id,0,u)
call SaveUnitHandle(Hash,id,1,dummy)
call SaveReal(Hash,id,2,ang)
call SaveReal(Hash,id,3,dis)
call SaveReal(Hash,id,4,dis/2)
call TimerStart(t,0.04,true,function Bomb_T)
set u=null
set dummy=null
set t=null
endfunction
local trigger t=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(t,Condition(function Bomb_C))
call TriggerAddAction(t,function Bomb_A)
set t=null
endfunction
Кстати ребят а может быть портак из за импорта?, ну т.е. путь к эффектам у меня Effects\ юниты Units\ и здания Buildings\
» WarCraft 3 / Странное поведение у союзного героя
Ред. l_Avenger_l
» WarCraft 3 / Странное поведение у союзного героя
Сколько работаю над картой да и вообще с вариком, первый раз такое.
Ред. l_Avenger_l
» WarCraft 3 / Странное поведение у союзного героя
Мне просто стало интересно, чего вдруг, до этого все было ок. Еще была мысль, что файл карты немного покоцан, потому что постоянно его с собой таскаю, то дома то на работе редактирую)
Ред. l_Avenger_l
» WarCraft 3 / Странное поведение у союзного героя
Просто несколько спеллов юзал, все косячат именно у второго игрока но не у хоста. У хоста эффект создается и проигрывается то у второго игрока он не появляется как будто не создается.
Думаю мб какие файлы повреждены в карте...
» WarCraft 3 / Странное поведение у союзного героя
» WarCraft 3 / Как сделать стаки способностей?
Т.е. нужно целое число, куда будешь плюсовать единицу, после каждого приминения.
Если тебе нужно чтобы каждый заряд восполнчлся каждые 10 секунд, то делай как в доте первая у снайпа
» WarCraft 3 / Юнит становится неуязвимым вместо поглощения урона.
Юзай систему урона,поиск в помощь
» WarCraft 3 / Как отключить способность
» The Elder Scrolls / Переиздание Skyrim
» WarCraft 3 / Включение "Жара"
Условие: OrderId=="immolation" or "unimmolation"
Ред. l_Avenger_l
» WarCraft 3 / Помощь с некромантами
Ред. l_Avenger_l
» WarCraft 3 / Добавление маны юниту
4 способности (предмет: увеличение маны).
1 способность - 1-9
2 способность - 10-99
3 способность - 100-999
4 способность - 1000-9999
Переменная типа "юнит" желательно массив (если несколько игроков)
Далее два события:
Игрок выбирает юнита - заносим этого юнита в переменную, номер массива ставишь индекс игрока.
Затем, игрок написал сообщение в чат == мана 1000, ловишь подстроку, переводишь в целочисленную
И добавляешь способность юниту, сравнивая значение строки.
» WarCraft 3 / Как включить отображение иконки?
» WarCraft 3 / Knockback: формула
» WarCraft 3 / Knockback: формула
» WarCraft 3 / редактор объектов
» WarCraft 3 / Боевой голем-статуя
А так же менять цвет.