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

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

Закрытая тема
 
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
Не повышается значение способности
кароче незнаю в чем причина но не хочет апать предметную абилку на ловкость
вот код
function Trig_CastAbilitiAiRa_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A0AN'
endfunction

function Trig_CastAbilitiAiRa_Actions takes nothing returns nothing
    local unit Aira = GetSpellAbilityUnit()
    call UnitAddAbility( Aira, 'A05H' )
    call SetUnitAbilityLevel( Aira, 'A05H', GetUnitAbilityLevel(Aira, 'A0AN' ) )
    call TriggerSleepAction( 10.00 )
    call UnitRemoveAbility( Aira, 'A05H' )
    set Aira = null
endfunction

//===========================================================================
function InitTrig_CastAbilitiAiRa takes nothing returns nothing
    set gg_trg_CastAbilitiAiRa = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_CastAbilitiAiRa, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_CastAbilitiAiRa, Condition( function Trig_CastAbilitiAiRa_Conditions ) )
    call TriggerAddAction( gg_trg_CastAbilitiAiRa, function Trig_CastAbilitiAiRa_Actions )
endfunction
[+] 1 пункт от XimikS: название темы не отражает сути вопроса
Старый 25.04.2012, 10:01
prog

offline
Опыт: 32,865
Активность:
Cosonic5, дебаг сообщения в помощь - проверь выполняется ли тот блок кода, в котором ты меняешь уровень способности. Потом проверь отдельно получится ли повысить уровень этой способности триггерно. Проверь выдается ли вообще эта способность триггерно. Например у меня были забавные баги когда я пытался выдать нестандартную способность, у которой нет ни одного нестандартного значения. Попробуй использовать другую базовую способность - предметные способности любят игнорировать уровни. Триггерно меняй ловкость, в конце концов, без дурацких способностей.
Старый 25.04.2012, 10:16
DaeDR

offline
Опыт: 8,074
Активность:
Cosonic5, Как вариант, добавляй способность Повышение Характеристик(Со скрытой иконкой).
Хотя она вроде такая же как предметная, но все же.
Старый 25.04.2012, 10:18
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,598
Активность:
Cosonic5, чё за способность то?, мб аура? тогда всё понятно, обновление бафа происходит с задержкой.
Старый 25.04.2012, 10:20
DaeDR

offline
Опыт: 8,074
Активность:
quq_CCCP,
предметная абилка на ловкость
Старый 25.04.2012, 10:27
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
да она добавляется всего у предметной 6 уровней в чем баг не понимаю(
но устанавливать уровень не хочет( а может быть ли проблема в том что событие стоит завершает применение способности?
prog, да можно и тригерно но, смотрится не так заметно хотелось бы чтоб показывало зеленым цветом.
Нашел решение проблемы поменял на когти способность просто бонус к атаке=)

Отредактировано Cosonic5, 25.04.2012 в 11:04.
Старый 25.04.2012, 10:56
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
Cosonic5, 1) сделай через хеш ибо у тебя полное уг... 2) GetSpellAbilityUnit() замени на GetTriggerUnit() и 3) проверь саму предметную абилу.... или полностью ее переделай (на другой основе).
Старый 25.04.2012, 11:04
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
Vadik29, спс мне хеш не нужен(я его не навижу временно))
а смысл заменять что от этого изменится?
Старый 25.04.2012, 11:09
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
function Trig_CastAbilitiAiRa_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A0AN'
endfunction

function Trig_CastAbilitiAiRa_Actions2 takes nothing returns nothing
local timer t  = GetExpiredTimer()
local integer id = GetHandleId(t)
local unit u = LoadUnitHandle(udg_Hash,id,0)
call UnitRemoveAbility(u,'A05H')
call FlushChildHashtable(udg_Hash,id)
call DestroyTimer(t)
set t = null
set u = null
endfunction

function Trig_CastAbilitiAiRa_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local timer t = CreateTimer()
call UnitAddAbility(u,'A05H')
call SetUnitAbilityLevel(u,'A05H',GetUnitAbilityLevel(u,'A0AN'))
call SaveUnitHandle(udg_Hash,GetHandleId(t),0,u)
call TimerStart(t,10,false,function Trig_CastAbilitiAiRa_Actions2)
set u = null
set t = null
endfunction

//===========================================================================
function InitTrig_CastAbilitiAiRa takes nothing returns nothing
    set gg_trg_CastAbilitiAiRa = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_CastAbilitiAiRa, EVENT_PLAYER_UNIT_SPELL_FINISH )
    call TriggerAddCondition( gg_trg_CastAbilitiAiRa, Condition( function Trig_CastAbilitiAiRa_Conditions ) )
    call TriggerAddAction( gg_trg_CastAbilitiAiRa, function Trig_CastAbilitiAiRa_Actions )
endfunction
Vadik29 добавил:
Cosonic5,
(я его ненавижу временно)
Алеша че...
Если че то вейт работает даже во время паузы игры, достаточно подождать в паузе 10 секю и твоя способность исчезнет...
Да и что такого сложного в том, что я написал выше?
Старый 25.04.2012, 11:18
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
Vadik29, да это я знаю что вайты тикают...
Спс, но абилка все равно нехочет апгрейдится ладно буду искать альтернативу.
Старый 25.04.2012, 11:28
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
Cosonic5, полностью ее переделай (на другой основе)
Старый 25.04.2012, 11:28
prog

offline
Опыт: 32,865
Активность:
Cosonic5, попробуй другую способность, не связанную с твоей, желательно не предметную, если у нее повышается уровень, то подумай в чем может быть дело (подсказываю - некоторые способности игнорируют уровни). Геройская способность плюс к статам гарантированно понимает повышение уровня - попробуй пользоваться ей.
Старый 25.04.2012, 12:18
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Cosonic5, предметные абилки не меняют уровень),если сделать одинаковые способности одноуровневые и добавлять то работает (разные равкоды) одна и та же не меняет уровень и не добавляется
Старый 25.04.2012, 12:19
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
Klop, предметные не меняют разве? (например способность когти атаки апгрейдится)
Старый 25.04.2012, 12:53
DaeDR

offline
Опыт: 8,074
Активность:
Cosonic5, Просто не все предметные способности могут повышать уровень и все. Это надо просто знать
Старый 25.04.2012, 13:02
Закрытая тема

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

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

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

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



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