Сейчас 15:48:15 Четверг, 26 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
[ВАЖНО] Jass: Полезные функции
[DS]Дата: Пятница, 15 Июля 2011, 16:13:08 | Сообщение # 151
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Функция для Перезарядки определенной способности
Code
function ResetAbilityCooldown takes unit u, integer id returns nothing
      local integer lvl = GetUnitAbilityLevel(u,id)
      call UnitRemoveAbility(u,id)
      call UnitAddAbility(u,id)
      call SetUnitAbilityLevel(u,id,lvl)
endfunction




Сообщение отредактировал [DS] - Пятница, 15 Июля 2011, 16:14:21
 

DragoNДата: Понедельник, 18 Июля 2011, 18:05:09 | Сообщение # 152
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Удалять и добавлять абилку - бред
есть функция для обнуления кд


El Psy Congroo
 

FaionДата: Понедельник, 18 Июля 2011, 21:36:45 | Сообщение # 153
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (|DS|)
function ResetAbilityCooldown takes unit u, integer id returns nothing
local integer lvl = GetUnitAbilityLevel(u,id)
call UnitRemoveAbility(u,id)
call UnitAddAbility(u,id)
call SetUnitAbilityLevel(u,id,lvl)
endfunction


А еще у тебя абсолютно лишнее объявление локалки. Делай лучше вот так:

call UnitRemoveAbility(u,id)
call UnitAddAbility(u,id)
call SetUnitAbilityLevel(u,id,GetUnitAbilityLevel(u,id))

Другое дело когда ты используешь параметр больше 1 раза, то вероятно будет работать алгоритм быстрее, если таки вынести результат который возвращает функция в локалку.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

ЭллесарДата: Пятница, 22 Июля 2011, 01:36:19 | Сообщение # 154
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Quote (DragoN)
Удалять и добавлять абилку - бред
есть функция для обнуления кд

Какая? рефреш ? она действует на все скилы

Добавлено (22-07-2011, 01:35)
---------------------------------------------

Quote (Faion)
call UnitRemoveAbility(u,id)
call UnitAddAbility(u,id)
call SetUnitAbilityLevel(u,id,GetUnitAbilityLevel(u,id))

Другое дело когда ты используешь параметр больше 1 раза, то вероятно будет работать алгоритм быстрее, если таки вынести результат который возвращает функция в локалку.


У тебя руки растут из 1 места

Добавлено (22-07-2011, 01:36)
---------------------------------------------
Мне интересно куда делать старая тема с функциями ? была библиотека с молниями....


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

FaionДата: Пятница, 22 Июля 2011, 11:46:32 | Сообщение # 155
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (Эллесар)
У тебя руки растут из 1 места

Обоснуй.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

[DS]Дата: Вторник, 26 Июля 2011, 00:05:46 | Сообщение # 156
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
(u,id,GetUnitAbilityLevel(u,id))
она же потом будет 1ого лвл.
Надо сперва записать, а потом установить.


 

FaionДата: Вторник, 26 Июля 2011, 00:57:30 | Сообщение # 157
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (|DS|)
(u,id,GetUnitAbilityLevel(u,id))
она же потом будет 1ого лвл.
Надо сперва записать, а потом установить.


Возможно без cjass так и будет(в чем я сомневаюсь), но c cjass, так работает, т.к. функция возвращает значение в другую функцию.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

H_A_PKДата: Вторник, 26 Июля 2011, 08:51:04 | Сообщение # 158
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (Faion)
Обоснуй.

Faion,
Quote (Эллесар)
У тебя руки растут из 1 места

Quote (Faion)
call UnitRemoveAbility(u,id)
call UnitAddAbility(u,id)
call SetUnitAbilityLevel(u,id,GetUnitAbilityLevel(u,id))

Faion, ты идиот ? avtorklif
Quote (Faion)
Возможно без cjass так и будет(в чем я сомневаюсь), но c cjass, так работает, т.к. функция возвращает значение в другую функцию.

идиот .-.


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец


Сообщение отредактировал H_A_PK - Вторник, 26 Июля 2011, 08:55:29
 

FkoFFДата: Вторник, 26 Июля 2011, 09:49:27 | Сообщение # 159
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (Faion)
(в чем я сомневаюсь)

имба джассер, следи за мыслью:

Ты удаляешь способность с юнита (допустим 3-лвл способности был)
Ты добавляешь способность юниту (ту же самую)
Ты приказываешь триггеру установить уровень только что выданной способности на уровень только что выданной способности.

Смекаешь где ошибка и что будет?


 

H_A_PKДата: Вторник, 26 Июля 2011, 11:29:02 | Сообщение # 160
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (FkoFF)
Дата: Вторник, Сегодня, 09:49 | Сообщение # 164

Faion, автор как бы подсказывает тебе откуда руки растут buba


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FaionДата: Вторник, 26 Июля 2011, 16:04:06 | Сообщение # 161
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
FkoFF, ступил.

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

[DS]Дата: Вторник, 26 Июля 2011, 16:33:48 | Сообщение # 162
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Ну, а я о чем говорил:
"она же потом будет 1ого лвл."


 

FkoFFДата: Среда, 27 Июля 2011, 08:38:05 | Сообщение # 163
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Напоминаю о правилах форума присутствующим.

 

kirpi4Дата: Вторник, 09 Августа 2011, 16:03:24 | Сообщение # 164
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Блокировки:
Quote (Эллесар)
старая тема

она у меня теперь.
 

NerZul121Дата: Среда, 07 Сентября 2011, 19:34:07 | Сообщение # 165
3 уровень
Группа: Проверенные
Сообщений: 55
Награды: 0
Репутация: -6
Блокировки:
Вот функция, которая всё-таки поднимает камеру над землёй (без лишнего)
Code
local location loc   
local real HeroZ   
set loc = (GetUnitLoc(udg_Hero))   
set HeroZ = GetLocationZ(loc)   
call SetCameraFieldForPlayer( Player(0), CAMERA_FIELD_ZOFFSET, HeroZ, 0 )
 

lawsonДата: Среда, 07 Сентября 2011, 20:09:45 | Сообщение # 166
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
NerZul121, Здесь выкладываются функции которые не зависят от игроквых перменных типа udg_Hero.
так как я понятия не имею что делает эта функция, но как тебе ее надо было оформить.

function FUNCTION takes real HeroZ, player p return nothing
call SetCameraFieldForPlayer( p, CAMERA_FIELD_ZOFFSET, HeroZ, 0 )
endfunction

а вызываться она будет так

call FUNCTION(GetLocationZ(GetUnitLoc(unit)), Player(player id))


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

SirNikolasДата: Четверг, 08 Сентября 2011, 10:44:56 | Сообщение # 167
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:


 

lawsonДата: Суббота, 24 Сентября 2011, 17:18:21 | Сообщение # 168
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:

Добавлено (24 Сентябрь 2011, 17:18:21)
---------------------------------------------
Так как не нашел на форуме такую же функцию, вот элементарнийшая функция на сборку двух одинаковых предметов.



Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 08 Сентября 2011, 16:39:42
 

†Doctor†Дата: Среда, 23 Ноября 2011, 21:57:11 | Сообщение # 169
1 уровень
Группа: Проверенные
Сообщений: 15
Награды: 0
Репутация: 20
Блокировки:
lawson, не отвечает описанию, а именно выполняет только часть работы, на входе должны быть юнит и два ИД предметов. И не указано, что предметов не должно быть больше 2.
 

Ty3uKДата: Четверг, 24 Ноября 2011, 08:22:16 | Сообщение # 170
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Не шаришь. Функа берет юнита, тип предмет, нужное количество предметов и возвращает предмет. Количество предметов может быть от двух (а не онли более двух)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

†Doctor†Дата: Четверг, 24 Ноября 2011, 16:33:20 | Сообщение # 171
1 уровень
Группа: Проверенные
Сообщений: 15
Награды: 0
Репутация: 20
Блокировки:
Ty3uK, ты это кому?
Я ругаю lawson, Сообщение # 173
 

Ty3uKДата: Четверг, 24 Ноября 2011, 16:42:35 | Сообщение # 172
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Тебе и говорю. Функа берет юнита, тип предмета и количество предметов этого типа. Циклом (вроде как им) чекает количество предметов этого типа. После того, как их количество равно аргументу, предметы удаляются и дается скрещенный предмет. Все правильно

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

IIAXAHДата: Четверг, 24 Ноября 2011, 17:00:47 | Сообщение # 173
3 уровень
Группа: Проверенные
Сообщений: 72
Награды: 0
Репутация: 26
Блокировки:
Функция берет юнита, последний полученный этим юнитом предмет и ИД скрещенного предмета. Если у юнита есть хотя еще 1 такой же предмет, как указанный в аргументах, то все такие предметы удаляются, взамен дается 1 скрещенный предмет. То есть и за 2, и за 6 нескрещенных предмета дается только 1 скрещенный.
1
Quote
Не шаришь

2
Quote
нужное количество предметов

3
Quote
возвращает предмет

4
Quote (Ty3uK)
количество предметов этого типа

5
Quote (Ty3uK)
их количество равно аргументу

6
Quote (Ty3uK)
Все правильно

1-6 -- не верно.
 

lawsonДата: Четверг, 24 Ноября 2011, 17:57:03 | Сообщение # 174
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (lawson)
function GetDoubleItem takes unit u, item t, integer i returns nothing

Объяснияю по пальцам.
unit u - Юнит с который производятся действия
item t - Предмет над которым производятся действия и по которому я буду искать второй схожий предмет
integer i - рав код предмета который будет даваться после того как найдется еще один предмет схожий с item t.
Все ОК?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 24 Ноября 2011, 17:57:14
 

IIAXAHДата: Четверг, 24 Ноября 2011, 17:59:18 | Сообщение # 175
3 уровень
Группа: Проверенные
Сообщений: 72
Награды: 0
Репутация: 26
Блокировки:
Ty3uK, ты теперь пишешь как дуос. Обещания раздавать будешь?
PS "оффтоп" - окей п. IV.9, жму на жалоба.
 

Поиск:

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