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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Диалоговые кнопки
Диалоговые кнопки
SunCreepДата: Среда, 22 Июня 2011, 17:06:59 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Создаю диалог,в него ставлю кнопки,устанавливаю их в переменную массива с отметкой игрок-инициатор.
Собственно вопрос,как отследить какой игрок нажал кнопку?То бишь если у меня событие нажата диалоговая кнопка,то ссылаться мне нужна на того игрока,который нажал.А как?))
 

ArchmageДата: Среда, 22 Июня 2011, 17:30:52 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 265
Награды: 0
Репутация: 7
Блокировки:
SunCreep, а там помоему можно диалоговое окно для определенного игрока открыть
 

SunCreepДата: Среда, 22 Июня 2011, 17:42:17 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Archmage, у меня в карте 8 игроков.Сейчас,для двух кнопак у меня 4 триггера.В планах ещё множество кнопак.
К примеру в паке наработок для 7 кнопок 21 триггер.А вот теперь умнож 21 на кол-во игроков.Это не вариант,мне хватло возьни с камерой,где я убивал время на то,чтоб меня чёртовы намерки в массивах.Тут нужно максимум локальности,чтоб не делать одно и тоже.Именно для этого мне и нужно отслеживать нажавшего игрока,то бишь игрока за которым закреплён диалог.Кстати у меня появилась идея,пойду проверю,но не думаю,что она сработает.

Добавлено (22-06-2011, 17:42)
---------------------------------------------
Нет,моя идея не прокатит.
Хотел сделать чтоб при каждом создании устанавливалась переменная +1,а игрок нажавший массивом на этоу переменную.Но в событиях нельзя указывать переменные,а если я каждый раз буду добавлять новое событие,это перегрузит игру,да и тогда при каждом нажатии будет микролаг.

 

xGaDxДата: Среда, 22 Июня 2011, 21:24:09 | Сообщение # 4
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:
Честно я не понял особо 2й пост, отслеживание игроков нажимающих кнопки идет через GetTriggerPlayer(), ну или просто TriggeringPlayer
 

SunCreepДата: Среда, 22 Июня 2011, 21:27:34 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
xGaDx, ну я точно не уверен,но я на них реагирую как на игрок-инициатор,вроде работает.Но я не уверен.
 

xGaDxДата: Среда, 22 Июня 2011, 21:50:27 | Сообщение # 6
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:
ну событие игрок нажал кнопку диалога, отлов тригерного игрока как раз определяет кто эту кнопку тыкнул
 

SunCreepДата: Среда, 22 Июня 2011, 22:58:43 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
xGaDx, нет такова события.Есть событие:
Диалоговая кнопка была нажата
Весь остальной бред я не понял.
 

xGaDxДата: Среда, 22 Июня 2011, 23:10:46 | Сообщение # 8
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:

а у меня значит есть, ооок
 

ArchmageДата: Среда, 22 Июня 2011, 23:45:40 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 265
Награды: 0
Репутация: 7
Блокировки:
xGaDx, Это и есть
Quote (SunCreep)
Диалоговая кнопка была нажата
 

basher006Дата: Четверг, 23 Июня 2011, 03:19:48 | Сообщение # 10
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 9
Блокировки:
SunCreep, Для каждого игрока придётся делать свой диалог, да, получится грамозко и много триггеров с кнопками, но ведь всё это делается копирываением, и простой заменой 1 переменной. А диалоги и вовсе можно создавать в цикеле для pick player.

Добавлено (23-06-2011, 03:03)
---------------------------------------------
Хотя нет, Pick Every Player не подходит :D нужен обычный цыкл, для масива кнопок)

И да, кстати, число триггеров можно сократить до 8, а тоесть, 1 триггер для создания 7 диалогов, и по 1 триггеру на каждый диалог! Если использовать If / Then / Else :)

Добавлено (23-06-2011, 03:19)
---------------------------------------------
Тоесть, для массива диалогов ^_^

п.с. Незнаю почему я решил что тебе надо именно для 7-и игроков.. hmm но думаю ты понял смысл
и пойду ка я уже спать пожалуй :D


BossFight_Arena. (Hero vs Boss)
Общая готовность демки: [||||||______] 35% - верменно заброшена
*без названия* зборник мини игр (на данный момент 8 in 1 )
Общая готовность [|||||||_____] 50%
 

ZanaraZДата: Четверг, 23 Июня 2011, 08:32:31 | Сообщение # 11
5 уровень
Группа: Проверенные
Сообщений: 120
Награды: 0
Репутация: 28
Блокировки:
Триггер будет ссылатся на игрока инициатора тоесть если 7 игрокам выспитился диалог и там скажем есть кнопка Начальный отряд То при событии Нажата кнопка диалога тот кто нажал и будет считаться игроком инициатором и в итоге те игроки которые нажали кнопку Начальный отряд получат войнов под свой контроль

