[Способность]Крит(Jass) - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Strateg, Melissa  
[Способность]Крит(Jass)
-
НубикВЕДата: Среда, 25-01-2012, 18:28:51 | Сообщение # 1

загрузка наград ...
Группа: Пользователи
Сообщений: 187
Репутация: 261
Статус: Не на сайте
1-ое создаём условие юнит получает урон
Code
function Trig_Damage_Add_Actions takes nothing returns nothing
     call TriggerRegisterUnitEvent( gg_trg_Damage_Take, GetTriggerUnit(), EVENT_UNIT_DAMAGED )
endfunction

//===========================================================================
function InitTrig_Damage_Add takes nothing returns nothing
     set gg_trg_Damage_Add = CreateTrigger(  )
     call TriggerRegisterUnitInRange( gg_trg_Damage_Add, gg_unit_hhes_0096, 99999.00, null )
     call TriggerAddAction( gg_trg_Damage_Add, function Trig_Damage_Add_Actions )
endfunction

gg_unit_hhes_0096(юнит который стоит на карте в любом месте)
2-ой сам крит.
Code
function Trig_Damage_Take_Actions takes nothing returns nothing
     local real d = GetEventDamage()
     local unit u1 = GetEventDamageSource()
     local unit u2 = GetTriggerUnit()
     local integer i = GetRandomInt( 1, 100 )
     local integer x=GetUnitAbilityLevel( u1, 'A02Z' ) * 30 + GetHeroAgi( u1, true ) * 2

     if GetUnitAbilityLevel(u1, 'A02Z') > 0 and i <= 20 then
     call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\FaerieDragonInvis\\FaerieDragon_Invis.mdl", u2, "chest") )
         call UnitDamageTarget( u1, u2, x, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FORCE, WEAPON_TYPE_WHOKNOWS )
     endif
     set u1 = null
     set u2 = null
endfunction

//===========================================================================
function InitTrig_Damage_Take takes nothing returns nothing
     set gg_trg_Damage_Take = CreateTrigger(  )
     call TriggerAddAction( gg_trg_Damage_Take, function Trig_Damage_Take_Actions )
endfunction

A02Z - id способности

[c][/c]
 
-
CaturnДата: Среда, 25-01-2012, 18:55:53 | Сообщение # 2
Темный рыцарь

загрузка наград ...
Группа: Проверенные
Сообщений: 217
Репутация: 128
Статус: Не на сайте
НубикВЕ, боюсь спросить, ты знаешь какую смысловую нагрузку имеют логические аргументы в функции UnitDamageTarget? Ну и последнее, наработка фейк, утечки, одни утечки, благодаря добавлению события "Юнит получает урон", ибо юниты не герои не воскрешаются, а их хиндлиды остаются, надо юнитов удалять, и удалять их событие "Юнит (хиндлид) получает урон. И каждую секунду добавлять к действию нового юнита. Хотя и переменная типа UnitEvent весит мало, но юнитов могут быть тысячи...
Мои статьи:
1. http://wc3-maps.ru/forum/78-1507-1
Школа тригеростроения, ГУИ.
http://wc3-maps.ru/forum/99-1471-1
 
-
НубикВЕДата: Среда, 25-01-2012, 19:11:36 | Сообщение # 3

загрузка наград ...
Группа: Пользователи
Сообщений: 187
Репутация: 261
Статус: Не на сайте
Caturn, всё работает исправно... хоть милион юнитов!

Добавлено (25/01/2012, 19:11:36)
---------------------------------------------
Caturn, незнаю


[c][/c]
 
-
wetalqДата: Среда, 25-01-2012, 19:38:18 | Сообщение # 4
Король Мёртвых

загрузка наград ...
Группа: V.I.P.
Сообщений: 1263
Репутация: 1572
Статус: Не на сайте
НубикВЕ, а теперь представь что спел будет проверяться не 1 минуту как это делаешь ты а будет использоваться в карте, длина игры 20 минут.

и твой спел даст о себе знать.


Покупка предметов через способность
 
-
CaturnДата: Среда, 25-01-2012, 21:49:00 | Сообщение # 5
Темный рыцарь

