Разные мультиборды
|
|
Пикс | Дата: Пятница, 14 Января 2011, 16:23:40 | Сообщение # 1 |
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
| Как сделать свой мультиборд для каждого игрока? Чтобы к примеру записать туда характеристики его героя. P.S. первый раз работаю с МБ
Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
|
|
|
|
Dreii | Дата: Пятница, 14 Января 2011, 16:28:24 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Пикс, Code local integer i = 1 call TriggerSleepAction( 0.01 ) loop exitwhen i > 12 __//12 - это количество всех игроков, но как уже говорилось выше (во 2-ом пункте), лучше здесь указать не 12, а переменную udg_**player**.__ set udg_MB__ = CreateMultiboardBJ( ROWS, COLUMNS, "TITLE" ) call MultiboardDisplayBJ( false, udg_MB__ ) set i = i + 1 endloop __//верхний цикл, создавал 12 совершено разных **MultiBoard**’ов, и записал их в переменную массив **MB** по порядку__ set i = 1 loop exitwhen i > 12 if ConvertedPlayer(i) == GetLocalPlayer() then __//**ConvertedPlayer(i)**, это то о чем говорилось во 2-ом пункте, но если вы хотите делать также как и там, то тут вместо этого следует указать переменную udg_**MBplayer__**.__ call MultiboardDisplayBJ( true, udg_MB__ ) endif set i = i + 1 endloop __//этот массив показал для первого игрока **MultiBoard** который находится в переменой **MB[1]**, для второго - MB[2], и т.д.__
|
|
|
|
Пикс | Дата: Пятница, 14 Января 2011, 16:36:16 | Сообщение # 3 |
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
| Dreii, либо я чего-то не понял либо ты чего-то не дописал либо эта функция сначала создает 12 мультибордов и скрывает их, а потом опять их все показывает. сразу 12 и сразу всем... обьясни плз. мне не нужны эти функции, наработки, примеры. я все сделаю сам. мне только нужен оператор, которые скрывает/показывает МБ для одного игрока а не для всех. call MultiboardDisplayBJ( true, udg_MB__ ) вот этот оператор показывает для всех, или я не так что то понял?
Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
|
|
|
|
SirNikolas | Дата: Пятница, 14 Января 2011, 16:40:25 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Функция GetLocalPlayer()
|
|
|
|
Dreii | Дата: Пятница, 14 Января 2011, 16:40:32 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Пикс, отсуда взял
|
|
|
|
SPtrue | Дата: Пятница, 14 Января 2011, 16:41:33 | Сообщение # 6 |
Mí alegre
Группа: Проверенные
Сообщений: 2732
Награды: 2
Репутация: 692
Блокировки:
| Сделай на тригах: группа игроков- красный игрок. Или я не так понял
|
|
|
|
Пикс | Дата: Пятница, 14 Января 2011, 16:47:20 | Сообщение # 7 |
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
| я всеравно ничего не понял. вернее все понял но не понимаю почему к примеру 2 игрок не видит мультиборд первого, ведь так используется стандартная функция показа мультиборда call MultiboardDisplayBJ( true, udg_MB__ ), но она не спрашивает какому игроку показать, она показывает сразу всем
Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
|
|
|
|
SirNikolas | Дата: Пятница, 14 Января 2011, 16:52:47 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Потому, что она используется в блоке if с GetLocalPlayer().
|
|
|
|
Пикс | Дата: Пятница, 14 Января 2011, 16:55:30 | Сообщение # 9 |
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
| GetLocalPlayer() что делает этот оператор? тоесть там проход от 1 до 12: если игрок (i) кто?? то делаем действия. что за условие? как оно интерпритируется на русский?
Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
|
|
|
|
SirNikolas | Дата: Пятница, 14 Января 2011, 16:58:03 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Я же дал ссылку на статью в сообщении №4. Добавлено (14-01-2011, 16:58) ---------------------------------------------
Quote (Пикс) если игрок (i) кто?? то делаем действия Ну, так оно и есть.
|
|
|
|
Пикс | Дата: Пятница, 14 Января 2011, 16:58:30 | Сообщение # 11 |
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
| 1. Что такое GetLocalPlayer()? GetLocalPlayer() - одна из полезнейших функций common.j, однако также одна из опаснейших. GetLocalPlayer() - функция, которая запускает часть действий для конкретного игрока. Поэтому при правильном её использовании можно совершить действие для конкретного игрока, для остальных же это действие совершено не будет вот что я хотел услышать) все понял всем спасибо =)
Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
|
|
|
|
BUUNI | Дата: Пятница, 14 Января 2011, 19:39:57 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| То есть надо триггер с мультибордом переводить в Jass, и изменить GetLocalPlayer() к примеру на GetLocalPlayer(2) и он будет показывать синему игроку?
|
|
|
|
Пикс | Дата: Пятница, 14 Января 2011, 23:00:25 | Сообщение # 13 |
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 4
Блокировки:
| BUUNI, нет. перечитай еще раз все)
Без любви к своему делу создать что-то великое невозможно, а ради всего остального жить нет смысла (с) Сергей Орловский (глава компании Astrum Nival)
|
|
|
|
BUUNI | Дата: Суббота, 15 Января 2011, 11:33:35 | Сообщение # 14 |
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
| Вроде бы понял GetLocalPlayer() = (Player 2) \\ Показывает 3 игроку
|
|
|
|
Dreii | Дата: Суббота, 15 Января 2011, 12:10:02 | Сообщение # 15 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| BUUNI, нет
|
|
|
|
[DUОS] | Дата: Суббота, 15 Января 2011, 13:10:34 | Сообщение # 16 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Dreii, А не лучше ли создать один боард и управлять через GetLocalPlayer()? Насколько я знаю, строки не десинкуют.
|
|
|
|