Сейчас 05:29:33 Среда, 28 сентября, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Фильтры только для одного игрока
Фильтры только для одного игрока
NerobrineДата: Вторник, 19 Августа 2014, 22:11:55 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
Как применять фильтры только для одного игрока? Например чтобы сделать весь экран одного игрока черным, а у другого оставить как было.

"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх."
Петир Бейлиш - Игра престолов
 

MelodiaДата: Вторник, 19 Августа 2014, 23:45:01 | Сообщение # 2
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
могу дать функцию, но она по сути нахрен не нужна.
Ставь гетлокал плеер и показывай фильтр, все дела.


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

NerobrineДата: Среда, 20 Августа 2014, 00:38:13 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
Melodia, ниче не понял

"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх."
Петир Бейлиш - Игра престолов
 

MelodiaДата: Среда, 20 Августа 2014, 03:29:01 | Сообщение # 4
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
действия показа фильтра же знаешь где?
а чтобы для 1 было - пишешь
if getlocalplayer=getowningplayer(gettriggerunit) then
показать фильтр
endif

или как то так, в соседнем разделе поищи,если не знаком.


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

Q1wAseДата: Среда, 20 Августа 2014, 07:46:07 | Сообщение # 5
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
GetLocalPlayer()

 

BiboДата: Среда, 20 Августа 2014, 11:22:12 | Сообщение # 6
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
GetOwningPlayer(GetTriggerUnit())
 

NerobrineДата: Среда, 20 Августа 2014, 14:57:24 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
Можно пример такого триггера?

"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх."
Петир Бейлиш - Игра престолов
 

MelodiaДата: Среда, 20 Августа 2014, 15:22:25 | Сообщение # 8
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

NerobrineДата: Четверг, 21 Августа 2014, 01:36:52 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
Melodia, а как мне обозначить игрока владельца юнита, который использовал предмет? (Проще говоря герой манипулирует предметом)

"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх."
Петир Бейлиш - Игра престолов


Сообщение отредактировал Nerobrine - Четверг, 21 Августа 2014, 02:03:20
 

BiboДата: Четверг, 21 Августа 2014, 16:48:38 | Сообщение # 10
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
GetManipulatingUnit()
Если я правильно тебя понял.


Сообщение отредактировал Bibo - Четверг, 21 Августа 2014, 16:49:44
 

FEARKILLERДата: Четверг, 21 Августа 2014, 17:49:24 | Сообщение # 11
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата Nerobrine ()
а как мне обозначить игрока владельца юнита, который использовал предмет? (Проще говоря герой манипулирует предметом)

GetTriggerUnit() является универсальной нативкой, возвращающей юнита, у которого сработало событие, проще говоря GetTriggerUnit() можно использовать везде и не нужна тебе уникальная нативка GetManipulatingUnit() для этого, так так GetManipulatingUnit()==GetTriggerUnit().
Единственное где нужны уникальные нативки вроде GetAttacker() или GetKillingUnit(), это события: получение урона/юнит атакован/юнит умирает/вызов боевой единицы и им подобные, где при срабатывании события участвует 2 юнита. Вот в таком случае одной универсальной нативкой GetTriggerUnit() не обойтись.
И это GetOwningPlayer(GetTriggerUnit()) можешь заменить на это GetTriggeringPlayer(), разницы нет, вызовов только меньше (но, нативка GetTriggeringPlayer() не будет работать в том случае, если функцию будет запускать таймер или событие которое зарегистрировано на юнита, а не на игрока).

Поэтому не парься, то что тебе привели как пример выше, больше чем просто правильно.


Делаю из воды вино, хожу по воде...
 

MelodiaДата: Пятница, 22 Августа 2014, 14:08:48 | Сообщение # 12
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
Цитата FEARKILLER ()
GetManipulatingUnit()==GetTriggerUnit()

зато обратное не всегда верно, что важно если одинаковые действия выполняются для разных событий.


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

SirNikolasДата: Суббота, 23 Августа 2014, 02:07:43 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата Melodia ()
if getlocalplayer=getowningplayer(gettriggerunit) then
показать фильтр
endif
И будет десинхронизация. Показ фильтра, помимо всего прочего, еще и создает таймер, что в локальном блоке строго противопоказано. Нужно локально менять строку с именем фильтра.


 

MelodiaДата: Суббота, 23 Августа 2014, 04:34:40 | Сообщение # 14
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
Цитата SirNikolas ()
И будет десинхронизация

хмм?


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

SirNikolasДата: Суббота, 23 Августа 2014, 13:31:21 | Сообщение # 15
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Поздно дошло, что под словом "показать" подразумевалось "Show/Hide Filter". Тогда все нормально.

 

MelodiaДата: Суббота, 23 Августа 2014, 14:18:45 | Сообщение # 16
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
SirNikolas, спецом проверили со знакомым.


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Фильтры только для одного игрока
  • Страница 1 из 1
  • 1
Поиск:

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