immortal akaFoX
offline
Опыт:
274Активность: |
Мультибоард для каждого игрока
Чесн не знаю куда даже писать,в академию или сюда но всётаки решил написать сюда :)
Думаю что это ужо избитая тема, юзал поиск = не нашёл. Нужно создать МБ на 10 чел и кождому разные.Читал статью Jon'a.Вроде всё понятно, уже всё сделал но тут проблема в компиляции.Ошибок тьма. Цитата: Нужно при инициализации использовать код: 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[i]. call MultiboardDisplayBJ( true, udg_MB ) endif set i = i + 1 endloop [I]//этот массив показал для первого игрока MultiBoard который находится в переменой MB[1], для второго - MB[2], и т.д. Не совсем понял момент где подчёркнуто. В customscript или куда это усё засовывать. зы: советовать прочитать статб ещё раз не стоит. много раз прочитал ужо ззы: буду оч. признателен :) |
17.09.2007, 23:57 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Создаешь триггер с событием Map initialization
Потом Правка/Конвертировать в текст Затем удаляешь весь текст, что был до "//===========================================================================" И вставляешь туда твой. Все.. ScorpioT1000 добавил: да и еще замени после полоски: call TriggerAddAction( gg_trg_<имя_триггера>, function <имя_стартовой_функции*> ) *На имя этой твоей всей функции. Вобще весь текст твой должен быть какойто функцией(ями).. |
18.09.2007, 02:29 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Создай полностью пустой триггер под именем "InitMB", в верхнем меню нажми кнобку "Правка", там выбери "Конвертировать в текст".
У тебя весь тригер превратится в текст, удаляй все, и засунь туда этот код: Код:
в результате у тебя в переменую udg_MB[] будут занесены мультиборду, в ячейках под определеными номерами находятся мульебрды для такихже по номеру играков (от 1 до 12) |
18.09.2007, 04:21 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Цитата:
тож свое.. |
|
18.09.2007, 04:56 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Цитата:
Кстати можно было обойтись 1 глобалным хендлом, и создавать всего 1 мультиборд, который будет выглядеть у каждого игрока по разному, а не 12... ;D Отредактировано exploder, 18.09.2007 в 10:36. |
|
18.09.2007, 10:28 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
exploder это я знаю.. мы с тоадкопом проверяли будут ли десинки с этом, десинков небыло... но для простаты для новичков лучше оперировать постояно с один мультибордом, чем с локальными данными
|
18.09.2007, 10:44 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
Цитата:
если писать для каждого игрока свою инфу локально в 1 мультибоард, то десинки могут быть, например если ты сделаешь разное количество строк или столбцов, так как multiboarditem это хэндл :), на самом деле лучше каждому по мультибоарду и не загонятся :) |
|
18.09.2007, 11:05 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
df Hunter, ты уверен что multiboarditem создаются динамически, а не статически? Я лично не проверял.
|
18.09.2007, 11:30 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
immortal akaFoX
offline
Опыт:
274Активность: |
Всем большое спасибо за сотруднечество :)
immortal akaFoX добавил: Цитата:
Можно поподробнее. Мне это и нужно по идее. Ну например один МБ, но заголовки для каждого игрока этого МБ разные. |
|
18.09.2007, 11:44 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
Цитата:
им выделяется хэндл, как пример десинка: ты создал для игрока 1 в мультибоарде 10 строк 10 стобцов для 2 игрока по 11, даже если это не кикнет, то после этого при создании например юнита хэндлы будут разными и будет несовпадение данных = десинк(то есть для серва будет то, как будет игрок сделал: if GetLocalPlayer() == игрок then call CreateUnit(params) endif хотя если ты создашь сразу мультибоард для 2 игроков с 11 столбцами и строками, но для 1ого будешь юзать только 10 мб и не кикнет, так как строки не кикают :) |
|
18.09.2007, 12:43 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
immortal akaFoX
offline
Опыт:
274Активность: |
Чесн не понял.У меня такая задача. Играет 10 чел. Нужно сделать так чтобы у каждого игрока был одинаковый мультиборд но заголоаки у этого борда были разные для каждого игрока. Вот например я прописываю в доте -di и у меня (только у меня а не у всех) в заголовке борда появляется крипстат. Вот для этого мне нужно создавать 10 бордов или 1? |
18.09.2007, 14:58 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
df Hunter никаких дисинков не будет.. мы с тоадкопом тестили это... уже давно...
immortal akaFoX имей ввиду что вопросы надо задовать точно с самого начала, если тебе нужно постояно делать локальные изменения в мультиборде и ты не хочеш все писать на джаз делай как сказал я в 3 посте... если тебе надо изменить всеволиш заголовок... то это не так трудно... можно создать для этого один мультиборд, и локально менять в нем заголовок... ща обьесню как: Jon добавил: Вот так: Код:
запускай функцию через cs например так: costum script: call ChangeTitleMBPlayer(bj_lastCreatedMultiboard, Player(0), "Я Криветк0") в результате у первого игрока последний созданый мультиборд сменит название на "Я Криветк0" Отредактировано Jon, 18.09.2007 в 16:06. |
18.09.2007, 15:53 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
Код:
с юнитом кик 100%, без юнита может быть не кикнет(но обьект создатся в игре после в любом случае если создавать сразу мультибоард с 11 для всех игроков тогда не кикнет, я писал про динамичные локальные добавления/убирания row и column |
18.09.2007, 16:08 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
df Hunter а че если мультиборд итем создавать вне локального ифа?
|
18.09.2007, 16:19 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
Цитата:
я писал Цитата:
|
||
18.09.2007, 16:21 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
всмысле?
Jon добавил: я говорю че если функцю MultiboardGetItem() использовать не локально.. а для всех, раз она создает новый хендл... а MultiboardSetItemValue() и т.п. уже локально... |
18.09.2007, 16:29 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
Цитата:
посмотри, на сколько слотов создается мультибоард, впринципе разницы не будет, для одного игрока она вернет null, для другого итем |
|
18.09.2007, 16:33 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
ну вообщем сдесь достаточно сложно сказать чтото в теории... надо тестить в мульти и там и смотреть...
Jon добавил: Цитата:
невернет она для него нул Отредактировано Jon, 18.09.2007 в 17:12. |
|
18.09.2007, 17:01 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
df Hunter
Нападатель
offline
Опыт:
5,749Активность: |
Цитата:
значит несуществующий итем, что приведет к крашу тогда, проверять неохота, но в любом случае данные будут разные |
|
18.09.2007, 17:14 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
Цитата:
ни приведет, дебаггер закроет триггер |
|
18.09.2007, 19:19 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|