Мультиборд - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Strateg, Melissa  
Мультиборд
-
asimoДата: Вторник, 10-07-2012, 16:13:37 | Сообщение # 1
Раб

загрузка наград ...
Группа: Заблокирован
Сообщений: 3
Репутация: 38
Статус: Не на сайте
данная функция должна вызываться каждые 0.10 сек, для изменения значений переменных в мультиборде (для каждого игрока переменные локальны и номер массива соответствует номеру игрока минус 1). борда не отображает эти ячейки, как я ни старался. где тут ошибка?

function UpdateMb takes nothing returns nothing
local integer Id = 4
loop
exitwhen Id == 0
if GetLocalPlayer() == Player(Id) then
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 1, I2S(udg_D[Id]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 2, I2S(udg_E[Id]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 3, I2S(udg_T[Id]) )
endif
set Id = Id - 1
endloop
endfunction
 
-
AncientPenguinДата: Вторник, 10-07-2012, 18:27:15 | Сообщение # 2

загрузка наград ...
Группа: Избранные
Сообщений: 449
Репутация: 526
Статус: Не на сайте
Попробуй:

function UpdateMb takes nothing returns nothing
local integer Id = получить номер игрока( GetLocalPlayer() )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 1, I2S(udg_D[Id]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 2, I2S(udg_E[Id]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 3, I2S(udg_T[Id]) )
endfunction

Но мне почему то кажется что если у тебя получится так сделать то варик выдаст десинхронизацию. Вроде же можно создать несколько мультибордов и показывать каждому игроку свой, хотя могу врать давно не открывал WE.
 
-
asimoДата: Вторник, 10-07-2012, 18:34:07 | Сообщение # 3
Раб

загрузка наград ...
Группа: Заблокирован
Сообщений: 3
Репутация: 38
Статус: Не на сайте
AncientPenguin, да можно, но мне это неподходит, тк мультиборд для всех одинаков, рзличны только данные. спс за совет - попробую.
 
-
влад10011Дата: Вторник, 10-07-2012, 20:13:32 | Сообщение # 4

загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
зачем на Jass делать мультиборд...
На GUI можно хороший мультиборд сделать без всяких локальных переменных...

Look at my horse!
 
-
asimoДата: Четверг, 12-07-2012, 00:06:33 | Сообщение # 5
Раб

загрузка наград ...
Группа: Заблокирован
Сообщений: 3
Репутация: 38
Статус: Не на сайте
AncientPenguin, в общем не стал изобретать велосипед, сделал массив мультибордов, вывел для каждого игрока свой и проблема решилась smile :

function MbShowLoc takes nothing returns nothing
local integer Id = 5
loop
if (udg_Multiboards[Id] != null) and (GetLocalPlayer() == Player(Id)) then
call MultiboardDisplay(udg_Multiboards[Id], true)
endif
exitwhen Id == 0
set Id = Id - 1
endloop
endfunction

-----------------------------------------------------
Вопрос исчерпан
 
-
AncientPenguinДата: Четверг, 12-07-2012, 07:26:36 | Сообщение # 6

загрузка наград ...
Группа: Избранные
Сообщений: 449
Репутация: 526
Статус: Не на сайте
Quote (asimo)
function MbShowLoc takes nothing returns nothing
local integer Id = 5
loop
if (udg_Multiboards[Id] != null) and (GetLocalPlayer() == Player(Id)) then
call MultiboardDisplay(udg_Multiboards[Id], true)
endif
exitwhen Id == 0
set Id = Id - 1
endloop
endfunction


function MbShowLoc takes nothing returns nothing
local integer Id = GetLocalPlayer()
if udg_Multiboards[Id] != null then
call MultiboardDisplay(udg_Multiboards[Id], true)
endif
endfunction

Короче, приятнее, быстрее =)
 
  • Страница 1 из 1
  • 1
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat