Сейчас 17:00:56 Четверг, 26 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Разные мультиборды
ПиксДата: Пятница, 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()? Насколько я знаю, строки не десинкуют.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz