Сейчас 17:12:32 Пятница, 29 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Перемотка времени относительно одного героя (Мне срочно нужна ульта Nerubian Weaver (из ДОТЫ))
Перемотка времени относительно одного героя
KopBpuKДата: Суббота, 08 Сентября 2012, 19:28:12 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
Мне срочно нужна ульта Nerubian Weaver (из ДОТЫ), я даже не знаю как мне быстро и без особых усилий сотворить это. Если есть у кого-нибудь наработка, пожалуйста скиньте, буду очень благодарен!
Заранее спасибо!


Warcraft 3 4ever! <3
 

[SeKtOR]Дата: Суббота, 08 Сентября 2012, 19:30:17 | Сообщение # 2
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Ты хотьбы её описал, тут не все задроты в доту

 

KopBpuKДата: Суббота, 08 Сентября 2012, 19:49:37 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
Quote (|SeKtOR|)
тут не все задроты в доту

Я думал в ДОТУ играли все!

Кароче, когда герой активирует способность, то он возвращается на место, там где был 5 сек. назад, с таким же кол-вом хп как и было 5 сек назад.


Warcraft 3 4ever! <3
 

HexingДата: Суббота, 08 Сентября 2012, 19:52:21 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (KopBpuK)
Я думал в ДОТУ играли все!

Кароче, когда герой активирует способность, то он возвращается на место, там где был 5 сек. назад, с таким же кол-вом хп как и было 5 сек назад.

такую штуку делали миллион раз, даже помню был такой топик, щас сделаю


 

[SeKtOR]Дата: Суббота, 08 Сентября 2012, 20:38:46 | Сообщение # 5
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Тебе jass вариант пойдёт или только gui?

 

KopBpuKДата: Суббота, 08 Сентября 2012, 22:21:55 | Сообщение # 6
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
гуи, я искал сдесь, но не нашел нароботки, там с массивами работать нид, а я не умею...

Warcraft 3 4ever! <3
 

PebblesДата: Суббота, 08 Сентября 2012, 22:56:21 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 258
Награды: 0
Репутация: 1335
Блокировки:
GUI



Yabba Dabba Doo!


Сообщение отредактировал Pebbles - Суббота, 08 Сентября 2012, 22:57:19
 

HexingДата: Воскресенье, 09 Сентября 2012, 05:48:25 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Pebbles, не муи же, но и автор не про, так что сойдёт, не буду делать

 

SirNikolasДата: Воскресенье, 09 Сентября 2012, 07:42:32 | Сообщение # 9
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Требуется JASS NewGen Pack последней версии.
Code
library_once G { constant group G = CreateGroup(); }

scope TimeLapse {
    include "cj_types_priv.j";

    define {
        private SPELL = 'A000';
        private EFFECT1 = "Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl";
        private EFFECT2 = "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl";
        private PERIOD = 1.;
        private TIME(lvl) = 5.;
        private BUFFER_SIZE = 5;//TIME(maxLvl) / PERIOD
    }

    private struct TimeLapse {
        unit u;
        real x[BUFFER_SIZE];
        real y[BUFFER_SIZE];
        real l[BUFFER_SIZE];
        real m[BUFFER_SIZE];

        void scan() {
            x[0] = GetWidgetX(u);
            y[0] = GetWidgetY(u);
            l[0] = GetWidgetLife(u);
            m[0] = GetUnitState(u, UNIT_STATE_MANA);
        }
    };

    private void Associate(unit u) {
        TimeLapse tl = TimeLapse.create();
        tl.u = u;
        tl.scan();
        for (int i = 1; i < BUFFER_SIZE; i++) {
            tl.x[i] = tl.x[0];
            tl.y[i] = tl.y[0];
            tl.l[i] = tl.l[0];
            tl.m[i] = tl.m[0];
        }
        if tl == 1 {
            TimerStart(CreateTimer(), PERIOD, true, \
                lambda void() {
                    TimeLapse tl = 1;
                    do {
                        int i = BUFFER_SIZE;
                        whilenot --i <= 0 {
                            tl.x[i] = tl.x[i - 1];
                            tl.y[i] = tl.y[i - 1];
                            tl.l[i] = tl.l[i - 1];
                            tl.m[i] = tl.m[i - 1];
                        }
                        tl.scan();
                    } whilenot tl.u == null;
                }
            );
        }
    }

    callback onUnitSpellEffect(SPELL) {
        unit u = GetTriggerUnit();
        TimeLapse tl = 1;
        whilenot u == tl.u { tl++; }
        int i = R2I(TIME(GetUnitAbilityLevel(u, SPELL)) / PERIOD) - 1;
        DestroyEffect(AddSpecialEffect(EFFECT1, GetWidgetX(u), GetWidgetY(u)));
        SetUnitX(u, tl.x[i]);
        SetUnitY(u, tl.y[i]);
        SetWidgetLife(u, tl.l[i]);
        SetUnitState(u, UNIT_STATE_MANA, tl.m[i]);
        DestroyEffect(AddSpecialEffect(EFFECT2, tl.[i], tl.y[i]));
        flush locals;
    }

    callback onHeroSkill(SPELL) {
        if GetLearnedSkillLevel() == 1 {
            Associate(GetTriggerUnit());
        }
    }

    callback onInit() {
        for (unit u; UnitsInRect(bj_mapInitialPlayableArea) use G) {
            if GetUnitAbilityLevel(u, SPELL) > 0 {
                Associate(u);
            }
        }
    }
}


 

