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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Преобразование BJ функции
EnforcerДата: Среда, 22 Июля 2009, 19:23:10 | Сообщение # 1
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Просьба знающим расписать преобразование BJ-функции в обычные

Например функция UnitAddAbilityBJ, которая дает способность юниту.


    function UnitAddAbilityBJ takes integer abilityId, unit whichUnit returns boolean
    return UnitAddAbility(whichUnit, abilityId)
    endfunction

Если whichUnit - это юнит которому дают способность, то, так понял можно просто UnitAddAbility(whichUnit, abilityId) ?


 

BuHHu-nyXДата: Среда, 22 Июля 2009, 20:28:17 | Сообщение # 2
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
Quote (Enforcer)
Если whichUnit - это юнит которому дают способность, то, так понял можно просто UnitAddAbility(whichUnit, abilityId) ?

Не работает, я пробовал, просто блокирует триггер.


 

DragoNДата: Среда, 22 Июля 2009, 20:42:55 | Сообщение # 3
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Enforcer,
Code
UnitAddAbility(whichUnit, abilityId)

whichUnit - юнит,которому надо добавить абилку
abilityId - рав код абилки


El Psy Congroo
 

EnforcerДата: Четверг, 23 Июля 2009, 01:39:48 | Сообщение # 4
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
Dragon93, однако
Quote (BuHHu-nyX)
Не работает


 

BuHHu-nyXДата: Четверг, 23 Июля 2009, 09:57:40 | Сообщение # 5
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
Может нужно JNGP скачать, чтобы работало? о_О

 

Gam_OverДата: Четверг, 23 Июля 2009, 10:21:49 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
BuHHu-nyX, толку? это стандартная native-функция... она должна работать без всяких JNGP
 

DragoNДата: Четверг, 23 Июля 2009, 13:06:49 | Сообщение # 7
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (Gam_Over)
BuHHu-nyX, толку? это стандартная native-функция... она должна работать без всяких JNGP

+1
Enforcer, у меня работало,я просто менял аргументы местами..так что работать должно...


El Psy Congroo
 

BuHHu-nyXДата: Четверг, 23 Июля 2009, 16:10:41 | Сообщение # 8
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
А как например set u = GetAttackedUnitBJ() непосредственно без BJ сделать? -)

 

DragoNДата: Четверг, 23 Июля 2009, 16:25:40 | Сообщение # 9
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
вроде GetTriggerUnit()
хотя хз


El Psy Congroo
 

Gam_OverДата: Четверг, 23 Июля 2009, 16:37:57 | Сообщение # 10
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
BuHHu-nyX, тебе нужно проверить атакованного юнита? или атакующего?
просто уточнить
 

BuHHu-nyXДата: Четверг, 23 Июля 2009, 16:51:34 | Сообщение # 11
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
Quote (Dragon93)
вроде GetTriggerUnit()
хотя хз

Эээ х)) По моему, это исключение. -)

Quote (Gam_Over)
BuHHu-nyX, тебе нужно проверить атакованного юнита? или атакующего?
просто уточнить

Нет, мне нужно записать в переменную атакованного юнита, но БЕЗ BJ. -) Если я тупо убираю BJ(а иногда работает ведь), ругается на неё. -)

Enforcer, насчет твоего вопроса, сделай, как сказал Dragon93, просто поменяй ID скилла и переменную юнита. -)


 

Gam_OverДата: Четверг, 23 Июля 2009, 17:20:10 | Сообщение # 12
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
BuHHu-nyX, а понял... попробуй вот это... одно из двух :)

Code
GetEnumUnit()
GetTriggerUnit()

Quote (BuHHu-nyX)
По моему, это исключение. -)

не... есть исключения но их оч мало
 

agentexДата: Четверг, 23 Июля 2009, 17:38:49 | Сообщение # 13
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
Ой какой бред.. вы сами то думаете что постите?
Quote

Может нужно JNGP скачать, чтобы работало? о_О

это вобще ноу коментс.

ладно по сабжу: идем в common.j и смотрим какие нативки есть. можно также скачать japi, там все нативки распределены по апи для удобства.

Добавлено (23-07-2009, 17:36)
---------------------------------------------

Quote

Если whichUnit - это юнит которому дают способность, то, так понял можно просто UnitAddAbility(whichUnit, abilityId) ?

верно. и не слушай бреда который тут в моде.

Добавлено (23-07-2009, 17:38)
---------------------------------------------

Quote

А как например set u = GetAttackedUnitBJ() непосредственно без BJ сделать? -)

