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

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

 
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Создаём предмет-резистор
Статья посвящена созданию предмета (способности), которая бы имела сопротивление (уменьшала бы урон) от определённых видов spell-ов (как пассивных, так и активных).
__________

» Оригинальный текст автора статьи:
Вот решил написать как создать предмет ,который имеет сопротивление к определённым спеллам,это идея мне пришла при безделье,для создания резиста использовать можно три способа:

1.Это урон уменьшенный юниту от магии,который делать триггерно,недочёт в том что на пассивный спелл нельзя отследить уменьшеный урон из-за защиты юнита из-за этого этот принцип применять только для активных спеллов

2.Это способ который необходимо осуществлять при помощи замены способности юнита при помощи дамми-каста,способ удобен только для пассивных спеллов

3.Это способ по которому я решил сделать при помощи использования способности Техника,способ неудобен только одним что резист ставится только на способности геройские(значит такие предметы хорошо использовать в АоС картах)

Что делает способность "Техника"-Эта способность используется для улудшения способности героя т.е в доте сделан так предмет синий посох,одна способность может в себе иметь 4 улудшеных любых способностей героя ,ну а в нашем варианте мы наоборот будем ухудшать способности при атаке или использования спелла на героя ,который имеет этот предмет

Создаём предмет с названием "Амулет Яда",который будет давать сопротивление к яду 50%,после чего я сделал резист двум способностям яда это отравленное оружие(Пассивный спелл) и Отравленный нож(Активный спелл) после чего я копирую один и добавляю суфикс к названию спелла "50%"
то же самое я проделал со второй способностью и у копированных способностей уменьшил урон и замедлениее в 2 раза

после чего в графах способности "Техники" -мы ставим:

Усовершенствование способности 1:-Отравленное оружие,Отравленное оружие(50%)
Усовершенствование способности 2:-Отравленный нож,Отравленный нож(50%)
и все осстальные поля "Данные " обнуляем или очищаем

Может моё написанние триггеров не очень правельное ,но рабочее.

Теперь переходим к триггерам:

Вообщем нам надо зарегистрировать при преобретении предмета героя от каждого игрока,у нас получается такой триггер который я назвал
"ResistPoison"

Код:
Событие:Боевая еденица-A unit Получает предмет 
Условие:(Iten-type of (Item Carried by(HeroManipulaitingItem) of type Амулет Яда)) равно Амулет Яда 
Действие:If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 1(красный) 
----Действие:Set Hero[0] = (HeroManipulaitingItem) 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 2(синий) 
----Действие:Set Hero[1] = (HeroManipulaitingItem) 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 5(Жёлтый) 
----Действие:Set Hero[2] = (HeroManipulaitingItem) 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 7(зелёный) 
----Действие:Set Hero[3] = (HeroManipulaitingItem) 
----Действие:Do Nothing
Действие:Триггер-Trigger on (PoisonWeapon)


Мы конечно этот триггер могли сделать намного меньше при помощи индекса в массиве поставив такой [HeroManipulaitingItem] и тогда нам не потребовалось создавать Ифы,ну если вы не знаток триггеров то тогда лудше сделать так как создан триггер у меня для понятия создания,далле мы должны с вами при потере предмета героем обнулить нашу переменную для того что бы герой который зарегистрирован при подборе предмета потеряв предмет не получал половинный урон от магии ,а полный для этого вы должны создать триггер такого типа ,который я назвал "ResistOff"

Код:
Событие:Боевая еденица-A unit Теряет предмет 
Условие:(Item-type(HeroManipulaitingItem)) равно Амулет Яда 
Действие
:If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 1(красный) 
----Действие:Custom Script set udg_Hero[0] = null 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 2(синий) 
----Действие:Custom Script set udg_Hero[1] = null 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 5(жёлтый) 
----Действие:Custom Script set udg_Hero[2] = null 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:(Owner of(HeroManipulaitingItem)) равно Игрок 7(зелёный) 
----Действие:Custom Script set udg_Hero[3] = null 
----Действие:Do Nothing


