Добавлен , не публикуется
Я сделал наработку Ассасина. Присутствуют 3 способности.Все сделано на Обычных триггерах.Легко настраивается.Есть иконки всех способностей и модель перса,но его иконка отсутствует.
Описание способностей:1)Искуство Ассасинов(пассивная) - в ночь игрового времени герой становится невидимым,если во время невидимости ударить врага герой нанесёт несколько молниеносных ударов нанеся урон,а через некоторое время снова станет невидимым.
2)Резка клинками(на цель) - герой производит большую серию ударов по врагу с разных сторон нанося незначительный урон,после чего резко проходит через врага и останавливается на короткое время при этом нанеся огромный урон.
3)Скоростные атаки(на область вокруг себя) - герой с молниеносной скоростью перемещается в случайные точки областью в 650 от позиции начала способности нанося урон всем вокруг.
P.S. Если у некоторых не открывается через World Editor то воспользуйтесь JNGP(Jass New Gen Pack 5d exp2) так как я делал все через эту программу и в некоторых версиях WE карта может не открыться.
Перезалито в Jass версии 23.07.2013
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
28
11 лет назад
0
пока переводи гуи в джасс и правь его(убирай бж,лишние действия,юзай локалки)
потом со временем ты выучиш функции и сможеш писать на прямую
и да,арефметические действия лучше на джасс писать
там чтобы понять надо просто выучить названия функций
и да лучше используй не location(точка) а X/Y(координаты)
ибо у тебя в твоих скилах точки не удаляется,тоесть при частом юзе скила будут лаги
0
6
11 лет назад
Отредактирован Gnusik
0
nvc123:
пока переводи гуи в джасс и правь его(убирай бж,лишние действия,юзай локалки)
потом со временем ты выучиш функции и сможеш писать на прямую
и да,арефметические действия лучше на джасс писать
там чтобы понять надо просто выучить названия функций
и да лучше используй не location(точка) а X/Y(координаты)
ибо у тебя в твоих скилах точки не удаляется,тоесть при частом юзе скила будут лаги
в принципе я уже почти разобрался и могу по строчкам 65% примерно нужного читать.и вот вопрос как заменить бж нативками?Ну в смысле пример приведи или скинь статью.А то в оптимизе я не нашел ничего путного
В скором времени планирую пак из 3 пассивок на Jass' е выложить.Я их давно сделал на GUI.Вот и практика как раз будет по оптимизу.
1
28
11 лет назад
1
jngp скачай
там бж выделены красным а нативки синим
зажимаеш контрл и лкм на бж - появются её внутрености(тоесть то из чего она состоит,как правило это нативки и локалки)
пример кинуть немогу так как редактора нету
а бж я непомню
нативки часть помню,а бж нет
0
6
11 лет назад
Отредактирован Gnusik
0
nvc123:
jngp скачай
там бж выделены красным а нативки синим
зажимаеш контрл и лкм на бж - появются её внутрености(тоесть то из чего она состоит,как правило это нативки и локалки)
пример кинуть немогу так как редактора нету
а бж я непомню
нативки часть помню,а бж нет
JNGP у меня есть,я об этом в описании писал писал.ну я понял что бж красные и если ctrl+left_mouse содержимое.но что дальше то?
nvc123:
я исправил 3 бж переменные,но что делать с спецэффектом и созданием юнита???
Sargaraser:
Gnusik, ну что не понятно, спрашивай прям тут создадим гайд лол только вопросы делай комплексные и не по пустякам, а если плохо доходит то мб не твое
Можешь подсказать как избавится от BJ.Типа LastCreatedUnit,PolarProjectionBJ и IssuePointOrderLocBJ?
Ниже способность на Jass' e.Можешь подсказать как исправить BJ?
Хотя бы некоторые для примера.

function Trig_Dark_Wave_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetAttacker(), 'BOac') == true ) ) then
return false
endif
return true
endfunction
function Trig_Dark_Wave_Func003C takes nothing returns boolean
if ( not ( GetRandomReal(1.00, 10.00) <= 4.00 ) ) then
return false
endif
return true
endfunction
function Trig_Dark_Wave_Actions takes nothing returns nothing
set udg_Attacker[1] = GetOrderedUnit()
set udg_Cell_Attack[1] = GetOrderTargetUnit()
if ( Trig_Dark_Wave_Func003C() ) then
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call CreateNUnitsAtLocFacingLocBJ( 1, 'dumm', GetOwningPlayer(udg_Attacker[1]), PolarProjectionBJ(GetUnitLoc(udg_Cell_Attack[1]), 150.00, ( 60.00 * udg_r )), GetUnitLoc(udg_Cell_Attack[1]) )
set udg_i = ( udg_i + 1 )
set udg_r = ( udg_r + 1 )
set udg_dummy[udg_i] = GetLastCreatedUnit()
call IssuePointOrderLocBJ( udg_dummy[udg_i], "shockwave", GetUnitLoc(udg_Cell_Attack[1]) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
endif
call TriggerSleepAction( 0.50 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call RemoveUnit( udg_dummy[udg_i] )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
===========================================================================
function InitTrig_Dark_Wave takes nothing returns nothing
set gg_trg_Dark_Wave = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dark_Wave, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_Dark_Wave, Condition( function Trig_Dark_Wave_Conditions ) )
call TriggerAddAction( gg_trg_Dark_Wave, function Trig_Dark_Wave_Actions )
endfunction
1
28
11 лет назад
1
ну например замени
function Trig_Dark_Wave_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetAttacker(), 'BOac') == true ) ) then
return false
endif
return true
endfunction
на
function Trig_Dark_Wave_Conditions takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(),'BOac')>0
endfunction
это заменить
function Trig_Dark_Wave_Actions takes nothing returns nothing
set udg_Attacker[1] = GetOrderedUnit()
set udg_Cell_Attack[1] = GetOrderTargetUnit()
if ( Trig_Dark_Wave_Func003C() ) then
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call CreateNUnitsAtLocFacingLocBJ( 1, 'dumm', GetOwningPlayer(udg_Attacker[1]), PolarProjectionBJ(GetUnitLoc(udg_Cell_Attack[1]), 150.00, ( 60.00 * udg_r )), GetUnitLoc(udg_Cell_Attack[1]) )
set udg_i = ( udg_i + 1 )
set udg_r = ( udg_r + 1 )
set udg_dummy[udg_i] = GetLastCreatedUnit()
call IssuePointOrderLocBJ( udg_dummy[udg_i], "shockwave", GetUnitLoc(udg_Cell_Attack[1]) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
endif
call TriggerSleepAction( 0.50 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call RemoveUnit( udg_dummy[udg_i] )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
частично оптимизировал,остальное лень
function Trig_Dark_Wave_Actions takes nothing returns nothing
local integer a=10
local integer b
local unit d=GetOrderedUnit()
local unit e=GetOrderTargetUnit()
if GetRandomReal(1.00,10.00)<=4.00 then
loop
exitwhen 1> a
call CreateNUnitsAtLocFacingLocBJ( 1, 'dumm', GetOwningPlayer(d), PolarProjectionBJ(GetUnitLoc(e), 150.00, ( 60.00 * udg_r )), GetUnitLoc(e) )
set udg_i = ( udg_i + 1 )
set udg_r = ( udg_r + 1 )
set b=udg_i
set udg_dummy[b] = GetLastCreatedUnit()
call IssuePointOrderLocBJ( udg_dummy[b], "shockwave", GetUnitLoc(e) )
set a=a-1
endloop
else
endif
call TriggerSleepAction( 0.50 )
set a=10
loop
exitwhen 1>a
call RemoveUnit( udg_dummy[udg_i] )
set a=a-1
endloop
endfunction
код под кат суй и выделяй что это код xgm.ru/p/help/txt2
был бы редактор оптимизировал бы всё
если хочеш жди до 31 когда буду дома
0
6
11 лет назад
0
nvc123, Спс огромное,я в JNGP посмотрю все исправления.После 31 можешь мне в скайпе показать как оптимиз делать для каждого вида(Боевая ед-ца,Спец-кт и т.д.) по 1 примеру?
nvc123, Ну чтобы своими глазами увидеть как говорят.Буду благодарен.
0
28
11 лет назад
0
скайпа нет и небудет
как и соц сетей,есть xgm есть гарена и всё
0
6
11 лет назад
0
nvc123:
скайпа нет и небудет
как и соц сетей,есть xgm есть гарена и всё
гарена талк устроит?
0
28
11 лет назад
0
просто гарена плюс без талк
а вобще либо пиши сюда либо в Q/A
0
6
11 лет назад
0
nvc123:
просто гарена плюс без талк
а вобще либо пиши сюда либо в Q/A
это как у тебя гарена плюс без талк?вроде если не зделать больше 10 обнов гарена не пашет.
да и вот что ещё у меня в карте(которая в этой теме)скилл Искусство Ассасина не пашет в обычном WE а в jngp пашет.Почему?
0
28
11 лет назад
0
в джнгп есть много доп функций которых нету в обычном ве
талка нету и в платном вай фай сижу бесплатно
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.