Мультиборд
|
|
-
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, в общем не стал изобретать велосипед, сделал массив мультибордов, вывел для каждого игрока свой и проблема решилась :
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
Короче, приятнее, быстрее =)
|
| | |