T_T GetTriggerUnit() не пробовал?
Quote

По моему, это исключение. -)

фэйл
 

Gam_OverДата: Четверг, 23 Июля 2009, 17:50:00 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
agentex, а для чего GetEnumUnit?
 

BuHHu-nyXДата: Четверг, 23 Июля 2009, 18:40:35 | Сообщение # 15
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
Quote (agentex)

T_T GetTriggerUnit() не пробовал?

Эээ... Вообще я нуб в этом. оО GetTriggerUnit() разве не может на любого другого юнита переключиться?

Да и вообще, разве нету аналога той функции в нативе? -))


 

Gam_OverДата: Четверг, 23 Июля 2009, 19:07:05 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
BuHHu-nyX, аналога нет :( но эта функция будет ссылаться на юнита в событии преимущественно
 

ZakharДата: Четверг, 23 Июля 2009, 19:14:18 | Сообщение # 17
2 уровень
Группа: Заблокированные
Сообщений: 28
Награды: 0
Репутация: 7
Блокировки:
событие Cinematic Skipped
Custom Script: local unit uTTz=CreateUnit(Player(0),'hsor',0,0,0)
Custom Script: call UnitAddAbility(uTTz,'ANch')
И че тут не работает?
Get Trigger Unit - буквально получить юнита из-за которого сработал триггер.


Следы моей активности на форуме удалить
 

Gam_OverДата: Четверг, 23 Июля 2009, 19:24:02 | Сообщение # 18
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
все работает :)

Сообщение отредактировал Gam_Over - Четверг, 23 Июля 2009, 19:29:21
 

DragoNДата: Четверг, 23 Июля 2009, 21:13:01 | Сообщение # 19
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
BuHHu-nyX, я просто раскрыл ту бж...
Quote (Gam_Over)
agentex, а для чего GetEnumUnit?

Gam_Over, GetEnumUnit() - выбранный юнит...


El Psy Congroo
 

EnforcerДата: Четверг, 23 Июля 2009, 23:41:21 | Сообщение # 20
Энф
Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
BuHHu-nyX, вообще то я тему создал что бы выписать все BJ функции и их замены)))

 

ZakharДата: Пятница, 24 Июля 2009, 00:06:50 | Сообщение # 21
2 уровень
Группа: Заблокированные
Сообщений: 28
Награды: 0
Репутация: 7
Блокировки:
Все-все до посинения?
Плати и мы все сделаем. Дадим самые оптимальные варианты. А за бесплатно вставляй что там написано в blizzard.j


Следы моей активности на форуме удалить
 

DragoNДата: Пятница, 24 Июля 2009, 00:13:50 | Сообщение # 22
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (Zakhar)
Дадим самые оптимальные варианты. А за бесплатно вставляй что там написано в blizzard.j

common.j рулит!


El Psy Congroo
 

Gam_OverДата: Пятница, 24 Июля 2009, 07:17:19 | Сообщение # 23
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
Enforcer, уж лучше что бы спрашивали а мы отвечали чем расписывать каждую, там их очень много
 

BuHHu-nyXДата: Пятница, 24 Июля 2009, 08:40:02 | Сообщение # 24
50 уровень
Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
Quote (Enforcer)
BuHHu-nyX, вообще то я тему создал что бы выписать все BJ функции и их замены)))

Ну мне бы не помешало. -))

А насчет GetTriggerUnit(), я попробую.


 

agentexДата: Пятница, 24 Июля 2009, 20:50:58 | Сообщение # 25
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
BuHHu-nyX, читай:
Code

function GetAttackedUnitBJ takes nothing returns unit
       return GetTriggerUnit()
endfunction

надеюсь вопросов по данной теме больше нет?

GetEnumUnit() возвращает юнита из группы, пример:

Code

function EnumFunc takes nothing returns nothing
call BJDebugMsg("enum unit name="+GetUnitName(GetEnumUnit()))
endfunction

function GroupScan takes nothing returns nothing
local group g = CreateGroup()
call GroupEnumUnitsInRange(g, 0, 0, 1000, null)
call ForGroup(g, function EnumFunc) //<- перебор группы
//...
endfunction

т.е. ForGroup перебирает всех юнитов в группе, а енум юнит возвращает каждого последующего.

Добавлено (24-07-2009, 20:50)
---------------------------------------------
да, данный код выводит на экран имена всех юнитов в радиусе 1000 от центра карты

Сообщение отредактировал agentex - Пятница, 24 Июля 2009, 20:52:10
 

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

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