[Вопрос] MultiBoard через LocalPlayer
|
|
oleg_best_oleg | Дата: Суббота, 17 Декабря 2011, 21:46:21 | Сообщение # 1 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Прочитал статью про LocalPlayer. Но не понял такое, вот допустим код:
Он создает доску и показывает только для красного игрока. Далее, вопрос: Как их использовать через gui ? Допустим мне надо чтобы каждому игроку в доске показывало его здоровье, мана и способности. Нельзя ли например установить в массив Board[0]...[Board[11] ? И для каждого показывать своё инфу. И не будет ли от такого десинка ?
|
|
|
|
[DUОS] | Дата: Суббота, 17 Декабря 2011, 22:07:15 | Сообщение # 2 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Quote (oleg_best_oleg) Нельзя ли например установить в массив Board[0]...[Board[11] ? И для каждого показывать своё инфу. И не будет ли от такого десинка ? Надо делать мультибоард на Jass.
|
|
|
|
oleg_best_oleg | Дата: Суббота, 17 Декабря 2011, 22:19:10 | Сообщение # 3 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| [DUОS], ну, легко сказать... А мне надо создавать доску на jass'е и редактировать её на гуи. Либо как вариант код Local Player вставить в costum script и весь триггер делать gui.
|
|
|
|
[DUОS] | Дата: Суббота, 17 Декабря 2011, 22:37:19 | Сообщение # 4 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| oleg_best_oleg, Это
|
|
|
|
oleg_best_oleg | Дата: Суббота, 17 Декабря 2011, 22:50:29 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| [DUОS], это целая доска, мне не разобраться в таком jass коде, а мне надо такое:
Вот например сделать цикл: Для A от 1 до 10: если LocalPlayer (A-1), то создать или показать доску, иначе... Установить Board[A-1] = последний созданный мультибоард
|
|
|
|
[DUОS] | Дата: Суббота, 17 Декабря 2011, 22:58:56 | Сообщение # 6 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Quote (oleg_best_oleg) мне не разобраться в таком jass коде А зачем разбираться-то? Это пакет функций, которые позволяют что-то сделать с доской для конкретного игрока.
|
|
|
|
oleg_best_oleg | Дата: Суббота, 17 Декабря 2011, 23:00:49 | Сообщение # 7 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| [DUОS], ну а я не понимаю ничего в этом пакете. Мне надо создание для каждого свою доску, а функции я на gui спокойно сделаю.
|
|
|
|
Borodach | Дата: Воскресенье, 18 Декабря 2011, 07:40:22 | Сообщение # 8 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| oleg_best_oleg, Не пробовал, но в принципе можно(по логике). Ты протести и будешь знать.... Код скопируй в шапку [code]function GetLocalMB takes multiboard mb, integer p returns nothing call MultiboardDisplay(mb,false) if GetLocalPlayer()==Player(p-1) then call MultiboardDisplay(mb,true) endif endfunction Цыкл от 1 до 12 call GetLocalMB (udg_<name mb> ,GetForLoopIndexA() )Добавлено (18 Декабрь 2011, 07:40:22) --------------------------------------------- udg_<name>[GetForLoopIndexA()]*
Karamba
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 11:40:48 | Сообщение # 9 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Borodach, выдаёт фаталку.
Code function GetLocalMB takes multiboard mb, integer p returns nothing call MultiboardDisplay(mb,false) if GetLocalPlayer()==Player(p-1) then call MultiboardDisplay(mb,true) endif endfunction set bj_forLoopAIndex = 1 set bj_forLoopAIndexEnd = 10 loop exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd set bj_forLoopAIndex = bj_forLoopAIndex + 1 call GetLocalMB (udg_Board[GetForLoopIndexA()] )
Сообщение отредактировал oleg_best_oleg - Воскресенье, 18 Декабря 2011, 11:41:19 |
|
|
|
lawson | Дата: Воскресенье, 18 Декабря 2011, 13:35:37 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (oleg_best_oleg) выдаёт фаталку. Не удивительно.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 13:44:49 | Сообщение # 11 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| lawson, какой хороший ответ. Теперь я все понял
|
|
|
|
SirNikolas | Дата: Воскресенье, 18 Декабря 2011, 13:56:34 | Сообщение # 12 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| oleg_best_oleg, функция принимает два аргумента.
Почему ты не хочешь использовать функции [DUОS]'а?
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 14:52:00 | Сообщение # 13 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| SirNikolas, я хочу, но я там понимаю только банальные знания английского... А мне надо чтобы я смог её дальше редактировать.
|
|
|
|
Ty3uK | Дата: Воскресенье, 18 Декабря 2011, 14:52:23 | Сообщение # 14 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Потому что это очень сложно. Написать один кс в триггере стоит неимоверных усилий
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 14:54:46 | Сообщение # 15 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Ty3uK, ну так я же не знаю что именно писать.
|
|
|
|
SirNikolas | Дата: Воскресенье, 18 Декабря 2011, 15:17:06 | Сообщение # 16 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Code function MultiboardSetItemValueForPlayer(player whichPlayer, multiboard mb, integer row, integer column, string val) function MultiboardSetItemIconForPlayer(player whichPlayer, multiboard mb, integer row, integer column, string icon) function MultiboardSetItemStyleForPlayer(player whichPlayer, multiboard mb, integer row, integer column, boolean showValue, boolean showIcon) function MultiboardSetItemWidthForPlayer(player whichPlayer, multiboard mb, integer row, integer column, real width) function MultiboardDisplayForPlayer(multiboard mb, player p) function CreateMultiboardForPlayer(integer cols, integer rows, string title, player p) -> multiboard Что сложного-то?
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 15:21:14 | Сообщение # 17 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| SirNikolas, я как бы понятия не имею что делать с этим кодом. Это функции редактирования доски.
Напишите кто-то мне код для создания просто для красного доску, а для каждого я уже сам сделаю и чтобы доски можно было в массив записать.
|
|
|
|
SirNikolas | Дата: Воскресенье, 18 Декабря 2011, 15:23:01 | Сообщение # 18 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Не надо их в массив записывать. Банальные знания английского поясняют, что первые четыре функции нужны для изменения данных в доске для конкретного игрока, пятая - для отображения доски игроку, а последняя - для создания доски для игрока.
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 15:24:35 | Сообщение # 19 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| SirNikolas, мне не нужна вся доска на jass'е, мне нужно чтобы они были в массиве, чтобы я их мог легко редактировать через gui. Либо вся доска на GUI и local player через costum script.
|
|
|
|
SirNikolas | Дата: Воскресенье, 18 Декабря 2011, 15:28:33 | Сообщение # 20 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Ну неужели сложно написать в Custom script'е:Code call MultiboardSetItemValueForPlayer(Player(0), udg_MB, 0, 0, "abc")
|
|
|
|
oleg_best_oleg | Дата: Воскресенье, 18 Декабря 2011, 15:57:53 | Сообщение # 21 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| SirNikolas, и это все ? Не надо If GetLocal player == Player (0), then ?
|
|
|
|
SirNikolas | Дата: Воскресенье, 18 Декабря 2011, 17:43:44 | Сообщение # 22 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Функции для того и написаны, чтобы упрощать нам жизнь. Если ты посмотришь, то заметишь, что GetLocalPlayer() есть в самих функциях.
|
|
|
|
oleg_best_oleg | Дата: Понедельник, 19 Декабря 2011, 23:36:11 | Сообщение # 23 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Не работает доска, подскажите в чем ошибка.
|
|
|
|
Hexing | Дата: Вторник, 20 Декабря 2011, 08:07:14 | Сообщение # 24 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| oleg_best_oleg, целая а не принимает значения 0, а значит борды создаются для 2...11 игроков т.к. Player(1) = игрок 2 делай для каждого числа а от 0 до 9
|
|
|
|
oleg_best_oleg | Дата: Вторник, 20 Декабря 2011, 15:42:31 | Сообщение # 25 |
Группа: Заблокированные
Сообщений: 1726
Награды: 0
Репутация: 654
Блокировки:
| Hexing, да я уже это с утра понял, просто не успел зайти на сайт.
|
|
|
|