Также ,если вы регистрацию вводили по способу который я написал т.е.
одним действием вставляя в индекс массив ,вам потребуется только одно действие с обнулением с такимже индексом,который я писал можно использовать что бы избавиться от Ифов ,опять же этот индекс поможет вам избавиться от Ифов,но если вы не опытный триггерщик не советую вам пока это делать!

Теперь мы будем записывать способности,другими словами когда они будут срабатывать на 50%,а когда на 100%,для этого создаём триггер 3 "PoisonWeapon"

В этом триггере ,я сделаю что б половинный урон наносил тогда когда ваш герой или герой ,который владеет этим предметом ,то юниту который атакует даётся способность "Техника " и его способность улудшается в худшую стороную.

Код:
Событие:Боевая еденица-A unit аткован 
Условие: 
Действие:
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:
----Or-Any(Conditions) are true 
---------Условие:
------------------(Attacked unit) равно Hero[0] 
------------------(Attacked unit) равно Hero[1] 
------------------(Attacked unit) равно Hero[2] 
------------------(Attacked unit) равно Hero[3] 
----Unit-type of (Attacking unit) равно (Герой у которого находятся способности от которых у вас Резист) 
----Действие:Боевая еденица-Add "Техника" to (Attacking unit) 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:
----Or-Any(Conditions) are true 
--------Условие:
-----------------(Attacked unit) не равно Hero[0] 
-----------------(Attacked unit) не равно Hero[1] 
-----------------(Attacked unit) не равно Hero[2] 
-----------------(Attacked unit) не равно Hero[3] 
----Unit-type of (Attacking unit) равно (Герой у которого находятся способности от которых у вас Резист) 
Действие:Боевая еденица-Remove "Техника" to (Attacking unit) 
Действие:Do Nothing


Если у вас несколько типов юнита владеющих одинаковой способностью с одинаковым уроном и всем остальным ,то вы можете в каждый из двух Ифов добавить ещё условие "Or-Any(Conditions) are true" и туда создать два условия ,которые отвечают за тип атакующего юнит,другими словами те герои ,которые имеют способность от которой у вас сопротивления

и наконец последний триггер по способности отравленный нож "PoisonDagger"

В этом триггере я делаю тот же самый триггер что и предыдуший только уже с активной магией и поэтому у нас меняется событие и и условия.

Код:
Событие:Боевая еденица-Приводит способность в действие 
Условие:(Ability being Cast) равно Отравленный нож 
Действие:If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:
----Or-Any(Conditions) are true 
--------Условие:
-----------------(Target of Ability being Cast unit) равно Hero[0] 
-----------------(Target of Ability being Cast unit) равно Hero[1] 
-----------------(Target of Ability being Cast unit) равно Hero[2] 
-----------------(Target of Ability being Cast unit) равно Hero[3] 
----Unit-type of (Casting unit) равно (Герой у которого находятся способности от которых у вас Резист) 
----Действие:Боевая еденица-Add "Техника" to (Casting unit) 
----Действие:Do Nothing 
If(All Conditions are True) then do(then Actions) else do (else Action) 
----Условие:
----Or-Any(Conditions) are true 
--------Условие:
-----------------(Target of Ability being Cast unit) не равно Hero[0] 
-----------------(Target of Ability being Cast unit) не равно Hero[1] 
-----------------(Target of Ability being Cast unit) не равно Hero[2] 
-----------------(Target of Ability being Cast unit) не равно Hero[3] 
----Unit-type of (Casting unit) равно (Герой у которого находятся способности от которых у вас Резист) 
----Действие:Боевая еденица-Remove "Техника" to (Casting unit) 
----Действие:Do Nothing


Так же если у вас несколько героев с одинаковой магией то вам также потребуется сделать с созданием условия так же как и в предыдушем триггере только обратить внимание где Casting unit ,а где Attacking

Вот у вас возникла проблема необходимо сделать сопротивление магии "Отравленное оружие " только оно не у героя ,а у юнита?
В этом случае используем способ 2 ,для этого потребуется создание невидимого дамми юнита ,у которого будет способность половинного урона "Отравленного оружия" и при атаке юнита с этой способностью после чего сразу удалть заклинание действующее на юнита создать Дамми юнита в позиции вашего юнита ,отдать приказ атаковать и с атакой 1-1 и после как сразу заклинание начало действоваь удалить дамми юнита ,написанно много ,но не пугайтесь это выглядет очень легко и пионять тоже очень легко

Код:
Событие:
Боевая еденица-A unit Атакован
Условие:
Or-Any(Conditions) are true 
-------(Attacked unit) равно Hero[0]
-------(Attacked unit) равно Hero[1]
-------(Attacked unit) равно Hero[2]
-------(Attacked unit) равно Hero[3]
Действие:
Боевая еденица-Remove buff from (Attacked unit)
Боевая еденица-Create 1 (Dammy) for Нейтрально-пассивный at Position of (Attcked unit) facing Стандартная ориентация здания
Боевая еденица-Order (Last Created Unit) to Атаковать (Attacked unit)
Wait 1.2 seconds
Боевая еденица-Remove(Last Created Unit) from the game



Эта статья расчитана только если каждый из четырёх игроков будет иметь только одного героя!!!

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

Если у кого-то возникнут вопросы по статье или у вас возникнут какие недопонимания чего-то свои вопрос и проблемы выкладываем в этом топике,на все вопросы будут ответы.

__________

» Переработанный и отредактированый (без изменения сути) текст статьи:

Оглавление

  1. "Предмет-резистор": описание и способы реализации.
  2. Реализация задачи.
  3. Карта-пример.

1. "Предмет-резистор": описание и способы реализации.


Предлагаемая мною способность "предмет-резистор" даёт возможность устанавливать сопротивление (уменьшение урона) от определённых видов spell-ов (в данной статье речь пойдёт о сопротивлении "Отравленному оружию" (пассивная способность) и "Отравленному ножу" (активная способнотсь) ).

Я вижу три способа решения задачи по созданию такой способности:
  1. Уменьшать урон от способностей триггерно (путём "воссатновления" здоровья). Недостаток: работает только в отношении активных способностей.
  2. Удаление заклинания основной способности на цели (нашем герое с предметом-резистом) и создание dummy-unit-а (имеющего такую же способность, но с уменьшенным уроном), атакующего цель (один раз), добаляя ей своё, с меньшим уроном, заклинание. Недостаток: можно использовать только для пассивных способностей.
  3. Использование способности "Техника" - при событии атаки/применении способности добавлять эту способность, которая будет "уменьшать/обновлять" урон нужных нам (ядовых) способностей. Недостаток: может использоваться только героем.
Последний и второй способ реализации такой способности покажет Вам, как можно создавать подобные spell-ы-резисторы с помощью редактора объектов и триггеров.

Реализация задачи.


Как мы уже выяснили, успешно сочетать в себе определение и активных, и пассивных способностей, против которых нам необходимо установить "сопротивление", можно, из перечисленных выше способов, при помощи dummy-unit-a и способности "Техника".

Итак, что же их себя представляет эта способность? Способность "Техника" - это способность, которая используется для улучшения способности (способностей) героя (например, в DotA-е по такому принципу сделан один предмет - "Синий посох"). Одна такая способность может иметь в себе 4 любых улучшеных способности героя, правда, в нашем варианте мы, наоборот, будем ухудшать способности (к которым делается сопротивление) при атаке героя или применении spell-а к нему, имеющего наш "предмет-резистор".

Чтобы реализовать создание такого предмета с помощью способности "Техника" нам необходимо сделать следующее:
  1. Создать необходимые способности и предмет в редакторе объектов:
    • Создать дубликаты способностей "Отравленный нож" и "Отравленное оружие" с уменьшенным в два раза (т.е. 50%-м) уроном.
    • Создать на основе способности "Техника" новую способнсть "Яд" для нашего предмета, в которую помещаем наши способности-дубликаты из предыдущего пункта.
    • Создать "предмет-резистор" (назовём его "Амулет Яда") и очистить его поле со способностями (т.е. делаем предмет-пустышку - который не имеет никаких способностей).
  2. Создать триггеры, которые будут обслуживать работу "предмета-резистора".
    • Создание триггеров получения/потери "предмета-резистора".
    • Создания триггеров с событиями атаки (для пассивного spell-a) и применения способности (для активного spell-a) - если герой будет иметь наш предмет-резистор, то атакующему/применяющему способность будет добавляться спосбность "Яд" (на основе способности "Техника"), которая "обновит" его базовые способности до тех, которые имеют 50% исходного урона на время атаки/применения spell-а, против которых уставлено сопротивление.

1. Создание необходимых способностей и предмета в редакторе объектов


Первым делом создадим способность, "обновляющую" базовые способности до таких, которые наносят меньший урон - выбераем способность "Техника" и создаём на её основе способность "Яд".

Далее, мы создаём дубликаты способностей "Отравленное оружие" и "Отравленный нож", уменьшаем им урон вдвое и ставим им суфикс "50%".

Затем, в редакторе объектов выбераем, созданную нами на основе способности "Техника", способность "Яд" и заполняем у неё поля "Данные - Усовершенствование способности (1 и 2)", в каждом из которых устанавливаем базовую способность, а потом дубликат, на который она будет обновляться, т.е. на "уменьшенный" по урону:
  • Усовершенствование способности 1: Отравленное оружие, Отравленное оружие (50%)
  • Усовершенствование способности 2: Отравленный нож, Отравленный нож (50%)

2. Создание триггеров, которые будут обслуживать работу "предмета-резистора"


1. Триггеры, обслуживающие получение/потерю "предмета-резистора".
__________
Триггер, отслеживающий получение предмета ("ResistPoison"):

Код:
События:Боевая еденица-A unit Получает предмет 

Условия:(Iten-type of (Item Carried by(HeroManipulaitingItem) of type Амулет Яда)) равно Амулет Яда 

Действия:
If(All Conditions are True) then do(then Actions) else do (else Action) 
   Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 1(красный) 
   То - Действия:
     Set Hero[0] = (HeroManipulaitingItem) 
   То - Иначе:
     Do Nothing 
     If(All Conditions are True) then do(then Actions) else do (else Action) 
       Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 2(синий) 
       То - Действия:
         Set Hero[1] = (HeroManipulaitingItem) 
       То - Иначе:
         Do Nothing 
         If(All Conditions are True) then do(then Actions) else do (else Action) 
           Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 5(Жёлтый) 
           То - Действия:
             Set Hero[2] = (HeroManipulaitingItem) 
           То - Иначе:
             Do Nothing 
             If(All Conditions are True) then do(then Actions) else do (else Action) 
               Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 7(зелёный) 
               То - Действия:
                 Set Hero[3] = (HeroManipulaitingItem) 
               То - Иначе:
                 Do Nothing
Триггер-Trigger on (PoisonWeapon)

Работа триггера: С помощью события "A unit Получает предмет" и условия проверки того, какой именно предмет получен - (Iten-type of (Item Carried by(HeroManipulaitingItem) of type Амулет Яда)) равно Амулет Яда ) устанавливаем, что какой-то герой подобрал наш предмет-резистор. Затем, проверяем какому игроку принадлежит этот герой и помещаем его в массив, значение индекса которого будет меняться в зависимости от того, кому этот герой принадлежит (чтобы для героя каждого игрока была отдельная переменная). После этого включаем триггер "PoisonWeapon", который является изначально не включённым во избежание его срабатывания до того, как будет определён носитель предмета-резистора.
__________
Триггер, отслеживающий потерю предмета (""ResistOff""):

Код:
События:Боевая еденица-A unit Теряет предмет 

Условия:(Item-type(HeroManipulaitingItem)) равно Амулет Яда
 
Действия:
If(All Conditions are True) then do(then Actions) else do (else Action) 
  Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 1(красный) 
  То - Действия:
    Custom Script set udg_Hero[0] = null 
  То - Иначе:
    Do Nothing 
    If(All Conditions are True) then do(then Actions) else do (else Action) 
      Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 2(синий) 
      То - Действия:
        Custom Script set udg_Hero[1] = null 
      То - Иначе:
        Do Nothing 
        If(All Conditions are True) then do(then Actions) else do (else Action) 
          Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 5(жёлтый) 
          То - Действия:
            Custom Script set udg_Hero[2] = null 
          То - Иначе:
            Do Nothing 
            If(All Conditions are True) then do(then Actions) else do (else Action) 
              Условия:(Owner of(HeroManipulaitingItem)) равно Игрок 7(зелёный) 
              То - Действия:
                Custom Script set udg_Hero[3] = null 
              То - Иначе:
                Do Nothing

Работа триггера: С помощью события "A unit Теряет предмет" и условия-проверки (Item-type(HeroManipulaitingItem)) равно Амулет Яда устанавливаем, что какой-то герой бросил предмет-резистор. После этого мы просто обнуляем (стираем) то значение из массива героев, которое будет соответствовать тому, который бросил предмет-резистор - это исключит возможность применения к ниму тех триггеров, которые будут обеспечивать сопротивление, т.е. при "потере" предмета утратится и сопротивление к определённым spell-aм.

2. Триггеры с событиями атаки (в том числе и с dummy-unit-ом - для пассивного spell-а ), а также применения способности (для активного spell-а).
__________
Триггер, отслеживающий момент атаки обладателя предмета-резиста ("PoisonWeapon") - для пассивной способности, против которой имеется сопротивление:

Код:
События: Боевая еденица-A unit аткован 

Условия: 

Действия:
If(All Conditions are True) then do(then Actions) else do (else Action) 
   Условия:
      Or-Any(Conditions) are true 
          (Attacked unit) равно Hero[0] 
          (Attacked unit) равно Hero[1] 
          (Attacked unit) равно Hero[2] 
          (Attacked unit) равно Hero[3] 
      Unit-type of (Attacking unit) равно (Герой у которого находятся способности от которых у вас Резист) 
   То - Действия:
      Боевая еденица-Add "Техника" to (Attacking unit) 
   То - Иначе:
      Do Nothing 
      If(All Conditions are True) then do(then Actions) else do (else Action) 
         Условия:
            Or-Any(Conditions) are true 
                (Attacked unit) не равно Hero[0] 
                (Attacked unit) не равно Hero[1] 
                (Attacked unit) не равно Hero[2] 
                (Attacked unit) не равно Hero[3] 
            Unit-type of (Attacking unit) равно (Герой у которого находятся способности от которых у вас Резист) 
         То - Действия:
            Боевая еденица-Remove "Техника" to (Attacking unit) 
         То - Иначе:
            Do Nothing

Работа триггера: С помощью собыия и условий этого триггера устанавливаем, что героя с преметом-резистом атакует герой, у котрого есть способности к которым у нашего предмета есть сопротивление. После этого, добавляем атакующему спосбность "Яд" (та, которая сделана на основе способности "Техника"). А потом, если целью атаки не являеся герой с предметом-резистом, мы удалем добавленную ранее (или не добавленную) способность "Яд", чтобы такой атакующий использовал свои способности с полным уроном в отншении тех, у кого нет предмета-резиста.
__________
Триггер, отслеживающий примение негеройской способности, к которой имеется сопротивление (с dummy-unit-ом):

Код:
События: Боевая еденица-A unit Атакован

Условия:
   Or-Any(Conditions) are true 
      (Attacked unit) равно Hero[0]
      (Attacked unit) равно Hero[1]
      (Attacked unit) равно Hero[2]
      (Attacked unit) равно Hero[3]

Действия:
Боевая еденица-Remove buff from (Attacked unit)
Боевая еденица-Create 1 (Dammy) for Нейтрально-пассивный at Position of (Attcked unit) facing Стандартная ориентация здания
Боевая еденица-Order (Last Created Unit) to Атаковать (Attacked unit)
Wait 1.2 seconds
Боевая еденица-Remove(Last Created Unit) from the game

Работа триггера: Проверяем с помощью этого триггера то, что атакован герой с предметом-резистом и удаляем заклинание, которое на него накладывается пасивонй способностью unit-a-негероя. Затем создаём невидимого dummy-unit-a (с атакой "1-1") в точке героя с предметом-ризистом (т.е. атакуемого) и приказываем ему атаковать. Даём ему один раз поразить цель, чтобы он создал на цели заклинание с меньшим уроном, вместо базового, и удаляем из игры.
__________
Триггер, отслеживающий применение способности "Отравленный нож" ("PoisonDagger"):
Код:
События: Боевая еденица-Приводит способность в действие 

Условия:(Ability being Cast) равно Отравленный нож 

Действия:
If(All Conditions are True) then do(then Actions) else do (else Action) 
   Условия:
     Or-Any(Conditions) are true 
            (Target of Ability being Cast unit) равно Hero[0] 
            (Target of Ability being Cast unit) равно Hero[1] 
            (Target of Ability being Cast unit) равно Hero[2] 
            (Target of Ability being Cast unit) равно Hero[3] 
     Unit-type of (Casting unit) равно (Герой у которого находятся способности от которых у вас Резист) 
  То - Действия:---Действие:
     Боевая еденица-Add "Техника" to (Casting unit) 
  То - Иначе:
     Do Nothing 
     If(All Conditions are True) then do(then Actions) else do (else Action) 
        Условия:
           Or-Any(Conditions) are true 
               (Target of Ability being Cast unit) не равно Hero[0] 
               (Target of Ability being Cast unit) не равно Hero[1] 
               (Target of Ability being Cast unit) не равно Hero[2] 
               (Target of Ability being Cast unit) не равно Hero[3] 
           Unit-type of (Casting unit) равно (Герой у которого находятся способности от которых у вас Резист) 
        То - Действия:
           Боевая еденица-Remove "Техника" to (Casting unit) 
        То - Иначе:
           Do Nothing

Работа триггера: Теперь, если к герою с предметом-резистом применяют способность, к которой есть сопротивление, то применяющему (caster-у) добавится способность "Яд" (та, которая сделана на основе сопосбоности "Техника"), что привёдет к "ухудшению" урона от применяемой способности, т.е. обеспечится сопртивление.

Недостатки предложенного варианта реализации способности "предмет-резистор":

  1. Использовать такую способность может только герой, т.к. сопротивление сделано на основе геройской способности "Техника" (за исключением случая с dummy-unit-ом, где уменьшенный урон достигается без её использоваия).
  2. Количество героев у каждого игрока, который может использовать такой предмет не может быть больше одного.

__________

Отредактировано Harakternyk, 20.01.2008 в 18:45.
Старый 15.01.2008, 03:41
Virysru

offline
Опыт: 7,692
Активность:
очень замутно.. Но попробовать можно.
Старый 15.01.2008, 05:53
Harakternyk

offline
Опыт: 2,703
Активность:
Mr_KLOP, по порядку...

» Преимущества
  1. Не слишком оригинальная (для неновичков), но интересная начинающим идея создания способности-сопротивления.
  2. Вариации способов использования способности "техника" и самой идеи способности не рассматривались подробно на Форуме, поэтому материал посвящён актуальной теме.
  3. Предложенный автором материал может быть весьма полезен новичкам, в том числе по части создания триггерных способностей.


» Недостатки
  1. Отсутствует пример наработки (хоть это и необязательно, но нормальная статья, особенно, посвящёная какой-то наработке, должна содержать таковой).
  2. Оформление: а) оргфографические и пунктуационные ошибки; б) запутанное изложение мысли и плохо оформленный тегами текст, в частности "способы использования", описание алгоритма решения задачи (т.к. статья адресована, в первую очередь, новичкам, то будь добр писать понятно и просто, а также так, чтобы текст имел читаемый вид).
  3. Наличие ограничений в использовании, большая часть из которых достаточно просто решаема.


Устрани указаные недостатки и тогда можно будет посмотреть, что ещё сделать, чтобы считать этот материал достойным называться статьёй.

P.S. Уважаемые (сведущие в вопросе, которому посвящена эта тема) пользователи нашего Форума, высказывайтесь по поводу качества и возвожных способов улучшения материала, предложенного Mr_KLOP-ом, в конструктивном ключе. Заранее благодарен!

Отредактировано Harakternyk, 15.01.2008 в 12:02.
Старый 15.01.2008, 09:55
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Это урон уменьшенный юниту от магии,который делать триггерно,недочёт в том что на пассивный спелл нельзя отследить уменьшеный урон из-за защиты юнита из-за этого этот принцип применять только для активных спеллов

примерно такое же использование падаже выдается различными переводчиками. если делаешь перевод в это ничего плохого нет, но надо указывать афтора и ссыль на оригинал. если это не перевод а стилизация под раасказ от лица огра... хм... хотя нет, таких орфографическиз ашипок он не твоирт)

вообще по смыслу статьи что то жуткое и совершенно нечитаемое)
Старый 15.01.2008, 12:51
Klop
Папа римский
offline
Опыт: 13,006
Активность:
За ошибки русского языка не судить,я везде делаю ошибки,если б я писал на украинском то тогда ошибок меньше было бы
Старый 15.01.2008, 19:28
Harakternyk

offline
Опыт: 2,703
Активность:
Mr_KLOP, с устранением ошибок (хотя мне тоже удобнее на украинском, но Форум русский, поэтому изволь на русском изъясняться), и не только..., я тебе помогу, но когда доведёшь всё остальное "до ума".

Прорабатывай саму наработку-идею с учётом всех существенных замечаний, чтобы она была на должном уровне. Успехов тебе

Отредактировано Harakternyk, 15.01.2008 в 19:40.
Старый 15.01.2008, 19:35
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Harakternyk Помойму написанно очень понятно и доступно даже для того кто редактор первый раз открыл и все триггеры сделанны и пример который я делал проверяя уже выложил ,это как наработка только для импорта она неудобна и настраевая,поэтому выглядит как статья ,в котороы написанно как применять триггеры что бы создать сопротивления,людям останется создать подобные триггеры показал активный и пассивный спелл и правельно сделать работу в редакторе обьектов и всё
Старый 15.01.2008, 19:56
BlackStuff

offline
Опыт: 1,656
Активность:
Нормально, но, существуют более универсальные методы, в жасс можно использовать типы урона (огонь, холод и т.п.). Больше ничего не скажу, т.к. эта наработка уже на 90% сделана одним человеком, надеюсь, мы все скоро её увидим...
Старый 15.01.2008, 20:14
Klop
Папа римский
offline
Опыт: 13,006
Активность:
BlackStuff,Очень много людей ,которые джазз даже незнают что это такое,можно упростить два триггера и избавиться в от 3 Ифов просто индекс массива поставить Player Number-Owned of (HeroManipulaitingItem), но сделано что б понять что каждого героя от игрока мы заносим в переменную и при потере предмета обнуляем переменную что бы Герой не аставался в переменной и магия наносила полный урон ,а не половинный,если не обнулять то юнит останется в переменной и будет постоянно наноситься половинный урон
Старый 15.01.2008, 20:34
Harakternyk

offline
Опыт: 2,703
Активность:
Mr_KLOP, наработка не универсальна (только один герой, ограничения по типу юнита) - это самый большой недостаток. Далее, расширение возможностей твоей идеи-способности будет только приветствоваться. Кроме того, объяснение кода надо делать в тексте самой статьи, а не в последующих постах (как тот, который расположен выше данного).

Я лишь хочу помочь тебе сделать то, что будет почитаться многими, а не ограниченным кругом людей, которые относятся, в большенстве своём, к новичкам - материал должен быть универсальным и интересовать многих людей, тем более, что у этой идеи есть большой потенциал стать именно такой, т.е. интересной многим.

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

