Сейчас 14:53:28 Пятница, 22 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Скрытие юнитов для отдельного игрока.
Svanir2Дата: Четверг, 15 Января 2015, 13:46:35 | Сообщение # 1
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
По результатам моих исследований скрыть или показать для отдельного игрока можно только плавающий текст, юниты и декорации можно лишь скрыть для всех или показать тоже всем. Как исправить такую несправедливость?
Я хочу сделать так, чтобы определённая боевая еденица или группа юнитов пропала для определённого игрока, при этом для остальных игроков они всё так же оставались видимыми. Я имею ввиду не манипуляции с обзором и туманом войны, а именно видимостью юнита игроками.
Воплощаема данная мысль?
 

НаклзДата: Четверг, 15 Января 2015, 16:32:26 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Разве что только добавить постоянную невидимость им, и для нужных игроков держать возле таких юнитов дамми с гемом. Но это бредово.

А если ты хочешь сделать hide unit только для некоторых игроков, то я тебе скажу вот что: сделать такое можно, но что будет? Получается для некоторых игроков артас будет, а для других нет. А что будет если артас ударит кого-то, то получается у одних игроков жизни у юнита отнимутся, а у других нет? Игра такое не допустит и отключит от хоста игроков которые "отделились от стаи", или же, если от стаи отделился хост, то хоста отключит ВСЕХ.

В стандартном редакторе это можно сделать только через Jass
Пример для обычного редактора.
(Сильвана скроется для всех, а потом откроется для игрока 0 (в Jass игрок 0 = 1, а игрок 1 = 2 и т.д.)

В JPNG редакторе это можно сделать и на GUI
Пример для JPNG
(эффект тот же что и в первом примере).

Но, возможно это не то что тебе нужно. Так как, фактически, сильвана скроется не для всех игроков, а для всех компьютеров в этой игре, кроме компьютера игрока 1, то есть для твоего компьютера сильвана открыта, значит в твоём компьютере зомби будут реагировать на неё. В интернете это вызовет десинхронизацию, так как на других компьютерах этого не будет происходить.

Я вообще, если честно, не могу понять: как ты себе представляешь, то что ты просишь?
 

Svanir2Дата: Четверг, 15 Января 2015, 19:39:03 | Сообщение # 3
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
Я хотел создать подобие параллельного измерения, в котором игрок будет видеть только своего героя и никаких других, при этом в реальном измерении герой, попавший в параллельное измерение, не будет виден всем прочим игрокам.
Насчёт десинхронизации взято не с потолка? Такое уже наблюдалось?

Добавлено (15 Января 2015, 19:39:03)
---------------------------------------------
И в твоей карте я не заметил никакого результата, зомби превосходно агрились на сильвану. Затем попробовал дать сильвану другому игроку и проверить до и после срабатывания твоего триггера: единственный видимый эффект - снятие выделения, сильвана всё также видна всем.
Вобще это странно, спрятать юнита и если локальный игрок - красный, то показать юнита. Получается, что юнит будет всем виден если в игре есть красный игрок и никому если его нет. Это не то, о чём я говорил.

 

sumertДата: Четверг, 15 Января 2015, 20:00:00 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
Цитата Svanir2 ()
Воплощаема данная мысль?

нет.
 

SirNikolasДата: Четверг, 15 Января 2015, 20:15:16 | Сообщение # 5
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Подробное описание, что и когда вызывает десинхронизацию.
Цитата Impregnable
ShowUnit - нельзя: выделять скрываемого (если уже выделен, тогда можно). Давать приказы на скрываемого юнита, давать скрываемому приказы типа цель, где цель не свой юнит. Убивать декорации. (убивать или триггерно наносить урон скрываемому можно). Также десинх от обзора этого юнита.


Цитата Svanir2 ()
Воплощаема данная мысль?
Цитата sumert ()
нет.


 

НаклзДата: Четверг, 15 Января 2015, 20:54:34 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата Svanir2 ()
И в твоей карте я не заметил никакого результата, зомби превосходно агрились на сильвану.

Цитата Svanir2 ()
Но, возможно это не то что тебе нужно. Так как, фактически, сильвана скроется не для всех игроков, а для всех компьютеров в этой игре, кроме компьютера игрока 1, то есть для твоего компьютера сильвана открыта, значит в твоём компьютере зомби будут реагировать на неё.

Цитата Svanir2 ()
Насчёт десинхронизации взято не с потолка? Такое уже наблюдалось?

Да.
Цитата Svanir2 ()
Я хотел создать подобие параллельного измерения, в котором игрок будет видеть только своего героя и никаких других, при этом в реальном измерении герой, попавший в параллельное измерение, не будет виден всем прочим игрокам.

Создать в карте два ландшафта, сделать границы камеры, что-то вроде того, как сделан "подводный мир" в Water Wars.
Цитата Svanir2 ()
Вобще это странно, спрятать юнита и если локальный игрок - красный, то показать юнита. Получается, что юнит будет всем виден если в игре есть красный игрок и никому если его нет.

Не верно. Что делает это условие, пойми его суть, и тогда ты поймёшь как оно работает.

По сети играют два игрока. Обозначим их как ПК1 и ПК2 (персональный компьютер).
Триггеры выполняются на компьютере каждого игрока отдельно, синхронизируется только результат.
Допустим, игрок 1 красный играет с компьютера ПК1, а игрок 2 синий с компьютера ПК2.
Тогда, для ПК1 локальный игрок это - игрок 1 красный, для ПК2 локальный игрок = игрок 2 синий.

Выполнение триггера на ПК1
скрыть юнита сильвану
Условие: Если локальный игрок(раз это ПК1, то локальный игрок = игрок 1 красный) = игрок 1 красный, (условие верно, так как игрок 1 = игрок 1, значит на ПК1 сильвана будет видна)
то: Показать сильвану

В это же время, выполняется этот же триггер на ПК2
скрыть юнита сильвану
Условие: Если локальный игрок(раз это ПК2, то локальный игрок = игрок 2 синий) = игрок 1 красный (условие не выполняется, так как игрок 2 не равно игрок 1, значит на ПК2 сильвана видна не будет)
то: Показать сильвану

Как-то так, надеюсь поймёшь.
 

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

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