загрузка наград ...
Группа: Проверенные
Сообщений: 217
Репутация: 128
Статус: Не на сайте
Прикинь, триггер весит от 100 байт, зависит это от событий и условий. Если мы уничтожаем триггер, то мы автоматом удаляем и события триггера и его условия(при условии, что триггер закончил проверку условия и выполнил намеченные действия).
Ладно, пусть будет у тебя это 1 триггер, с таким массивом событий. А теперь представь что их у тебя пару десятков. И если все триггеры будут работать то у тебя будет банальный лаг, действия какого то триггера не сойдутся, а виной всему этому будут виноваты остальные триггеры. Лучше создавать временные триггеры как в доте, или же, удалять закончившие свою работу триггеры. Т.е. было событие, юнит игрока применил способность. в действии триггера объявляем новый триггер, и юнита цель вписываем в регистр нового триггера. В условии триггера проверяем от кого был получен урон, или баффом. В действии Выключаем триггер, делаем нужные действия, запускаем таймер в 0.1-1 секунду и удаляем триггер, или оставляем всё как есть.

Мои статьи:
1. http://wc3-maps.ru/forum/78-1507-1
Школа тригеростроения, ГУИ.
http://wc3-maps.ru/forum/99-1471-1
 
-
$eni0rДата: Четверг, 26-01-2012, 05:17:13 | Сообщение # 6
Ополченец

загрузка наград ...
Группа: Пользователи
Сообщений: 61
Репутация: 98
Статус: Не на сайте
Судя по тому, что вы тут пишете, мне еще JASS-у учиться и учиться!!! Вообще на другом языке говорите!

P.S.: Оффтопик, сорри

 
-
НубикВЕДата: Четверг, 26-01-2012, 08:21:49 | Сообщение # 7

загрузка наград ...
Группа: Пользователи
Сообщений: 187
Репутация: 261
Статус: Не на сайте
Caturn, wetalq, незнаю у меня в карте игра на 30-60 минут, лагает от груп, и эфектов... Но от этого неочень... Ну а так какой выход использовать убогий атакован?
[c][/c]
 
-
wetalqДата: Четверг, 26-01-2012, 14:55:32 | Сообщение # 8
Король Мёртвых

загрузка наград ...
Группа: V.I.P.
Сообщений: 1263
Репутация: 1572
Статус: Не на сайте
НубикВЕ, есть библиотека с функциями где прямые кодеры её сделали

Покупка предметов через способность
 
-
CaturnДата: Четверг, 26-01-2012, 22:03:56 | Сообщение # 9
Темный рыцарь

загрузка наград ...
Группа: Проверенные
Сообщений: 217
Репутация: 128
Статус: Не на сайте
НубикВЕ, Да. Это единственный выход, ибо мы не можешь проверить тип атаки или дамага. Нету функций. Мб близы подправят, мб нет, но в скрипте есть около 60 функций которых нет в библиотеках, свойственно в варе их нельзя задействовать, как с помощью редактора, так с помощью прямого вливания в бинарный файл.
Для ближнего боя есть вариант, юнит получает урон - 1 событие триггера - по нему основные действия, и 3 других, отдал приказ цель юнит, цель точка, без указания цели - по этим 3 событиям выключаем или уничтожаем триггер(временный).
А вот для дальнего боя гемор будет ещё тот, концепция та же, но плюс таймер и другие проверки.

Мои статьи:
1. http://wc3-maps.ru/forum/78-1507-1
Школа тригеростроения, ГУИ.
http://wc3-maps.ru/forum/99-1471-1
 
-
AstalavistaДата: Воскресенье, 04-03-2012, 08:26:25 | Сообщение # 10
I`m gavno

загрузка наград ...
Группа: Заблокирован
Сообщений: 178
Репутация: -268
Статус: Не на сайте
УДАЛЕНО
Я гавно, нет, ну правда.
 
-
Dreii2915Дата: Среда, 21-03-2012, 14:30:29 | Сообщение # 11
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Не на сайте
Во первых добавляем событие для всех кто входит рна карту\либоу уже стоит на ней
во вторых при нанесении дамага в триггере выклучай этот триггер а после вклучай иначе у тебя будет что то вроде такого

ударил - сработал триггер - нанес крит -сработал триггер и т.д

а то что говорили тебе выше все глупости.
 
  • Страница 1 из 1
  • 1
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat