XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Исправьте код
((код jass
scope SpellAstral initializer Init
private function Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A04D'
endfunction
private function Actions takes nothing returns nothing
local unit u= GetSpellAbilityUnit()
local real x=GetUnitX(u)
local real y=GetUnitY(u)
local unit LCU
call SetUnitVertexColorBJ( u, 10.00, 10.00, 10.00, 50.00 )
call CreateUnit(GetOwningPlayer(u),'h007',x,y,270.0)
set LCU=GetLastCreatedUnit()
call IssueTargetOrder( LCU, "banish", u )
call UnitApplyTimedLife(LCU,'BTLF',1.00)
set x = 0.00
set y=0.00
set u=null
set LCU=null
endfunction
private function Init takes nothing returns nothing
local trigger trg=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( trg, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( trg, Condition( function Conditions ) )
call TriggerAddAction( trg, function Actions )
endfunction
endscope
))
[+] замечание от Nerevar: 4.1.1 (бессмысленное сообщение)
Старый 12.05.2012, 13:51
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
local unit LCU = CreateUnit(GetOwningPlayer(u),'h007',x,y,270.0) 
(можно сразу подставить зачем лишнее действие?)
SetUnitVertexColor(u, 10.00, 10.00, 10.00, 50.00 )
Старый 12.05.2012, 13:56
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
1.Что конкретно не работает?
2.Как должно работать?
3.Сохраняется ли?
4.Где отладочные сообщения и свои мысли насчет ошибок?
экстрасенсы уже вылетели
Старый 12.05.2012, 14:08
Klop
Папа римский
offline
Опыт: 13,006
Активность:
NIKZ:
set LCU=GetLastCreatedUnit()
нет такой функции
LCU = CreateUnit(GetOwningPlayer(u),'h007',x,y,270.0) 
это не триггеры
Старый 12.05.2012, 14:18
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Cosonic5,
SetUnitVertexColor(u, 10.00, 10.00, 10.00, 50.00 )
Нужно записывать
((код jass
call SetUnitVertexColor(u, 25, 25, 25, 75 )
))
Ибо в native функции SetUnitVertexColor используются целочисленные аргументы от 0 до 255.
NIKZ, Х и Y обнулять не к чему, это базовый тип real, не нуждается в обнулении
Старый 12.05.2012, 14:20
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Ура все спс!))
И тут у меня блин еще проблема, вобще по моему глупая...
Дело в том что в другой карте скилл работает на юнита h00l и способностей - A000,A001
((код jass
function DetectBackslash takes unit target, unit attacker returns boolean
local real b_ang = 180
local real ang_bet = Atan2(GetUnitY(attacker)-GetUnitY(target),GetUnitX(attacker)-GetUnitX(target))*bj_RADTODEG
local boolean b = false
if (GetUnitFacing(target)>=ang_bet-(b_ang/2)) and (GetUnitFacing(target)<=ang_bet+(b_ang/2)) then
set b = true
endif
set target = null
set attacker = null
return b
endfunction
function Cond takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(), 'A006') > 0
endfunction
function Trig_Dashing_strike_Actions takes nothing returns nothing
local unit a = GetAttacker()
local unit a2 = GetTriggerUnit()
local unit d
local boolean b = DetectBackslash(a,a2)
local integer c
local integer l = GetUnitAbilityLevel(a, 'A006')
if b then
if l == 1 then
set c = 17
elseif l == 2 then
set c = 20
elseif l == 3 then
set c = 23
elseif l == 4 then
set c = 25
endif
if GetRandomInt(1,100) <= c then
set d = CreateUnit(GetOwningPlayer(a), 'h00l', GetUnitX(a),GetUnitY(a), 270.)
call SetUnitAbilityLevel(d, 'A05Y', l)
call IssueTargetOrder(d, "firebolt", a2)
call SetUnitAnimation(a, "attack slam")
endif
endif
set a = null
set a2 = null
set d = null
endfunction
===========================================================================
function InitTrig_Dashing_strike takes nothing returns nothing
set gg_trg_Dashing_strike = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dashing_strike, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition(gg_trg_Dashing_strike, Condition(function Cond))
call TriggerAddAction( gg_trg_Dashing_strike, function Trig_Dashing_strike_Actions )
endfunction
))
Старый 12.05.2012, 17:21
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
NIKZ, а ты даёш даммику огненную стрелу (враг), что за способность 'A05Y'? из чего сделана. убрал требование маны?...
Старый 12.05.2012, 17:34
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
quq_CCCP, это нестандартная способность, да даю ему firebolt
NIKZ добавил:
Заменил ее на А009 и все равно
((код jass
function DetectBackslash takes unit target, unit attacker returns boolean
local real b_ang = 180
local real ang_bet = Atan2(GetUnitY(attacker)-GetUnitY(target),GetUnitX(attacker)-GetUnitX(target))*bj_RADTODEG
local boolean b = false
if (GetUnitFacing(target)>=ang_bet-(b_ang/2)) and (GetUnitFacing(target)<=ang_bet+(b_ang/2)) then
set b = true
endif
set target = null
set attacker = null
return b
endfunction
function Cond takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(), 'A009') > 0
endfunction
function Trig_Dashing_strike_Actions takes nothing returns nothing
local unit a = GetAttacker()
local unit a2 = GetTriggerUnit()
local unit d
local boolean b = DetectBackslash(a,a2)
local integer c
local integer l = GetUnitAbilityLevel(a, 'A009')
if b then
if l == 1 then
set c = 17
elseif l == 2 then
set c = 20
elseif l == 3 then
set c = 23
elseif l == 4 then
set c = 25
endif
if GetRandomInt(1,100) <= c then
set d = CreateUnit(GetOwningPlayer(a), 'h00l', GetUnitX(a),GetUnitY(a), 270.)
call SetUnitAbilityLevel(d, 'A007', l)
call IssueTargetOrder(d, "firebolt", a2)
call SetUnitAnimation(a, "attack slam")
endif
endif
set a = null
set a2 = null
set d = null
endfunction
function InitTrig_Dashing_strike takes nothing returns nothing
set gg_trg_Dashing_strike = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dashing_strike, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition(gg_trg_Dashing_strike, Condition(function Cond))
call TriggerAddAction( gg_trg_Dashing_strike, function Trig_Dashing_strike_Actions )
endfunction
))
Старый 12.05.2012, 17:48
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
NIKZ, учись делать условия по человечески...
((код jass
function Cond takes nothing returns boolean
return GetUnitAbilityLevel(GetAttacker(), 'A009') > 0 and GetRandomInt(1,100) <= 14 + GetUnitAbilityLevel(GetAttacker(), 'A009') * 3 and DetectBackslash(GetTriggerUnit(),GetAttacker())
endfunction
))
Так удобнее, и проще...
Создавай даммика когда обьявляеш переменную d
Проверь скилл, и самого дамика... мб требуется мана, или тип цели у скилла 'A007' не подходит под цель атаки... Возможно ты не убрал кд, или требования исследования...
Срабатывает ли условие DetectBackslash...
Проверь все, и везде...
Старый 15.05.2012, 11:43
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Проверь все, и везде...
Как проверить то? оО
Есть стаьти или что?
BJDebugMasg? Я хз вобще чем оно помогает, обычное BJ сообщение
Старый 15.05.2012, 17:54
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Старый 15.05.2012, 18:10
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
DragonSpirit, Хрень...Ниче не понятно... Простой показ сообщений, нужно объяснить на карте, я не знаю хоть как, но не статьей. Либо сделать специально ошибку чтобы показывало либо еще что то
Кароче помогите, либо ничего не делайте))
Старый 15.05.2012, 18:18
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
NIKZ, тупо ставиш во всех if,for group и тд DisplayTextToPlayer(Player(0),0,0,"Сработал фрагмент 1" итак следиш, какой участо кода не работает потом ищещ почему..
Старый 15.05.2012, 18:31
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
А что делает фнукция call TriggerClearActions. Эмм она удаляет все данные из хеша сохраненные в функции?
Старый 18.05.2012, 17:44
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
NIKZ, она удаляет действия триггера... и всё, берёт его хендл...
Старый 18.05.2012, 17:46
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
quq_CCCP,
Эмм она удаляет все данные из хеша сохраненные в функции?
Старый 18.05.2012, 17:47
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
Нет
Старый 18.05.2012, 17:48
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
NIKZ, ты случием не собрался сделать систему отлова физического урона? а то я смотрю хеш, локальные триггеры... ClearActions...
Могу скинуть ссылку на работоспособную систему отлова физ. урона...
Старый 18.05.2012, 17:51
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
quq_CCCP, Не)) Я боюсь то что другой триггер в триггере когда будет чтобы можно было удалит ьдействия и сохранить кое что))
Старый 18.05.2012, 20:04
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
NIKZ:
quq_CCCP, Не)) Я боюсь то что другой триггер в триггере когда будет чтобы можно было удалит ьдействия и сохранить кое что))
а функции нашто?
Старый 18.05.2012, 20:33
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:32.