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

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

Ответ
 
Daemonik

offline
Опыт: 5,084
Активность:
Проблема с Leaderboard
Создал Leaderboard сначала в ГУИ, потом перевел в jass убрал BJ...
И leaderboard стал обрезанным, те идет имя и leaderboard тут же заканчивается. В чем может быть проблема?
Создание таблицы
Код:
function Trig_K1_Actions takes nothing returns nothing
    // Make a Leaderboard, put all of the people in used slots in it, and show it to people
    local integer i = 0
    local integer s = LeaderboardGetItemCount(udg_l)
    local player p
    set udg_l = CreateLeaderboard()
    call LeaderboardSetLabel( udg_l, "TRIGSTR_2420" )
    loop
        set p = Player(i)
        if (IsPlayerInForce(p, bj_FORCE_ALL_PLAYERS)) then
            call PlayerSetLeaderboard(p, udg_l)
        endif
        set i = i + 1
        exitwhen i == 7
    endloop
    call LeaderboardDisplay(udg_l, true)
    if ( GetPlayerSlotState(Player(0)) == PLAYER_SLOT_STATE_PLAYING ) then
        if (LeaderboardHasPlayerItem(udg_l, Player(0))) then
            call LeaderboardRemovePlayerItem(udg_l, Player(0))
        endif
        call LeaderboardAddItem(udg_l, GetPlayerName(Player(0)), 0, Player(0))
        if (LeaderboardGetLabelText(udg_l) == "") then
            set s = s - 1
        endif
        call LeaderboardSetSizeByItemCount(udg_l, s)
    endif
...
// аналогичные коды для остальных игроков(8 человек)
...
    call LeaderboardDisplay( udg_l, true )
endfunction

//===========================================================================
function InitTrig_K1 takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterTimerEvent( t, 5.00, false )
    call TriggerAddAction( t, function Trig_K1_Actions )
    set t = null
endfunction

Добавление значений
Код:
function Trig_K2_Conditions takes nothing returns boolean
    return (GetOwningPlayer(GetTriggerUnit()) != GetOwningPlayer(GetKillingUnit())) 
endfunction

function Trig_K2_Actions takes nothing returns nothing
    // Set up the Kills (only units that aren't your own) and sort the Leaderboard
    set udg_Kills[GetPlayerId(GetOwningPlayer(GetKillingUnit()))+1] = ( udg_Kills[GetPlayerId(GetOwningPlayer(GetKillingUnit()))] + 2 )
    call LeaderboardSetItemValue(udg_l,  LeaderboardGetPlayerIndex(udg_l,GetOwningPlayer(GetKillingUnit())), udg_Kills[GetPlayerId(GetOwningPlayer(GetKillingUnit()))+1] )
    call LeaderboardSortItemsByValue( udg_l, false )
endfunction

//===========================================================================
function InitTrig_K2 takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterPlayerUnitEvent( t, Player(11), EVENT_PLAYER_UNIT_DEATH, null )
    call TriggerRegisterPlayerUnitEvent( t, Player(10), EVENT_PLAYER_UNIT_DEATH, null )
    call TriggerAddCondition( t, Condition( function Trig_K2_Conditions ) )
    call TriggerAddAction( t, function Trig_K2_Actions )
    set t = null
endfunction

Отредактировано Daemonik, 13.07.2009 в 11:05.
Старый 10.07.2009, 11:35
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Daemonik
Код:
local integer s = LeaderboardGetItemCount(udg_l)


Возвращает 0, если меня не глючит.
Старый 10.07.2009, 22:33
Daemonik

offline
Опыт: 5,084
Активность:
Понял что именно происходит с таблицей рекордов.
Она мне выдает только одного игрока. Остальных просто обрезает(
Что делать?

Daemonik добавил:
Никто не подскажет???
Старый 13.07.2009, 11:30
MupaMaX
Мой статус
offline
Опыт: 1,495
Активность:
Daemonik, что ты пытаешься сделать ?
И дай угадаю, в лидербоарде остается только последний игрок, верно ?
Ты что-то вообще не так делаешь мне кажется
Старый 13.07.2009, 13:09
N1XapOIII

offline
Опыт: 1,815
Активность:
Цитата:
call LeaderboardSetSizeByItemCount(udg_l, s)


Я в джазе не оч но думаю тут проблема.

И ещё попробуй ( если это то о чём я подумал ) Свернуть окно лидерборда и развернуть в игре.
Лучше дай скрины посмотреть так понятее будет.

Отредактировано N1XapOIII, 13.07.2009 в 13:20.
Старый 13.07.2009, 13:14
Daemonik

offline
Опыт: 5,084
Активность:
он у меня без возможности сворачивания

Daemonik добавил:
ок скину

Daemonik добавил:
MupaMaX Ты не прав, в таблице только тот игрок кто больше убил.
А сделать я пытаюсь таблицу убийств. Кто сколько убил мобов.
Старый 13.07.2009, 14:59
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
делал кагда то оч давно ( гуи ) глянь мб поможет
Прикрепленные файлы
Тип файла: w3x MultiBord.w3x (16.3 Кбайт, 26 просмотров )
Старый 13.07.2009, 15:09
MupaMaX
Мой статус
offline
Опыт: 1,495
Активность:
Мультибоард не Лидербоард )))
Старый 13.07.2009, 15:26
Daemonik

offline
Опыт: 5,084
Активность:
В гуи и я могу сделать...
Мне надо ее оптимизировать.
И как правильно подметил MupaMaX мультибоард, это не лидербоард
Старый 13.07.2009, 16:59
MupaMaX
Мой статус
offline
Опыт: 1,495
Активность:
а чего не можеш сделать мультибоард ?
Старый 13.07.2009, 19:39
Daemonik

offline
Опыт: 5,084
Активность:
Тогда вопрос в доте мультибоард?
Если да то лучше его.
ELDAR, а зачем PolledWait ты вставлял???

Отредактировано Daemonik, 14.07.2009 в 16:16.
Старый 14.07.2009, 15:44
MupaMaX
Мой статус
offline
Опыт: 1,495
Активность:
Daemonik, да в доте мльтибоард )))
Старый 14.07.2009, 16:40
Daemonik

offline
Опыт: 5,084
Активность:
Тады я его попытаюсь намутить.

Daemonik добавил:
Кстати получается иконки героев надо самому вставлять?
У меня есть подозрение что есть способ проще...
Старый 14.07.2009, 16:52
Fakov
Viva la Fa
offline
Опыт: 102,058
Активность:
Daemonik http://xgm.guru/articles.php?name=multiboard_main почтай 2 и 3 разделы, может поможет=\
Старый 14.07.2009, 17:37
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
Цитата:
ELDAR, а зачем PolledWait ты вставлял???

потому что , окно мультиборда не может быть создано при ините
Старый 16.07.2009, 10:33
Daemonik

offline
Опыт: 5,084
Активность:
Ну а обычном вейтом нельзя было обойтись?

Daemonik добавил:
Ну что же, тк теперь делаю мультибоард, теперь проблема возникла с ним.
Создал мультиюоард. Кол-во строк определяется кол-вом игроков + заголовок.
1 столбец имя игрока. Как мне сделать что бы в зависимости от цвета игрока менялся цвет имени?
Старый 16.07.2009, 11:19
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Прочитай, думаю поможет.
Старый 16.07.2009, 19:48
Daemonik

offline
Опыт: 5,084
Активность:
Я читал это уже раз 10. Там про это ничего не сказано((
Старый 16.07.2009, 20:06
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
эх Daemonik, берешь создаешь массив строк и в каждую ячейку записываешь нужный тебе цвет
Player_Color[1] = "|c00ff0000"
Player_Color[2] = "|c0000ff00"
и т.д.
потом Player_Color[Player Number(твой игрок)] + Player Name(твой игрок) +"|r"
Старый 17.07.2009, 07:24
Daemonik

offline
Опыт: 5,084
Активность:
Ну что ж цвета сделал.
Теперь вот такой вопрос. На карте 8 игроков и 26 героев, которые выбираются путем захода в регион. Каким образом мне установить иконки персонажей в таблицу.
Уточнение: после того как игрок выбрал героя, он заносится в глобалку.
Старый 17.07.2009, 14:35
Ответ

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

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

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

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



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