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

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

Ответ
 
London

offline
Опыт: 1,693
Активность:
Вопрос насчет копирования скиллов из Open Dota
Доброе утро.
Допустим я взял из Open Dota скилл Void BackTrack.(копировал полностью триггер)
Вместо ИД(или не знаю как правильно) скилла BackTrack из Dota,вставил свой,но не работает.
Можете дать пояснение, пожалуйста, почему и как правильно всё сделать?
Старый 25.10.2012, 11:02
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
ща все решим, только разложим карты, протрем шар, и сделаем пару жертвоприношений богу ясновидцев
Старый 25.10.2012, 11:36
London

offline
Опыт: 1,693
Активность:
А сорь:)
Щас подожди
Прикрепленные файлы
Тип файла: w3x backtrack.w3x (13.7 Кбайт, 4 просмотров )

Отредактировано London, 25.10.2012 в 11:49.
Старый 25.10.2012, 11:40
DioD

offline
Опыт: 45,134
Активность:
тупо копировать код из опендоты не прокатит, сразу предупреждаю.
Старый 25.10.2012, 11:46
London

offline
Опыт: 1,693
Активность:
Диод вот и прошу посмотреть , и сказать что и как сделать.Учимся же)
Старый 25.10.2012, 12:00
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,494
Активность:
London, вот тебе рабочая версия скилла, копируй к себе в карту, только не забудь сменить равкоды...
» Код
((код jass
OpenDota 6.41 deprotected by NETRAT and DioD
inspired by everyone who posted on forum threads and feedback page
based on OpenDota 6.32b, deprotected by DimonT, NETRAT and TheBloodiest
dimon.xgm.ru/opendota
Visit our modmaking community at xgm.ru
Objects used:
'A0CZ' = Backtrack (Faceless Void : Darkterror)
DEBUG Trigger Number : 299
function Trig_Backtrack_Conditions takes nothing returns boolean
return GetLearnedSkill( ) == 'A0CZ' and GetUnitAbilityLevel( GetTriggerUnit( ), 'A0CZ' ) == 1
endfunction
function Backtrack_Main takes nothing returns nothing
local unit Void = GetTriggerUnit( )
local real dmg = GetEventDamage( )

if dmg > 0.00 and GetRandomInt( 1, 100 ) <= 5 + 5 * GetUnitAbilityLevel( Void, 'A0CZ' ) then
call SetUnitState( Void, UNIT_STATE_LIFE, GetUnitState( Void, UNIT_STATE_LIFE ) + dmg )
call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Weapons\\WingedSerpentMissile\\WingedSerpentMissile.mdl", Void, "hand,left" ) )
endif
set Void = null
endfunction
function Trig_Backtrack_Actions takes nothing returns nothing
local trigger trg = CreateTrigger( )
call TriggerRegisterUnitEvent( trg, GetTriggerUnit( ), EVENT_UNIT_DAMAGED )
call TriggerAddAction( trg, function Backtrack_Main )
set trg = null
endfunction
function InitTrig_Backtrack takes nothing returns nothing
set gg_trg_Backtrack = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Backtrack, EVENT_PLAYER_HERO_SKILL )
call TriggerAddCondition( gg_trg_Backtrack, Condition( function Trig_Backtrack_Conditions ) )
call TriggerAddAction( gg_trg_Backtrack, function Trig_Backtrack_Actions )
endfunction
))
Старый 25.10.2012, 12:20
London

offline
Опыт: 1,693
Активность:
научите копировать:D
ну всмысле копировать умею,но выдает кучу ошибок
нет названия переменной и т.д.
Старый 25.10.2012, 17:04
Imba
Battle for One Piece 90%
offline
Опыт: 5,798
Активность:
так ты просто сделай чтобы в ВЕ автоматический создавались переменные они есть в настройках
потом опять копирни и дальше сам поймешь раз говоришь что умеешь
Старый 25.10.2012, 17:18
London

