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

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

Ответ
 
SoulRazor

offline
Опыт: 5,275
Активность:
Отслеживание игрока в диалоговом окне
Как отследить игрока, нажимающий определенную кнопку в диалоговом окне и занести его в переменную? это нужно для GetlocalPlayer....
Старый 28.02.2012, 03:30
alpha

offline
Опыт: 7,387
Активность:
Создавай кнопку для каждого игрока, я раньше так делал, давно с диалогами дело не имел
Старый 28.02.2012, 03:47
Roman
Я всё правильно сделал?
offline
Опыт: 17,642
Активность:
А в чём собственно проблема, есть событие нажата кнопка диалога, а также условие нажатая кнопка вида=твоя кнопка, единственно, что следует уточнить: нужно при создании кнопок их записывать в переменную, в уже в сред тригге на нажатие их сравнивать.
Старый 28.02.2012, 12:21
SoulRazor

offline
Опыт: 5,275
Активность:
Roman, кнопки само собой буду вносить в переменную.. вопрос стоит "Как отследить именно этого определенного игрока, который нажмет эту кнопку", в условии сравнении нет ведь, что Нажатую кнопку выбрал Игрок такой то... поэтому ищу все возможные способы вычисления этого игрока..
Старый 28.02.2012, 12:34
просто Юрок
...
offline
Опыт: 11,271
Активность:
Необязательно создавать кнопки для каждого игрока. Например:
Событие: нажата кнопка диалога :твой диалог:
Условия: нажата кнопка :твоя кнопка:
Действия: создать 1 рабочий для "игрок-инициатор" (в русском переводе)
просто Юрок добавил:
» Код:
function Trig_Trigger_Conditions takes nothing returns boolean
    if ( not ( GetClickedButtonBJ() == udg_Button ) ) then
        return false
    endif
    return true
endfunction

function Trig_Trigger_Actions takes nothing returns nothing
    call CreateNUnitsAtLoc( 1, 'hpea', GetTriggerPlayer(), GetRectCenter(GetPlayableMapRect()), bj_UNIT_FACING )
endfunction

//===========================================================================
function InitTrig_Trigger takes nothing returns nothing
    set gg_trg_Trigger = CreateTrigger(  )
    call TriggerRegisterDialogEventBJ( gg_trg_Trigger, udg_Dialog )
    call TriggerAddCondition( gg_trg_Trigger, Condition( function Trig_Trigger_Conditions ) )
    call TriggerAddAction( gg_trg_Trigger, function Trig_Trigger_Actions )
endfunction
Старый 28.02.2012, 12:40
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Razor_dex, GetTriggerPlayer() - вернёт игрока нажавшего кнопку, а GetClickedButton() вернёт нажатую кнопку, да сопоставления кнопок используй цыкл, (если у тебя их много) где каждый элемент массива кнопок сравнивается с GetCkicedButton() и если он равен нажатой кнопке то твои действия...
Старый 28.02.2012, 12:56
Ответ

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

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

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

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



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