Набрался мозгов, теперь буду себя сдерживать
 

BUUNIДата: Четверг, 23 Июня 2011, 14:06:51 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
Вот карта - пример.
Тут игрок который нажал на кнопку заносится в переменную массив.
Массив переменной имеет такое значение потому-что, если указать например "1", то все игроки нажавшие эту кнопку будут перезаписываться в переменную, тем самым будет очень серьезная ошибка.


 

-Castro-Дата: Четверг, 23 Июня 2011, 14:29:18 | Сообщение # 13
УГ продюсер
Группа: Ветераны
Сообщений: 2099
Награды: 3
Репутация: 1213
Блокировки:
SunCreep, диалоговые кнопки и массивы несовместимы, не помню как с самыми диалогами. В общем возможны косяки.

Quote (SunCreep)
как отследить какой игрок нажал кнопку?

Когда есть событие "нажата кнопка", то нажимающий - это "игрок-инициатор"
 

SunCreepДата: Четверг, 23 Июня 2011, 14:41:39 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
-Castro-, а вот это уже провал.Вчера тестил систему,друг говорит что окна у него нет,а у меня оно появляется.Пойду ещё тестить,надеюсь мне не придётся делать 12 переменных для 12 игроков тем более,что сейчас диалоговых кнопок 2,а может и 3,а к концу может бвыть и 10))
 

-Castro-Дата: Четверг, 23 Июня 2011, 15:10:13 | Сообщение # 15
УГ продюсер
Группа: Ветераны
Сообщений: 2099
Награды: 3
Репутация: 1213
Блокировки:
вроде как потестил, диалоги похоже можно использовать с массивами, а вот кнопочки отдельно каждой переменной
 

vov68Дата: Четверг, 23 Июня 2011, 15:43:41 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
Quote (-Castro-)
логи похоже можно использовать с массивами, а вот кнопочки отдельно каждой переменной


кнопки и диалоги можно запихнуть в масив, а вот отлавливать нажатие кнопки из диалога приходится отдельным триггером.
хотя если работает ниже приведённое, то есть варианты. ;)

Quote (-Castro-)
Когда есть событие "нажата кнопка", то нажимающий - это "игрок-инициатор"


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

SunCreepДата: Четверг, 23 Июня 2011, 15:54:16 | Сообщение # 17
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
vov68, ну да,вроде работает.То бишь не может же игрок-инициатор означать еденицу всегда?Тест проходит на игроке 1,для него работает.Но не работает для игрока 2,видимо кнопки с массивом - уг
 

-Castro-Дата: Четверг, 23 Июня 2011, 16:04:56 | Сообщение # 18
УГ продюсер
Группа: Ветераны
Сообщений: 2099
Награды: 3
Репутация: 1213
Блокировки:
Quote (SunCreep)
кнопки с массивом - уг

ага
 

BUUNIДата: Пятница, 24 Июня 2011, 15:19:51 | Сообщение # 19
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
-Castro-, не знаю как у Вас, но у меня все нормально работает с массивами :)
Вот что в диалогах уг, то это действие if/then/else. :)


 

SunCreepДата: Пятница, 24 Июня 2011, 16:26:11 | Сообщение # 20
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
BUUNI, я сейчас скачал,посмотрел.Я так понял что система локальна и работает для всех игроков.Пойду проверю с другом в нете)

Добавлено (24-06-2011, 16:26)
---------------------------------------------
BUUNI, а вот хрен! Системе не локальна.У одного игрока каибннет открылся,но как только кабинет открыл я,то бишь на карте два игрока с откртыми кабинетами,у него пропали все кнопки и осталось лишь окно))

 

BUUNIДата: Пятница, 24 Июня 2011, 19:02:08 | Сообщение # 21
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
SunCreep, удали в самом основном триггере действие "Очистить JlK"

Добавлено (24-06-2011, 19:02)
---------------------------------------------
Это может происходить из-за того что триггер - один на всех, при нажатии esc, все действия начинают идти заново, соответственно идет действие "Очистить JlK" и у твоего друга пропадают все кнопки.
Если бы можно было сделать "Очистить JlK для игрока блаблабла", то ошибки бы не было.


 

SunCreepДата: Пятница, 24 Июня 2011, 19:27:20 | Сообщение # 22
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
BUUNI, видел,что я сделал в лк6?Если тебе этого мало,скачай мою наработку камеры.Я это к тому,что я маняг))
А вообще,то что сделал ты работает хоть как-то,завтра буду делать систему на всех игроков,спасибо!))
 

BUUNIДата: Пятница, 24 Июня 2011, 20:21:48 | Сообщение # 23
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
Вот, исправленная версия, проверь, эта уж точно должна работать! :)
http://rghost.ru/12270021


 

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

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