offline
Опыт: 1,693
Активность:
Imba:
так ты просто сделай чтобы в ВЕ автоматический создавались переменные они есть в настройках
потом опять копирни и дальше сам поймешь раз говоришь что умеешь
Сперва посмотри карту,разберись,пойми что глобалок нет,и потом пиши хорошо?
Модераторы Вас такой ответ устраивает? Не удалите этот ответ?
Старый 25.10.2012, 17:46
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,494
Активность:
London, ты надеюсь триггер с названием Backtrack создал?, а затем конвертировав его в код, и удалил от туда все и скопировал туда код который я тебе скинул?
Старый 25.10.2012, 18:18
London

offline
Опыт: 1,693
Активность:
Да,все точно по пунктам
Старый 25.10.2012, 18:26
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,494
Активность:
И не работает?: у меня сохраняется и работает, ошибок нету, сомтри недопустил ли ты ошибок в названии тригера (B заглавная?), верны ли равокоды скилла?, герой обязательно должен выучить скилл во время игры, иначе способность работать не будет...
Старый 25.10.2012, 18:29
London

offline
Опыт: 1,693
Активность:
Так ладно разобрался,ошибка была в заглавной T(написано Back*t*rack,сделал Back*T*rack)
Можно вопрос,на гуи эта строчка :
call SetUnitState( Void, UNIT_STATE_LIFE, GetUnitState( Void, UNIT_STATE_LIFE ) + dmg )
Установить жизнь юнита-цель как (Жизнь Юнита Цель + Переменная dmg)?
Да?

Сорь писать можно в течений 10 минут
Старый 25.10.2012, 18:41
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,494
Активность:
London, сорри я не юзаю гуи, + уменя англ. гуи, суть в том чтобы прибавить юниту столько хп сколько ему отеняли, но вроде в гуи нету такой функции которая возвращяет сколько урона нанесено юниту с учётом резистов, там только вроде источник урона (юнит) есть...
Старый 25.10.2012, 18:45
London

offline
Опыт: 1,693
Активность:
DualShock:
London, ня, делов то на минуту. Проблема конечно же в иннициализации трига. И кста, хочу предупредить, от смертельного урона твой бэктрэк неспасёт D:
да не,СССРский юзаю.
И он спасает от смертельного;)
У юнита 1 хп я в него станы кидаю которые по 800 дмг наносят

Все спасибо,quq_CCCP в особенности.
Закройте лавочку.

Отредактировано London, 25.10.2012 в 18:59.
Старый 25.10.2012, 18:53
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
London,
если урон больше хп юнита, то не спасёт
Старый 25.10.2012, 19:34
London

offline
Опыт: 1,693
Активность:
~16GB:
London,
если урон больше хп юнита, то не спасёт
Смотри,у меня загрузилась карта,сделал у Молота бурь 800 урона.
У Паладина 650 хп.
При первом использовании осталось ну хп 10-20 от силы,все последующие разы блокировались,то есть я юзал 800 урона на эти 10-20 хп и юнит не умирал.
Офк пассивку сделала на 100% шанс
Старый 25.10.2012, 20:48
Sladkoegka
Забыл что хотел...
offline
Опыт: 7,477
Активность:
16GB,
если урон больше хп юнита, то не спасёт
я наверное могу ошибаться, но насколько мне известно-событие на получение урона срабатывает раньше самого нанесения урона. Поэтому возможно такая картинка:юнит с 1 хп получает 1000 урона, то есть у него остается 1 - 1000 = -999 хп, это автоматом движком переводится в 0 хп. А вот уже идет спасительный отхил на Х хп, в итоге юнит остается с Х хп.
Старый 25.10.2012, 21:08
DualShock

offline
Опыт: 5,023
Активность:
Sladkoegka, я лично делал системку которая позволяла нанести хоть 90к урона юниту с 1 хп, все отлично работало. таймер на 0 сек - решение
Старый 25.10.2012, 22:55
Ответ

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

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

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

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



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