XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
and_y87
Тру Кодер
offline
Опыт: 21,030
Активность:
(Как сделать) Из группы юнитов виден каждому свой юнит.
Господа хорошие.
После долгих обмозгований, и тёрок с людьми разными, так и не получил чёткого ответа.
Естественно после поиска тоже и вот вынужден обратиться к помощи всевышних.
Данные:
» Имеем 10 юнитов
Юнит_1 принадлежит Игроку_1 тип неважен = u[1]
Юнит_2 принадлежит Игроку_2 тип неважен = u[2]
Юнит_3 принадлежит Игроку_3 = u[3]
Юнит_... принадлежит Игроку_... = u[...]
Юнит_10 принадлежит Игроку_10 = u[10]
Имеем переменную g группа юнитов
в переменной g есть все 10 юнитов которые описаны выше.
>
Необходимые манипуляции:
Нужно что бы каждый игрок видел только того юнита который принадлежит ему,
с возможностью установить всех юнитов в одной точке, и без возможности десинка.
меня интересует без использования невидимости... вот почему:
так как справа и слева от этого юнита тоже стоят юниты со способностью невидимый, а этот в группе имеет способность обнаружение невидимых юнитов...
над юнитами другие игроки небудут проводить никаких действий.
Вот неочень щас догоняю как такое замутить =\ помогите кто сможет...
Варианты принимаются любые...

Отредактировано MEXAHuK, 30.11.2009 в 15:35.
Старый 30.11.2009, 15:10
XOR

offline
Опыт: 38,159
Активность:
Ну напрямую хайдить не получится- десинк, а вот если
//для начала создай логический массив HideUnit
if GetLocalPlayer() == Player(youplayer) then
set HideUnit(youplayernumber) = true 
endif
И триггер, в котором отслеживается, что эта переменная становится правдой, и оттуда уже делать остальные действия
Старый 30.11.2009, 16:58
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
XiMiKs, скрытие юнита локально вызовет десинк - вариант(правда и тупой),сделать разную прозрачность
Старый 30.11.2009, 17:02
_Red

offline
Опыт: 4,095
Активность:
Можно сделать прозрачность + москиты
если москиты не подходят то как вариант можно сделать очень маленький размер юниту
+ также убрать тень если можно
local integer i = 1
loop
exitwhen i>10
if GetLocalPlayer()==Player(i) then
call SetUnitПрозрачность(,..)
endif
set i=i+1
endloop

Отредактировано _Red, 30.11.2009 в 17:14.
Старый 30.11.2009, 17:08
XOR

offline
Опыт: 38,159
Активность:
Тоже десинк :) тут нужно по аналогии, как с эффектом
string path = null
nothing lol () {
if GetLocalPlayer() == youplayer {
path = "xxx"
ExecuteFunction("CreateEffect")
}}
nothing CreateEffect() {
DestroyEffect(AddSpecialEffect(.....)))
}
XiMiKs добавил:
Я спириту. Твой способ вообще нечто
Старый 30.11.2009, 17:10
_Red

offline
Опыт: 4,095
Активность:
XiMiKs, чем мой пример тупой?
он больше всех подходит к этой теме
Старый 30.11.2009, 17:15
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 00:14.