HexingДата: Воскресенье, 09 Сентября 2012, 09:05:49 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
SirNikolas, структуры зло, и вы прекрасно это понимаете, тогда зачем?

 

KopBpuKДата: Воскресенье, 09 Сентября 2012, 15:02:31 | Сообщение # 11
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
Quote (Pebbles)

скажи пожалуйста сколько переменных нужно, ну и какие, а то баюсь ошибиться.

Добавлено (09 Сентября 2012, 15:00:49)
---------------------------------------------
Ой тупанул сори.

Добавлено (09 Сентября 2012, 15:02:31)
---------------------------------------------
Но возникает другой вопрос, карта на подобии арены, всех геров тпшает в другое место, там а если ульту юзануть, то гер-то тпшница обратно, как это можно обойти? или тогда все время на протяжении всего раунда тпшать(чтоб небыло таких вот багов)


Warcraft 3 4ever! <3
 

NaturekidДата: Воскресенье, 09 Сентября 2012, 15:10:53 | Сообщение # 12
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
поставь условие - boolean - point is in region - точка возврата не в регионе "Раздевалка"

 

KopBpuKДата: Воскресенье, 09 Сентября 2012, 15:13:08 | Сообщение # 13
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
И еще 1 вопросик
Quote (Pebbles)
Pebbles

Как можно изменить время запоминания точек, не 5 сек, а например 7 или даже 10 сек. где нужно менять значение.


Warcraft 3 4ever! <3
 

NaturekidДата: Воскресенье, 09 Сентября 2012, 15:18:06 | Сообщение # 14
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
KopBpuK, очевидно же - меняй -5 на -7 или -10, а в другом триггеревезде где 5 - меняй на другое. :D
Pebbles, молодчина.


 

KopBpuKДата: Четверг, 13 Сентября 2012, 15:41:49 | Сообщение # 15
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
Спасибо, я просто начинаю только осваиваться в гуи и вообще в картостроении, а Pebbles, и вправду помог очень сильно спасибО!

Добавлено (13 Сентября 2012, 15:41:49)
---------------------------------------------
Возникла проблема!В триггере написано "(Здоровье of (Паладин 0000) и т.д. , а если героя нужно сначало выбрать а не чтоб он уже был, вместо "паладин000" что нужно вписатЬ? а то не работает, на что нужно поменять, если вот я выбрал героя в таверне и играю им а не герой уже на карте, подскажите плз


Warcraft 3 4ever! <3
 

NaturekidДата: Четверг, 13 Сентября 2012, 16:03:50 | Сообщение # 16
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
KopBpuK, Занеси его в переменную типа "боевая единица" и замени палладин на эту единицу.

 

[SeKtOR]Дата: Четверг, 13 Сентября 2012, 16:06:05 | Сообщение # 17
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Naturekid,


 

NaturekidДата: Четверг, 13 Сентября 2012, 16:09:12 | Сообщение # 18
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Ну ка на каhttp://rghost.ru/40340157

Добавлено (13 Сентября 2012, 16:09:12)
---------------------------------------------
[SeKtOR],



 

KopBpuKДата: Четверг, 13 Сентября 2012, 19:48:26 | Сообщение # 19
6 уровень
Группа: Проверенные
Сообщений: 167
Награды: 0
Репутация: 166
Блокировки:
спасибо, ты лучший:DD

Warcraft 3 4ever! <3
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Перемотка времени относительно одного героя (Мне срочно нужна ульта Nerubian Weaver (из ДОТЫ))
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz