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

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

Ответ
 
MyRtZ

offline
Опыт: 6,530
Активность:
GetLocalPlayer
Доброго времени суток
Делая оповещение сообщениями игрокам, подумал что лучше реализовать их через GetLocalPlayer()
Мне хотелось бы узнать что лучше из ниже написанных способов отправки сообщения игрокам.
    loop
        call DisplayTimedTextToPlayer(Player(i), 0, 0, 10.00, s)
        set i = i + 1
        exitwhen i > 11 //В карте 12 игроков
    endloop
или
    call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, 10.00, s)
Спасибо
Старый 15.01.2011, 00:18
reALien

offline
Опыт: 29,211
Активность:
имхо, лучше первое
reALien добавил:
т.к. потом если будут десинки на эту функцию можно будет не думать, ну может я не шарю
reALien добавил:
И вообще, вторая мне кажется неработоспособной, впрочем тестить лень
Старый 15.01.2011, 00:20
spellwerk

offline
Опыт: 4,869
Активность:
reALien:
вторая мне кажется неработоспособной
она в принципе работоспособна, но юзать ее не стоит
я делал в своей карте, и потом долго не мог понять, почему у меня не работает следующая за ней функция
так что первый вариант лучше
Старый 15.01.2011, 00:22
MyRtZ

offline
Опыт: 6,530
Активность:
reALien:
И вообще, вторая мне кажется неработоспособной, впрочем тестить лень
Я тестил в онлайн гейме, вроде все нормально было(Десинков не было)
MyRtZ добавил:
Вроде бы 2-я не всегда как надо срабатывает
MyRtZ добавил:
Жду ответ от шарюшего в этом человека
Старый 15.01.2011, 00:26
Nekit1234007

offline
Опыт: 11,916
Активность:
Тут где-то обсуждали, что дисплей локалплееру не пишет в реплей, поищите.
Старый 15.01.2011, 00:30
spellwerk

offline
Опыт: 4,869
Активность:
дисплей локалплееру не пишет в реплей
замечал в реплеях доты, что если смотришь его за розового игрока, мультиборд показывает все равно от имени синего
Старый 15.01.2011, 00:33
ScorpioT1000
Работаем
offline
Опыт: отключен
в реплее не пашет, да, вроде больше ничего не слышал
Старый 15.01.2011, 07:59
Doc

offline
Опыт: 63,163
Активность:
если поток загружен - десинк. спасибо за внимание.
Старый 15.01.2011, 12:43
ScorpioT1000
Работаем
offline
Опыт: отключен
пускать в отдельном потоке)
ScorpioT1000 добавил:

// Definition 
globals
    string x__DisplayTextToPlayer_msg = null
    real x__DisplayTextToPlayer_dur = 0.0
    real x__DisplayTextToPlayer_x = 0.0
    real x__DisplayTextToPlayer_y = 0.0
endglobals
function x__DisplayTextToPlayer takes nothing returns nothing
    call DisplayTimedTextToPlayer(GetLocalPlayer(),x__DisplayTextToPlayer_x,x__DisplayTextToPlayer_y,x__Displ​ayTextToPlayer_dur,x__DisplayTextToPlayer_msg)
    call DestroyTimer(GetExpiredTimer())
endfunction

//...

function DisplayText takes string msg, real x, real y, real dur returns nothing
    local timer t = CreateTimer()
    set x__DisplayTextToPlayer_msg = msg
    set x__DisplayTextToPlayer_x = x
    set x__DisplayTextToPlayer_y = y
    set x__DisplayTextToPlayer_dur = dur
    call TimerStart(t,0.0,false,function x__DisplayTextToPlayer)
endfunction
Старый 15.01.2011, 12:51
Doc

offline
Опыт: 63,163
Активность:
зачем таймер, обошелся бы экзекатом -.-
Старый 15.01.2011, 12:54
ScorpioT1000
Работаем
offline
Опыт: отключен
он тормознутый
Старый 15.01.2011, 12:55
Doc

offline
Опыт: 63,163
Активность:
нет ты, о_о у меня все ок
Старый 15.01.2011, 13:15
DioD

offline
Опыт: 45,134
Активность:
бубен классыный, вот только вопрос "Зачем?"
Старый 15.01.2011, 13:19
ScorpioT1000
Работаем
offline
Опыт: отключен
в 12 раз быстрее )
ScorpioT1000 добавил:
на самом деле, раза в три из-за таймера
ScorpioT1000 добавил:
а если 11 заменить на N, то там вобще опционально и обычно по 5-6 игроков бывает же, так что смысла мало
Старый 15.01.2011, 14:33
Hanabishi
COOL STATUS
offline
Опыт: отключен
точно не могу сказать насчёт DisplayTextToPlayer, но сам когда-то поднимал тему насчёт GetLocalPlayer()
собственно в теме пришли к выводу, что функция к десинку не приводит
отвечал мне вроде как раз ScorpioT1000, тогда я писал, что там прям в функции написано, а он ответил что если читать всё, что пишут близзы.....
насчёт реплеев минус, но кому они нужны не в стандартном сражении?
DoNotSaveReplay() и все дела, кстати повышает стабильность в мультиплеере
Старый 17.01.2011, 21:01
Ответ

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

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

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

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



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