|
Мультиборд
|
|
| FatalBlade | Дата: Воскресенье, 15 Января 2012, 08:14:27 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки: 
| Как сделать что бы мультиборд отображался только для выбранных мною игроков, а не для всех? Я пытался с GetLocalPlayer(), но видимо тут это не помогает.
|
| |
|
|
| SirNikolas | Дата: Воскресенье, 15 Января 2012, 08:30:26 | Сообщение # 2 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Библиотека. Но лучше не создавать для каждого игрока доску, а локально изменять ячейки.
|
| |
|
|
| FatalBlade | Дата: Воскресенье, 15 Января 2012, 08:45:52 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки: 
| Ничего не понимаю. Скопипастил я библиотеку дуоса к себе в код, а в действиях написал вот это: Code function Trig_Begin_3_Actions takes nothing returns nothing local integer i = 0 local integer j = 0 local integer k = 0 local multiboarditem mbit local player p local multiboard mb = LoadMultiboardHandle(udg_Hash,GetHandleId(gg_unit_h02F_0082),1000)
set i = 0 loop exitwhen i > 9 set p = Player(i) call CreateMultiboardForPlayer( 12, 26, "Achievements", p ) call MultiboardSetItemStyleForPlayer( p, mb, 0, 0, false, false ) call MultiboardSetItemStyleForPlayer( p, mb, 1, 1, false, false ) set j = 3 loop exitwhen j > 26 set k = 3 loop exitwhen k > 12 call MultiboardSetItemStyleForPlayer( p, mb, j, k, false, false ) set k = k + 2 endloop set j = j + 2 endloop set i = i + 1 endloop
set mbit = null set p = null set mb = null endfunction
Почему не отображаются мультиборды в игре?
Сообщение отредактировал FatalBlade - Воскресенье, 15 Января 2012, 09:43:17 |
| |
|
|
| Ty3uK | Дата: Воскресенье, 15 Января 2012, 10:22:06 | Сообщение # 4 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки: 
| Ты их несколько делал? О.о зачем?
|
| |
|
|
| Dreii | Дата: Воскресенье, 15 Января 2012, 11:45:36 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки: 
| Code int x=0 whilenot x > 11 { if GetLocalPlayer()==Player(x) { mbitem = MultiboardGetItem(mbg,row[x],5) MultiboardSetItemValue(mbitem,pc[4]+ I2S(GetPlayerState(Player(x),PLAYER_STATE_RESOURCE_GOLD))+"|r" ) MultiboardReleaseItem(mbitem) } x++ }
|
| |
|
|
| Ty3uK | Дата: Воскресенье, 15 Января 2012, 12:47:39 | Сообщение # 6 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки: 
| почему бы не так? Проще и меньше же
|
| |
|
|
| lawson | Дата: Воскресенье, 15 Января 2012, 15:06:03 | Сообщение # 7 |
|
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки: 
| Quote (Ty3uK) whilenot x++ Сразу же в начале цикла х будет равен не нулю, а единице.
Добавлено (15 Январь 2012, 14:57:31) --------------------------------------------- Quote (SirNikolas) Но лучше не создавать для каждого игрока доску А Почему? Это как-то скажится на игре?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Воскресенье, 15 Января 2012, 15:06:27 |
| |
|
|
| Diabfall | Дата: Воскресенье, 15 Января 2012, 15:20:44 | Сообщение # 8 |
|
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки: 
| Quote (lawson) А Почему? Это как-то скажится на игре? Думаю, тут речь идёт о нагрузке на проц. и тратте памяти... Никак не скажется, ибо знаю, что Фрог так делал и на ХГМ многие так делали. Даже статья у них на сайте именно с таким способом.
Сообщение отредактировал Diabfall - Воскресенье, 15 Января 2012, 15:21:51 |
| |
|
|
| Dreii | Дата: Воскресенье, 15 Января 2012, 15:22:41 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки: 
| Да ну бред создавать 11 досок. Лучше ячейки локально показывать
|
| |
|
|
| SirNikolas | Дата: Воскресенье, 15 Января 2012, 15:47:53 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Quote (Ty3uK) whilenot x++ > 11 Будет транслировано в следующее:Code local integer x = 0 local boolean cj_w666_b loop set cj_w666_b = x > 11 set x = x + 1 exitwhen cj_w666_b //Тело цикла endloop Так что и не проще, и не меньше.
|
| |
|
|
| Ty3uK | Дата: Воскресенье, 15 Января 2012, 18:12:56 | Сообщение # 11 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки: 
| Ого, не знал. Привык из яваскрипта, там таких трабл нет. Спасибо
|
| |
|
|