Я пытаюсь помочь тебе сделать из этого не только хорошую наработку, но и один из образцов работы по созданию триггерных способностей. Однако, выбор за тобой - или дорабатываешь и сделаешь всё как следует (и твоя статья окажется в базе, если тебя никто не опередит...) или эта тема останется висеть, как и многие остальные, незавёршённые по сути затронутых вопросов. Определяйся, вобщем.
Старый 15.01.2008, 21:10
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Harakternyk, я дополнил и теперь тяжелее читается начало. Наверно, лучше было так, как было изначально.

Отредактировано Harakternyk, 19.01.2008 в 19:42.
Старый 19.01.2008, 11:38
Harakternyk

offline
Опыт: 2,703
Активность:
Mr_KLOP, не торопись - хороший труд редко бывает быстрым... Сегодня вечером я переоформлю твою статью. А остальные наработки более широкого масштаба можно будет совместно (кто желает может проконсультировать и помочь) прорабоать после 22-го января.

Будь спокоен - никто не забыл о твоём материале - займусь его судьбой в ближайшее время
Старый 19.01.2008, 14:15
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Harakternyk спасибо!!! Если у кого-то появятся вопросы по этой статье обращайтесь прямо в этом топике.

Отредактировано Harakternyk, 19.01.2008 в 19:39.
Старый 19.01.2008, 15:53
R_A_N_D_O_M

offline
Опыт: 5,372
Активность:
Mr_KLOP статья норм , правда я об этом думал , но я думал что все об этом знают.
Еслиб в Dota-Allstars был бы нормальный резист спеллов то анти-маг рулил бы (правда он и так рулит.)
Старый 19.01.2008, 20:11
Klop
Папа римский
offline
Опыт: 13,006
Активность:
R_A_N_D_O_M, это не общий резист ,а создаваемый для опредёллённых магий т.е. при игре один на один, с Веномансером к примеру, оно бы рулила ,тем более, я не уверен, что все знают!

Отредактировано Harakternyk, 20.01.2008 в 14:13.
Старый 20.01.2008, 03:30
TNT
О_о
offline
Опыт: 11,019
Активность:
Непонятно может быть либо тормазам, либо левым людям, не относящимся к модмейкингу, либо нубам.
Имхо всё в статье доступно сказано, если не можешь понять, не суйся.
Во чо сказал!)
Старый 20.01.2008, 08:23
Harakternyk

offline
Опыт: 2,703
Активность:
Cinderella, знающим людям эта статья мало чем полезна (тем более, что, предложенный автором, алгоритм настолько нуждается в переработке по части его универсализации и устранении текущих ошибок/алогизмов (обрати внимние на причины создания dummy-unit-a; задействование custom script-a для обнуления глобальных переменных...), что может возникнуть вполне обоснованная критичекая его оценка...), поэтому именно новичкам ("нубам") она и адресована, а отсюда, и оформление должно быть соответствующим.

Повторюсь, статья посвящена актуальной (нужной, интересной) теме и заслуживает помещения в базу, которая не содержит публикаций на эту тему, но только после того, как сама эта статья будет нормально оформлена и доработана - я заканчиваю переоформление (технические вопросы и изменение текста статьи, с этим связаные, согласую с автором позже и только после такого согласования, будут внесены какие-либо изменения по существу).

Отредактировано Harakternyk, 20.01.2008 в 16:27.
Старый 20.01.2008, 11:10
Klop
Папа римский
offline
Опыт: 13,006
Активность:
Harakternyk, да, переработанное мне нравится - читается удобнее намного.

Отредактировано Harakternyk, 20.01.2008 в 19:53.
Старый 20.01.2008, 18:33
TNT
О_о
offline
Опыт: 11,019
Активность:
Harakternyk, я что-то говорил про знающих людей?
Старый 20.01.2008, 20:50
Harakternyk

offline
Опыт: 2,703
Активность:
Cinderella, ты сказал, что не понять статью может только, в том числе, новичёк поэтому я и сказал, что статья нуждается в доработке, чтобы даже новичёк её понял, ибо в первичном варианте, она была далека от её нормального восприятия таковым.
Старый 20.01.2008, 21:44

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

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

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

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



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