Вот когда, допустим, не хватает золота
Вылетает сообщение "Не хватает золота"
можно ли это сообщение заставить вылетать триггерно? Если можно, то как?

Принятый ответ

Или запоминать количество голды, скручивать в ноль и триггерно пытаться голду потратить (например, пытаться юнита нанять, если не сработает - запоминать выделение, выбирать здание с платным улучшением например и ForceUIKey() с хоткеем этого улучшения, потом возвращать выделение), или через скрипт векса, но это будет не оно само, а его эмуляция.
Эмуляция ошибки
Требует глобальную переменную типа звук (udg_SimError).
function SimError takes player ForPlayer, string msg returns nothing
  if udg_SimError==null then
    set udg_SimError=CreateSoundFromLabel( "InterfaceError",false,false,false,10,10)
  endif
  if (GetLocalPlayer() == ForPlayer) then
    call ClearTextMessages()
    call DisplayTimedTextToPlayer( ForPlayer, 0.52, -1.00, 2.00, "|cffffcc00"+msg+"|r" )
    call StartSound( udg_SimError )
  endif
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
8 лет назад
2
Зачем, можно конечно. Но ты можешь изменить это сообщение в игровом интерфейсе.
0
2
8 лет назад
0
KaneThaumaturge:
Зачем, можно конечно. Но ты можешь изменить это сообщение в игровом интерфейсе.
Дело в том, что мне надо выдавать сообщение о нехватке места в инвентаре при использовании руны. Если можно, то подскажи как это сделать
1
21
8 лет назад
1
Можно вызывать нужный звук триггерно и сообщение игроку с огромным отступом.
0
30
8 лет назад
0
Или запоминать количество голды, скручивать в ноль и триггерно пытаться голду потратить (например, пытаться юнита нанять, если не сработает - запоминать выделение, выбирать здание с платным улучшением например и ForceUIKey() с хоткеем этого улучшения, потом возвращать выделение), или через скрипт векса, но это будет не оно само, а его эмуляция.
Эмуляция ошибки
Требует глобальную переменную типа звук (udg_SimError).
function SimError takes player ForPlayer, string msg returns nothing
  if udg_SimError==null then
    set udg_SimError=CreateSoundFromLabel( "InterfaceError",false,false,false,10,10)
  endif
  if (GetLocalPlayer() == ForPlayer) then
    call ClearTextMessages()
    call DisplayTimedTextToPlayer( ForPlayer, 0.52, -1.00, 2.00, "|cffffcc00"+msg+"|r" )
    call StartSound( udg_SimError )
  endif
endfunction
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.