![]()  | 
 | 
		
			
  | 	
	
		|||||||
Библиотека заклинанийЕсли вы хотите поделиться своими триггерными и JASS-заклинаниями, то можете оставлять их здесь.  
Желательно иметь, в карте, небольшое руководство для новичков, по установке вашего творения на другую карту. 
» Шаблон выкладывания способностей:
 
Название: название заклинания 
Метод исполнения: GUI, Jass (v*, c*) Нужен ли JNGP: да или нет Тип цели: юнит, точка, область, без цели Результат применения: целое описание Количество уровней: 0-255 Вызов заклинания на цель: buff, если есть Наличие глобальных переменных: да или нет Дополнительные аргументы(такие, как вызов новых юнитов, предметов, требования, и прочее) 
Шаблон можно просто скопировать здесь, вставить в свое сообщение, и заполнить Выполняется для каждой способности, независимо от количества карт. 
Правила темы:
 
 Заявки, не удовлетворяющие правилам, будут удаляться  | 
![]()  | 
		
	
| 
		 | 
![]() 
		
		nvc123
		
	 
	new status 
offline
 
Опыт: 
59,334Активность:  | 
	
		
			
			 скилы готовые а не идеи  | 
| 
			
			 | 
	
![]() 
		
		эскалибур
		
	 
	offline
 
Опыт: 
547Активность:  | 
	
		
			
			 nvc123,  так это библиотека заклинаний! Вот и скилы готовые выкладывают. Идеи  - твоя задача. Осуществить - можно попросить в Заклинаниях на заказ.  | 
| 
			
			 | 
	
![]() 
		
		Vadik29
		
	 
	Choice Battle 1.6а 
offline
 
Опыт: 
15,245Активность:  | 
	
		
			
			 эскалибур, 
 Вообще-то нет.  | 
| 
			
			 | 
	
![]() 
		
		nvc123
		
	 
	new status 
offline
 
Опыт: 
59,334Активность:  | 
	
		
			
			 так ты сам скил не залил, только описание  | 
| 
			
			 | 
	
![]() 
		
		эскалибур
		
	 
	offline
 
Опыт: 
547Активность:  | 
	
		
			
			 nvc123,  забыл вставить в текст... Щас, отредактирую.  | 
| 
			
			 | 
	
![]() 
		
		nvc123
		
	 
	new status 
offline
 
Опыт: 
59,334Активность:  | 
	
		
			
			 я могу залить пару скилов только их придётся отредактировать 
nvc123 добавил: то-есть добавить коменты и прочее  | 
| 
			
			 | 
	
![]() 
		
		Амбидекстрия
		
	 
	Silenced by ScorpioT1000 
offline
 
Опыт: 
8,237Активность:  | 
	
		
			
			 Название: Второе дыхание. 
Метод исполнения: vJass, хоть сколько юнитов могут юзать способность. Нужен ли JNGP: + Тип цели: Пассивное. Результат применения: Юнит излечивается на определённое количество здоровья. Количество уровней: сколько влезет. Вызов заклинания на цель: баффа нету. Наличие глобальных переменных: Чтобы спелл работал, у вас должна быть инициализированная хэш-таблица с названием hash( у меня она записана в глобалку, поэтому в коде используется udg_hash) Простенький, легко настраиваемый код. Спелл - Аналог варовского Второго дыхания из WOW, когда юнит атакован( у меня событие именно атакован, а не получает урон) и у него менее x% хп, то запускается процесс лечения. Все настройки внутри кода с помощью глобалок. 
» код
 Отредактировано Амбидекстрия, 11.06.2013 в 11:36.  | 
| 
			
			 | 
	
![]() 
		
		Goodie
		
	 
	offline
 
Опыт: 
2,825Активность:  | 
	
		
			
			 Амбидекстрия, Код не оптимизирован, советую почитать статьи по оптимизации 
Goodie добавил: 
 | 
| 
			
			 | 
	
![]() 
		
		Амбидекстрия
		
	 
	Silenced by ScorpioT1000 
offline
 
Опыт: 
8,237Активность:  | 
	
		
			
			 Goodie:
 Lol, если не обнуление пары переменных это уже у тебя считается не оптимизированным кодом, то это странно, в любом случае, все исправил, код максимально безутечный.  | 
| 
			
			 | 
	
![]() 
		
		Goodie
		
	 
	offline
 
Опыт: 
2,825Активность:  | 
	
		
			
			 Goodie, Спасибо за понимание) 
Кстати некоторые переменные можно переделать в дефайны Goodie добавил: 
((код jass 
 set count=count-- может быть так? set count-=1 или так set count-- или так set count = count - 1 ))  | 
| 
			
			 | 
	
![]() 
		
		Амбидекстрия
		
	 
	Silenced by ScorpioT1000 
offline
 
Опыт: 
8,237Активность:  | 
	
		
			
			 Goodie:
 можно, но хотел не прибегать к использованию макросов, т.к. cJass многим непонятен, а глобалки - привычное дело. Можно даже все переписать под cJass, что сократит количество символов в полтора раза) да, точно, но правда все эти варианты равнозначны, так что можно юзать любой, переделаю в count-- Отредактировано Амбидекстрия, 11.06.2013 в 11:13.  | 
| 
			
			 | 
	
![]() 
		
		Ice_Arrow
		
	 
	offline
 
Опыт: 
12Активность:  | 
	
		
			
			 
				Land Mine
			 
			
		
		
		Установка "мины" в центре указанной области которая срабатывает если вражеский юнит  [или группа юнитов]  перемещается неподалеку от неё. Если мина не зарегистрировала достаточное количество "перемещений" то она не детонирует . Насколько"мина" близка к детонации можно судить по её цвету [ Зелёный-Красный]. Если враги не двигаются, то и мина не реагирует. Способность создана на основе спелла "Канал" и имеет 1 уровень, но это исправимо. Выполнен на Jass'e без использования всяких нано технологий. Комменты, подсказки и инструкция по копированию внутри мапы.  | 
| 
			
			 | 
	
![]() 
		
		Buulichkaa
		
	 
	Делаю спеллы за еду 
offline
 
Опыт: 
19,771Активность:  | 
	
		
			
			 Ice_Arrow, Не оптимизировано, есть ненужные действия, есть утечки + не обнуляются локальные хендлы + таблицы хуже глобалок 
Sargaraser добавил: ещё и вейт DX + запись в переменную путем записи последнего юнита из переменной в свою переменную - бред придуманный гуями, потренируйся ещё в создании скилов + почитай статьи по оптимизу, потому глядишь мб че норм выйдет  | 
| 
			
			 | 
	
![]() 
		
		Cosonic5
		
	 
	Моймозггоритогнем 
offline
 
Опыт: 
13,584Активность:  | 
	
		
			
			 Герой:Иглогрив Метод исполнения:jass Нужен ли JNGP: нет Тип цели:враги,точка, сам воин Вызов заклинания на цель:да Наличие глобальных переменных:нет Отредактировано Cosonic5, 26.08.2013 в 11:22.  | 
| 
			
			 | 
	
![]() 
		
		Cosonic5
		
	 
	Моймозггоритогнем 
offline
 
Опыт: 
13,584Активность:  | 
	
		
			
			 Герой Мев Метод исполнения:jass Нужен ли JNGP: нет Тип цели:враги,точка, сам воин Вызов заклинания на цель:да Наличие глобальных переменных:нет  | 
| 
			
			 | 
	
![]() 
		
		LordSerga
		
	 
	offline
 
Опыт: 
3,809Активность:  | 
	
		
			
			 Название: Смертельный скачок 
Метод исполнения: jass Нужен ли JNGP: нет Тип цели: область Результат применения: Телепортация на небольшое расстояние, позволяющая мгновенно приблизиться к противникам или выйти из боя. На месте отправления и приземления создаются энергетические заряды, наносящие урон противникам. Количество уровней: 1 и более (не ограничено) Наличие глобальных переменных: нет Телепортация на короткое расстояние не позволит нанести урон одному воину дважды. Область нанесения урона - 325 и может быть изменена, как и урон. 
» код здесь (кликабельно)
 Отредактировано LordSerga, 03.09.2013 в 22:46.  | 
| 
			
			 | 
	
![]() 
		
		DualShock
		
	 
	offline
 
Опыт: 
4,983Активность:  | 
	
		
			
			 LordSerga, твой код плохо читается + некоторые юниты не фильтруются, предлагаю более крутой вариант: 
в идеале еще нужны глобалки  | 
| 
			
			 | 
	
![]() 
		
		LordSerga
		
	 
	offline
 
Опыт: 
3,809Активность:  | 
	
		
			
			 DualShock:
 
 
» код скрыт под катом (кликабельно)
 
 
 Зачем это еще? 
Я от глобалок уходил, чтобы в одном триггере делать множество действий с разными способностями. Вот пример: PS: Отдельный Condition для триггера (как и boolexpr для группы) тратит больше ресурсов процессора и ОЗУ (работает намного медленнее, чем простое условие), нежели приведенная ниже система. 
А на счет этого 
Нет гарантии, что при двойном вызове GroupEnum...() данные о первом вызове функции не затрутся. 
Я использовал 2 группы, с помощью цикла проверял отсутствие юнита из Group2 в Group1. Если юнит отсутствует - я его добавляю в Group1. Таким образом нет утерянных юнитов, которые должны получить урон. На хабре постоянно выкладывают статьи с примерами оформления кода, увидел некоторые примеры именно в таком оформлении, стал оформлять так же. Усложнять фильтр нужно, только если есть какие особенности на карте. К прмеру, катапальта, которая должна получать меньше урона (хотя это можно реализовать через таблицу получения урона в зависимости от типа защиты [в игровых константах], с учетом, разумеется, типа брони и атаки) 
Отредактировано LordSerga, 03.09.2013 в 22:42.  | 
| 
			
			 | 
	
![]() 
		
		DualShock
		
	 
	offline
 
Опыт: 
4,983Активность:  | 
	
		
			
			 LordSerga:
 
ну тут да, я дно D: LordSerga: 
 
Это не критично, лишние байты ничего не решат и бегать за ними глупо. У любого современного компьютера достаточно производительности что бы справиться с этим, будь их хоть 500, есть более важные вещи на которые нужно обращать внимание. Глобалки нужны для того что бы удобно настраивать способности. А вот этот код который выше вообще бред, это будет все разбито на кучу частей, в таком коде быстро разобраться сможет только тот кто его написал. 
DualShock добавил: 
вот я еще не понял для чего это  | 
| 
			
			 | 
	
![]() 
		
		Extremator
		
	 
	offline
 
Опыт: 
43,514Активность:  | 
	
		
			
			 Кое-что придумал 
сделал, и решил выложить тут! ^^ По-мойму  в кой-то веки сделал нечто необычное! хД 
Bounty GreedТип применения: Точка (эффект задевает всех вокруг точки / курсор имеет вид области) 
Цели заклинания: Враги в указанной области (в радиусе до 400/600/800 AoE от точки применения) Описание:  Делает всех подверженных заклинанию врагов личной добычей героя. 
Это означает что убийство любого из них будет засчитываться этому самому герою! Результат применения: Делает так, что любой умирающий юнит приносит золото/опыт тому кто применил это заклинание. 
Вешает на всех врагов (не героев и не здания) в области 400/600/800 АоЕ от точки применения заклинания бафф, который длится 10/20/30 секунд. Любой умирающий юнит (не естественной смертью) становится добычей героя (получает золото и опыт как-будто он сам его убил, при этом опыт может быть не получен, если герой был слишком далеко от этого юнита - это стандарт распределения опыта в варкрафте). Для героя: Да Количество уровней: 3 уровня Тип исполнения: GUI (MUI) Вызов заклинания на цель (buff): Да, особый триггерный бафф на основе ауры (на себя). Не перебивается другими стандартными баффами. Отредактировано Extremator, 02.10.2013 в 02:41.  | 
| 
			
			 |