Создать в РО способность
Пробовал в РО создать способность, которая просто наносит урон и имеет анимацию дистанционной атаки, но она либо накладывает стан, если на основе Молота Бурь, либо отравляет, если на основе Отравленного Кинжала. А если основа Перст Смерти, то анимация дистанционной атаки не видна. Может я что-то не так сделал просто, и создать в РО описанную способность возможно?

Лучший ответ:
еще можно кислотной бомбой алхимика
у нежити есть death coil
огненная стрела (авто-каст)
у медузы есть разветвленная молния (мб можно настроить)
еще есть паразит



Просмотров: 482

XGM Bot #1 - 4 месяца назад 0
Похожие вопросы:

» ответ
Можно сделать столько категорий:
  1. Стандартные - Альянс - Сражение - Войска
  2. Стандартные - Альянс - Сражение - Герои
  3. Стандартные - Альянс - Сражение - Особые Войска
  4. Стандартные - Альянс - Кампания - Войска
  5. Стандартные - Альянс - Кампания - Герои
  6. Стандартные - Альянс - Кампания - Особые Войска
7..12) Орда
13..18) Нежить
19..24) Ночные Эльфы
25..30) Наги
И еще 31-60) Для нестандартных
+ суффикс редактора = очень много.
Хотя например для своей карты я сделал так: имена юнитов / заклинаний начинаются на категорию а дальше идет имя самого юнита. Например:
Защитные - Воин
Защитные - Лучник
Нападающие - Воин
Нападающие - Лучник
А по изменению редактора...
Теоретически тебе надо взять исходники редактора (JNGP например) и написать плагин/модуль который:
  1. меняет структуру файла карты - новые папки добавляет (открываться будет только в твоем редакторе)
  2. добавляет на UI соответствующие кнопки / окошки ввода
Либо вариация предыдущего - поменять алгоритм сортировки в редакторе - чтобы сортировалось в первую очередь по суффиксу редактора, а потом уже по имени. Намного проще, если иметь исходник.
У них похожие здачи были (с дополнением JNGP):
погляди Grimoire
» ответ
bladget, скорее всего (если у тебя Vista или W7 стоит), в старой папки остались "файлы совместимости", которые не удаляются просто так. В WoO много всякого мусора было...
» ответ
igor_razor, дай своему "ополченцу" способность "к оружию (работник)" и не будет фатала)

ssbbssc #2 - 4 месяца назад 0

еще можно кислотной бомбой алхимика
у нежити есть death coil
огненная стрела (авто-каст)
у медузы есть разветвленная молния (мб можно настроить)
еще есть паразит
DracoL1ch #3 - 4 месяца назад 0
у всех есть какой-либо нежелательный эффект. и ни одна абилка друг с другом не стакается, о чем тоже следует помнить при выборе основы
quq_CCCP #4 - 4 месяца назад 0
Ну делать как делал я, способность на основе кислотной бомбы и триггер ждущий урон.,
Dragonear #5 - 4 месяца назад 1
Делаете дамми юнита с анимацией снаряда, какой вы хотите. При касте спелла, создать дамми юнита в точке кастера, а приказать ему один раз атаковать в точку каста. Триггерно просчитать время, через которое снаряд долетит в точку каста = Дистанция / Скорость снаряда. Потом триггерно нанести урон через указанное время по точке каста. Все переменные и дамми юнита очистить.
8gabriel8 #6 - 4 месяца назад 2
Dragonear, это триггерный костыль, мне интересно сделать в РО.
FrigatPlay #7 - 4 месяца назад 0
8gabriel8, А поставить например стан или какой то там дебаф значением на ноль не подходит.
8gabriel8 #8 - 4 месяца назад 2
FrigatPlay, если ставить 0, то в игре станит по умолчанию, если не дольше.
not_name #9 - 4 месяца назад 0
чем тебя лик смерти не устраивает ,,,??
quq_CCCP #10 - 4 месяца назад 2
not_name:
чем тебя лик смерти не устраивает ,,,??
Укажите союзную нежить или вражеское живое существо....
not_name #11 - 4 месяца назад (отредактировано ) 0
там траблы только с нежитью
в карте по и иде вобще может и небыть нежити
ClotPh #12 - 4 месяца назад (отредактировано ) 0
not_name, а может и быть
по сабжу - не вижу большой беды в том, чтобы смириться с эффектом микростана, не помню, правда, мб он собьёт текущий стан с таким же баффом или вообще с любым, но это можно считать фичей
not_name #13 - 4 месяца назад 0
делай тригерный снаряд миллион способов его сделать
8gabriel8 #14 - 4 месяца назад 2
not_name:
там траблы только с нежитью
в карте по и иде вобще может и небыть нежити
Её много.
ClotPh:
not_name, а может и быть
по сабжу - не вижу большой беды в том, чтобы смириться с эффектом микростана, не помню, правда, мб он собьёт текущий стан с таким же баффом или вообще с любым, но это можно считать фичей
Пока занят немного иным, но попробую поразбираться. Вроде как у одной способности на основе молотка не было стана, может просто сбивался эффект другим.
not_name:
делай тригерный снаряд миллион способов его сделать
Хочу без триггеров.
bazeba #15 - 4 месяца назад 0
можно я вмешаюсь? скажите пожалуйста в компании можно использовать триггерные заклинания? Чтобы кампания не ломалась и подобное. Мы просто вместе работаем.
quq_CCCP #16 - 4 месяца назад 0
bazeba, конечно можно, кампании точно такие же карты, там точно такой же язык сценариев и прочее, но т.к карты кампании сидят в одном архиве то в этом есть как плюсы так и минусы, поизучайте кампании близзардов, а именно ии и pld скрипты.
Steal nerves #17 - 4 месяца назад (отредактировано ) 0
Микростан может приказ сбивать (если куда-то бежал, потом остановится), позицию, сбрасывает цель атаки и может направитт на кого-то другого свою агрессию и прочее. Короче тупит. Разве не так? МБ кислотную бомбу и др абилки юзать как советовали
quq_CCCP #18 - 4 месяца назад 0
Steal nerves, нет, не сбивает он приказ идти куда либо, а вот чаннелинг спеллы может сбить. Это все сбивает какраз пауза.
Steal nerves #19 - 4 месяца назад 0
quq_CCCP, чаннелинг спелы это какие спелы?
quq_CCCP #20 - 4 месяца назад 0
То что нужно кастовать стоя неподвижно, всякие бураны, высасывание жизни.
Naadir #21 - 4 месяца назад 0
Единственный вариант - acidbomb с минимальной длительностью и мнгновенным уроном.
Других таких стандартных спеллов нет.
Naadir #22 - 4 месяца назад 0
Ну типа там длительность 0.03, а урон каждые 0.02 секунды. Тогда сработает ровно 1 раз.
pro100master #23 - 4 месяца назад 0
Вот простой jass снаряд без стана оптимальный код
globals
constant integer c_HolyBoltMissile_Ability_ID='AIfz'    //RAW код способности, что нужно использовать.
constant integer c_HolyBoltMissile_Dummy_ID='u000'      //RAW код пустышки, что имеет модель снаряда.

constant real c_HolyBoltMissile_Interval=.03125         //Интервал полета снаряда. 1 \ 0.03125 = 32 кадра в сек.
constant real c_HolyBoltMissile_MissileSpeed_Base=1000.  //Скорость снаряда базовая, кол-во проходимой дистанции в 1 сек.

//Если неуверены, что меняем, то код что ниже не советую трогать.
timer HolyBoltMissile__TIMER=CreateTimer()
integer HolyBoltMissile__MAX=0
unit array HolyBoltMissile__CASTER
unit array HolyBoltMissile__TARGET
unit array HolyBoltMissile__DUMMY
real array HolyBoltMissile__HEAL
real array HolyBoltMissile__MS
endglobals

function HolyBoltMissile_Periodic takes nothing returns nothing
local integer i=0
local real dist
local real x
local real y
local real xt
local real yt
local real rad
loop
exitwhen i==HolyBoltMissile__MAX
    set x=GetUnitX(HolyBoltMissile__DUMMY[i])
    set xt=GetUnitX(HolyBoltMissile__TARGET[i])
    set y=GetUnitY(HolyBoltMissile__DUMMY[i])
    set yt=GetUnitY(HolyBoltMissile__TARGET[i])
    set dist=SquareRoot((xt-x)*(xt-x)+(yt-y)*(yt-y))
    if dist>HolyBoltMissile__MS[i] then
        set rad=Atan2(yt-y, xt-x)
        call SetUnitX(HolyBoltMissile__DUMMY[i],x+HolyBoltMissile__MS[i]*Cos(rad))
        call SetUnitY(HolyBoltMissile__DUMMY[i],y+HolyBoltMissile__MS[i]*Sin(rad))
        call SetUnitFacing(HolyBoltMissile__DUMMY[i],rad*bj_RADTODEG)
    else
        call KillUnit(HolyBoltMissile__DUMMY[i])
        
        call UnitDamageTarget(HolyBoltMissile__CASTER[i], HolyBoltMissile__TARGET[i], HolyBoltMissile__HEAL[i], true, false, ATTACK_TYPE_NORMAL, null, null)
        call ConditionalTriggerExecute( udg_ClearDamageEvent )
        
        set HolyBoltMissile__MAX=HolyBoltMissile__MAX-1
        
        set HolyBoltMissile__CASTER[i]=HolyBoltMissile__CASTER[HolyBoltMissile__MAX]
        set HolyBoltMissile__TARGET[i]=HolyBoltMissile__TARGET[HolyBoltMissile__MAX]
        set HolyBoltMissile__DUMMY[i]=HolyBoltMissile__DUMMY[HolyBoltMissile__MAX]
        set HolyBoltMissile__HEAL[i]=HolyBoltMissile__HEAL[HolyBoltMissile__MAX]
        set HolyBoltMissile__MS[i]=HolyBoltMissile__MS[HolyBoltMissile__MAX]
        
        set HolyBoltMissile__CASTER[HolyBoltMissile__MAX]=null
        set HolyBoltMissile__TARGET[HolyBoltMissile__MAX]=null
        set HolyBoltMissile__DUMMY[HolyBoltMissile__MAX]=null
        set HolyBoltMissile__HEAL[HolyBoltMissile__MAX]=.0
        set HolyBoltMissile__MS[HolyBoltMissile__MAX]=.0
        
        set i=i-1
        if HolyBoltMissile__MAX==0 then
            call PauseTimer(HolyBoltMissile__TIMER)
        endif
    endif
set i=i+1
endloop
endfunction

function HolyBoltMissile_Cast takes nothing returns boolean
local boolean b=(GetSpellAbilityId()==c_HolyBoltMissile_Ability_ID)
local player p=GetOwningPlayer(GetTriggerUnit())
local real x=GetUnitX(GetTriggerUnit())
local real y=GetUnitY(GetTriggerUnit())
local real xt=GetUnitX(GetSpellTargetUnit())
local real yt=GetUnitY(GetSpellTargetUnit())
local real deg=Atan2(yt-y, xt-x)*bj_RADTODEG
if b then
    if HolyBoltMissile__MAX==0 then
        call TimerStart(HolyBoltMissile__TIMER,c_HolyBoltMissile_Interval,true,function HolyBoltMissile_Periodic)
    endif
    set HolyBoltMissile__CASTER[HolyBoltMissile__MAX]=GetTriggerUnit()
    set HolyBoltMissile__TARGET[HolyBoltMissile__MAX]=GetSpellTargetUnit()
    set HolyBoltMissile__DUMMY[HolyBoltMissile__MAX]=CreateUnit(p,c_HolyBoltMissile_Dummy_ID,x,y,deg)
    call SetUnitAnimation(HolyBoltMissile__DUMMY[HolyBoltMissile__MAX],"birth")
    call QueueUnitAnimation(HolyBoltMissile__DUMMY[HolyBoltMissile__MAX],"stand")
    set HolyBoltMissile__HEAL[HolyBoltMissile__MAX]= RPGCharacter[GetTriggerUnit()].stats[RPG_STAT_DAMAGE_PHYSICAL] * 1.90
    set HolyBoltMissile__MS[HolyBoltMissile__MAX]=1000*c_HolyBoltMissile_Interval
    set HolyBoltMissile__MAX=HolyBoltMissile__MAX+1
endif
set p=null
return b
endfunction

//===========================================================================
function InitTrig_HolyBoltMissile takes nothing returns nothing
local trigger t = CreateTrigger()
local unit u=CreateUnit(Player(15),c_HolyBoltMissile_Dummy_ID,0,0,0)
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(t,Condition( function HolyBoltMissile_Cast ))
call RemoveUnit(u)
set u=null
set t=null
endfunction