|
|
|
|
Помогите пожалуйста разобраться в Spell
|
|
Bobayka | Дата: Воскресенье, 19 Августа 2012, 16:05:04 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| Помогите пожалуйста разобраться в Spell. У меня есть способность которая при применение должна выполняется . Герой применял способность и воспроизводит анимацию "рев", и у героя увеличивалось атака 9 ед , защита 2 ед, сила 8 ед, плюс увеличивалась скорость атаки на 30%. На 5 секунд. И с каждым уровнем все увеличивается на 5 ед(время тоже увеличивается)кроме скорости таки ,скорость атаки увеличивается на 1% - Я смог сделать только добавить атаку,защиту ,и силу С увеличивалась скорость атаки на 30% проблема она добавляет способность, а не применяет ее сразу в действия. А с каждым уровнем что бы все увеличивалось вообще не пойму как сделать такое .
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
Сообщение отредактировал Bobayka - Воскресенье, 19 Августа 2012, 16:10:18 |
|
|
|
[SeKtOR] | Дата: Воскресенье, 19 Августа 2012, 17:03:27 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Через if/then/else триггерно давать абилки и по окончанию удалять(ну те которые дают деф, атаку и т.п.)
|
|
|
|
Bobayka | Дата: Воскресенье, 19 Августа 2012, 17:09:44 | Сообщение # 3 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| [SeKtOR], У меня так и есть только без if/then/else .
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
Сообщение отредактировал Bobayka - Воскресенье, 19 Августа 2012, 17:34:35 |
|
|
|
[SeKtOR] | Дата: Воскресенье, 19 Августа 2012, 18:08:08 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Ну как вариант тебе могу сделать или сказать: 1 триггер Code С: юнит кастанул абилку У: абилка = твоя абилка Д: if уровень абилки = 1 Добавить все способности дающие бонусы(ну деф, атаку и т.д. для 1 лвла) else ничего if уровень абилки = 2 Добавить все способности дающие бонусы(ну деф, атаку и т.д. для 2 лвла) else ничего if уровень абилки = 3 Добавить все способности дающие бонусы(ну деф, атаку и т.д. для 3 лвла) else ничего 2 триггер Code С: юнит закончил юзание абилки(ну или таймер как тебе удобнее) У: абилка = твоя абилка Д: if уровень абилки = 1 Удалить все способности дающие бонусы(ну деф, атаку и т.д. для 1 лвла) else ничего if уровень абилки = 2 Удалить все способности дающие бонусы(ну деф, атаку и т.д. для 2 лвла) else ничего if уровень абилки = 3 Удалить все способности дающие бонусы(ну деф, атаку и т.д. для 3 лвла) else ничего P.S. Если попросиш наработку только jass P.S.S. Вроде мой код, хоть как-то можно понять
Сообщение отредактировал [SeKtOR] - Воскресенье, 19 Августа 2012, 18:09:16 |
|
|
|
Bobayka | Дата: Воскресенье, 19 Августа 2012, 18:21:33 | Сообщение # 5 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| [SeKtOR], а зачем 2 триггер ? в один нельзя было? И что делать с безумием. 3 уровня? а как сделать "И с каждым уровнем все увеличивается на 5 ед(время тоже увеличивается)кроме скорости таки ,скорость атаки увеличивается на 1% ". То есть не делать новые предметы каждый раз с новыми значениями
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
Сообщение отредактировал Bobayka - Воскресенье, 19 Августа 2012, 18:28:30 |
|
|
|
[SeKtOR] | Дата: Воскресенье, 19 Августа 2012, 19:36:35 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Пффф, щас сделаю
Добавлено (19 Августа 2012, 19:36:35) --------------------------------------------- http://rghost.ru/39877541 Сделал... Нюансы 1. Небольшой недостаток, после загрузки карты в центре создатся эффект, чтобы небыло лагов при первом касте(там же где и герой в моём примере) 2. Тебе придёться узнать, что такое равкод и с чем его едят(в триггере правь, там всё подписанно) 3. Нет никакого бафа в строке "Статус:", мне было впадлу искать способность без иконки, которая накладывает баф 4. Все бонусы редактируются в РО(Редакторе обьектов) найдёш там 4 негеройских способности 5. Возможно требует JNGP 6. Всё безутечно и оптимизированно 7. Я требую + P.S. FUUUUU я забыл ты давал же свою карту, сорь
Сообщение отредактировал [SeKtOR] - Воскресенье, 19 Августа 2012, 19:56:44 |
|
|
|
Bobayka | Дата: Воскресенье, 19 Августа 2012, 20:05:30 | Сообщение # 7 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| [SeKtOR], А длительность ? 5с И лаги остались
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
Сообщение отредактировал Bobayka - Воскресенье, 19 Августа 2012, 20:11:43 |
|
|
|
[SeKtOR] | Дата: Воскресенье, 19 Августа 2012, 20:28:04 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| 60 сек, лаги наверно из-за твоего кода... Добавлено (19 Августа 2012, 20:27:59) --------------------------------------------- По сабжу дай свою карту я посмотрю.. Добавлено (19 Августа 2012, 20:28:04) --------------------------------------------- в лс
|
|
|
|
Bobayka | Дата: Воскресенье, 19 Августа 2012, 20:51:59 | Сообщение # 9 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| [SeKtOR], а триггером нельзя было? а то с этими кодами не научишься
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
Сообщение отредактировал Bobayka - Воскресенье, 19 Августа 2012, 20:56:19 |
|
|
|
[SeKtOR] | Дата: Воскресенье, 19 Августа 2012, 21:30:27 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Я хз может было и можно но это 100500 глобалок и как минимум 13 триггеров(на всех 12 игроков) и засирание ещё больше памяти
Добавлено (19 Августа 2012, 21:28:54) --------------------------------------------- Там всё до идиотизма просто, я тоже думал что jass это атские дебри, но почитав статьи это легко Добавлено (19 Августа 2012, 21:30:27) --------------------------------------------- пару тестов, 4-5 триггеров с говнокодом, статья про создание простого stomp спелла и всё просто
Сообщение отредактировал [SeKtOR] - Воскресенье, 19 Августа 2012, 21:29:09 |
|
|
|
Bobayka | Дата: Воскресенье, 19 Августа 2012, 21:31:54 | Сообщение # 11 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| [SeKtOR], мне надо 2 игрока ) Добавлено (19 Августа 2012, 21:31:54) --------------------------------------------- [SeKtOR], Со ровно я пока триггерами поучусь
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
|
|
|
|
SirNikolas | Дата: Понедельник, 20 Августа 2012, 07:23:50 | Сообщение # 12 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (|SeKtOR|) Небольшой недостаток, после загрузки карты в центре создатся эффект, чтобы небыло лагов при первом касте (там же где и герой в моём примере) Зачем, если есть функция Preload(string)?
|
|
|
|
Extremator | Дата: Понедельник, 20 Августа 2012, 09:14:02 | Сообщение # 13 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Spell_1.w3x
|
|
|
|
Bobayka | Дата: Понедельник, 20 Августа 2012, 10:01:51 | Сообщение # 14 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| Extremator, а в триггерах тут лаги нельзя убрать эти?
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
|
|
|
|
[SeKtOR] | Дата: Понедельник, 20 Августа 2012, 10:30:27 | Сообщение # 15 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Quote (SirNikolas) Зачем, если есть функция Preload(string)? Без понятия, я по гайду как-то делал спелл и с Preload и Destroy... не лагало
Сообщение отредактировал [SeKtOR] - Понедельник, 20 Августа 2012, 10:31:02 |
|
|
|
Naturekid | Дата: Понедельник, 20 Августа 2012, 11:00:59 | Сообщение # 16 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Ребята я с вас в шоке, что вы так долго мусолите такой элементарный пример?.. Вот скрин Вот карта http://rghost.ru/39887340 всё прекрасно пашет для любого количества юнитов. На здоровье.
Добавлено (20 Августа 2012, 11:00:59) --------------------------------------------- Если мешают подлаги призагрузке спсобностей - ставишь юнит на карту и даёшь ему эти способности, юнит в начале игры удаляешь. Дать способности можно как вручную так и триггерно, если делаешь триггерно - то преобразовываешь триггер этот в текст и ставишь галочку "продолжается инициализация карты". Вообщем залил ещё вариант, чтоб не подлагивало. http://rghost.ru/39887701
Сообщение отредактировал Naturekid - Понедельник, 20 Августа 2012, 11:07:41 |
|
|
|
[SeKtOR] | Дата: Понедельник, 20 Августа 2012, 11:03:41 | Сообщение # 17 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Quote (Naturekid) Вот карта http://rghost.ru/39887340 всё прекрасно пашет для любого количества юнитов. На здоровье. Добавлено (20 Августа 2012, 11:00:59) --------------------------------------------- Если мешают подлаги призагрузке спсобностей - ставишь юнит на карту и даёшь ему эти способности, юнит в начале игры удаляешь. Дать способности можно как вручную так и триггерно, если делаешь триггерно - то преобразовываешь триггер этот в текст и ставишь галочку "продолжается инициализация карты". Вообщем залил ещё вариант, чтоб не подлагивало. http://rghost.ru/39887572
Сообщение отредактировал [SeKtOR] - Понедельник, 20 Августа 2012, 11:04:17 |
|
|
|
Naturekid | Дата: Понедельник, 20 Августа 2012, 11:08:41 | Сообщение # 18 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| )
|
|
|
|
Bobayka | Дата: Вторник, 21 Августа 2012, 23:48:24 | Сообщение # 19 |
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 465
Блокировки:
| За что отвечает эта строчка ? Code call UnitAddAbilityBJ
Speed RUN v0.0.2 Delta Heavy – Get By Red Hot Chili Peppers – Californication, Fall Out Boy – Thnks Fr Th Mmrs Panic! At The Disco – Hurricane Carolina Liar – No More Secrets Green Day – Boulevard Of Broken Dreams Gorillaz – Feel Good inc,The Used – The Bird And The Worm
Сообщение отредактировал Bobayka - Вторник, 21 Августа 2012, 23:48:41 |
|
|
|
SirNikolas | Дата: Среда, 22 Августа 2012, 09:10:46 | Сообщение # 20 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| За уровень кодинга автора наработки. http://translate.ru
|
|
|
|
[SeKtOR] | Дата: Среда, 22 Августа 2012, 09:40:01 | Сообщение # 21 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| там нету BJ функций Добавлено (22 Августа 2012, 09:40:01) --------------------------------------------- Код: Code ////////////////////////////// // Настройка способности // ////////////////////////////// constant function Bonus_Spell_Rawcode takes integer spell returns integer if(spell == 1) then return 'A001' // Равкод способности "Повышение атаки" else endif if(spell == 2) then return 'A002' // Равкод способности "Повышение защиты" else endif if(spell == 3) then return 'A003' // Равкод способности "Повышение силы" else endif if(spell == 4) then return 'A004' // Равкод способности "Повышение скорости боя" else endif return 'A001' // Для убирания бага(можно любой равкод) endfunction
constant function Bonus_Spell_Time takes integer time returns real if(time == 1) then return 60. // Время действия 1 уровни способности else endif if(time == 2) then return 60. // Время действия 2 уровни способности else endif if(time == 3) then return 60. // Время действия 3 уровни способности else endif return 60. // Для убирания бага(можно любое число) endfunction
constant function Bonus_Spell_Id takes nothing returns integer return 'A000' // Равкод способности, которую кастуют endfunction
////////////////////////////// // Сам код // //////////////////////////////
function Bonus_Spell_Conditions takes nothing returns boolean return GetSpellAbilityId() == Bonus_Spell_Id() endfunction
function Bonus_Spell_Remove takes nothing returns nothing local timer t = GetExpiredTimer() local integer h = GetHandleId(t) local integer array index local unit u = LoadUnitHandle(udg_Hash,h,1) set index[1] = 1 set index[2] = 4 loop exitwhen index[1] > index[2] call UnitRemoveAbility(u, Bonus_Spell_Rawcode(index[1])) set index[1] = index[1] + 1 endloop call FlushChildHashtable(udg_Hash,h) set t = null set u = null set h = 0 set index[1] = 0 set index[2] = 0 endfunction
function Bonus_Spell_Actions takes nothing returns nothing local timer t = CreateTimer() local integer h = GetHandleId(t) local integer array index local integer level = GetUnitAbilityLevel(GetSpellAbilityUnit(), Bonus_Spell_Id()) set index[1] = 1 set index[2] = 4 loop exitwhen index[1] > index[2] call UnitAddAbility(GetSpellAbilityUnit(), Bonus_Spell_Rawcode(index[1])) call SetUnitAbilityLevel(GetSpellAbilityUnit(), Bonus_Spell_Rawcode(index[1]), level) set index[1] = index[1] + 1 endloop call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl", GetUnitX(GetSpellAbilityUnit()), GetUnitY(GetSpellAbilityUnit()))) call TimerStart(t, Bonus_Spell_Time(level), false, function Bonus_Spell_Remove) call SaveUnitHandle(udg_Hash,h,1,GetSpellAbilityUnit()) set t = null set h = 0 set index[1] = 0 set index[2] = 0 set level = 0 endfunction
//=========================================================================== function InitTrig_Bonus_Spell takes nothing returns nothing // Загрузка способности(для убирания лага) и вообще создание триггера <img rel="usm" src="http://warcraft3ft.info/image/smiles/smile.gif" border="0" align="absmiddle" alt=":)" /> local unit u = CreateUnit(Player(0), 'eswp', 0., 0., 0.) local integer array index set index[1] = 1 set index[2] = 4 loop exitwhen index[1] > index[2] call UnitAddAbility(u, Bonus_Spell_Rawcode(index[1])) call SetUnitAbilityLevel(u, Bonus_Spell_Rawcode(index[1]), 3) set index[1] = index[1] + 1 endloop call RemoveUnit(u) call Preload("Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl") call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl", 0., 0.)) set gg_trg_Bonus_Spell = CreateTrigger() call TriggerRegisterAnyUnitEventBJ(gg_trg_Bonus_Spell, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition(gg_trg_Bonus_Spell, Condition(function Bonus_Spell_Conditions)) call TriggerAddAction(gg_trg_Bonus_Spell, function Bonus_Spell_Actions) set u = null set index[1] = 0 set index[2] = 0 endfunction Да код не на высшем уровне, но простите я ещё только учусь
|
|
|
|
Extremator | Дата: Среда, 22 Августа 2012, 09:57:50 | Сообщение # 22 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (Bobayka) а в триггерах тут лаги нельзя убрать эти? лаги появляются только при первом касте спелла ... ибо идёт подгрузка данных абилок (или что-то в этом роде, в общем так проще для понимания)
Поэтому нужно все такие спеллы дать какому нить юниту при старте игры...
Вообще, я бы создал в РО отдельно даммика, и дал бы ему особый спел-бук в спел буке было бы ВСЕ спеллы... а самого даммик создать при инициалиции в центре карты и дать 1-2 сек жизни...
|
|
|
|
SirNikolas | Дата: Среда, 22 Августа 2012, 10:37:33 | Сообщение # 23 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Можно и без спеллбука.Quote (Extremator) а самого даммика создать при инициалиции в центре карты и дать 1-2 сек жизни. Создать и сразу ремувнуть.
|
|
|
|
Extremator | Дата: Среда, 22 Августа 2012, 10:40:53 | Сообщение # 24 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Quote (SirNikolas) Можно и без спеллбука. да... но просто давать все спеллы юниту... или тыкать их по одному в юнита... утомительно... помойму дать спелл бук / или натолкать всё в даммика - будет проще
так же можно разбивать спел буки... например 1. все геройские спеллы 2. все спеллы для юнитов 3. все спеллы для даммиков 4. спеллы для артов
ну и дать эти 4 бука даммику...Добавлено (22 Августа 2012, 10:40:53) --------------------------------------------- ну в общем кому как удобнее
Сообщение отредактировал Extremator - Среда, 22 Августа 2012, 10:40:42 |
|
|
|
SirNikolas | Дата: Среда, 22 Августа 2012, 10:43:18 | Сообщение # 25 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Extremator) но просто давать все спеллы юниту... или тыкать их по одному в юнита... утомительно... Shift+Enter и вводишь raw-коды через запятую.
|
|
|
|
|
|
|
|
|
|
|