Библиотека функций - Форум


Правила форума ·

  • Страница 1 из 1
  • 1
Библиотека функций

Dreii

#1
Предлагаю выкладывать свои custom-функции для новичков в мире Jass'a ну и может опытные люди найдут что-нибудь полезное.



Сообщение отредактировал Dreii - Пт, 08.07.11, 17:25

H_A_PK

#2
закрепим

Функции для патчей 1.24+, позволяющие работать с Trackable - объектами, которые ловят мышь.


Воскрешает героя спустя определённый промежуток времени.


Система, позволяющая скрещивать предметы одной функцией. Требует Jass New Gen Pack (vJass).



Конвертирует число из шестнадцатеричной системы в десятичную.


Конвертирует число из десятичной системы в шестнадцатеричную.


Позволяет получить иконку, заполненную цветом определённого игрока.


Функция нанесения урона по линии. Полезна для спеллмейкеров.


Позволяет получить имя игрока в цвете. Поддерживает все 16 игроков.
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#3
Системка позволяющия прикреплять к хендлу нашие данные


Скорость высокая =) чтобы использовать, нужно для начало выделить какую-либо память нам нужно использовать "New Data", укажим тип и имя:

New Data(integer,test1);

И так мы проинициализировали test1, теперь можно хранить целочисловые переменые под именем test1, делается это довольно просто, предположим у нас есть юнит к которому хотим присвоить что либо:

Save(test1,u,10)

и так присвоили к юниту число 10 )

можно прикреплять структуры... допустим:

struct point{
real X;
real Y;
}

New Data(point, test2);

можно несколько

New Data(point, test3);
New Data(point, test4);.

Для чтения используем: Load

Load (test2,u, Ipoin)

Здесь мы присвоили переменной Ipoin, сохроненное значения юнита в test2. для обнуление можно использовать:

Save(test1,u,0/null) (или null или 0, смотря что нужно)
by Эллесар
Прикрепления: 5652854.jpg (14.2 Kb)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#4
MExp (Massge Exp) то как не труд отловить полученный опыт героем. Да и создать плавающий текст рядом с самим героем видный только ему (а точнее его владельцу;)).
Просто каждую секунду записываем текущий опыт героя на его хендл через хеш таблицу. При записи проверяем его прошлое значение, если есть разница то естественно вернуть её нам. А там уж мы создадим плавающий текст.

Да и триггер должен называться exp)
Прикрепления: 7731205.jpg (14.2 Kb)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

[DUОS]

#5
Позапихивал под спойлеры рвущий страницу код.
Школа - это место, где шлифуют булыжники и портят алмазы. © Роберт Ингерсолл

Tzimisce

#6
Улучшенная функция создания dummy юнита.

Code

globals
  integer dummy_id = 0
endglobals

function DummyCreate takes player p returns unit
  return CreateUnit(p,dummy_id,0,0,0)
endfunction


Ну и конечно, исправляю функцию нарка по цветам. Не требует постоянного вызова функции и её обработки. Без утечек, в отличии от функции Нарка.

Code

globals
  string array colormode
endglobals

function InitColor takes nothing returns nothing
   set colormode[0]="|CFFFF0303"
   set colormode[1]="|CFF0042FF"
   set colormode[2]="|CFF1CE6B9"
   set colormode[3]="|CFF540081"
   set colormode[4]="|CFFFFFC00"
   set colormode[5]="|CFFFE8A0E"
   set colormode[6]="|CFF20C000"
   set colormode[7]="|cffff80c0"
   set colormode[8]="|CFF959697"
   set colormode[9]="|CFF7FBFF1"
   set colormode[10]="|cFF106246"
   set colormode[11]="|cFF4E2A04"
   set colormode[12]="|CFF333429"
   set colormode[13]="|cffc1c1ff"
   set colormode[14]="|CFF333429"
   set colormode[15]="|CFF333429"
endfunction

function GetPlayerColorString takes integer p returns string
   return colormode[p]
endfunction

Добавлено (19.03.12, 11:43)
---------------------------------------------
офк коло мод можно использовать так

call GetPlayerColorString(GetPlayerId(your_player_who_you_need))

  • Страница 1 из 1
  • 1
Поиск: