Сейчас 00:40:14 Понедельник, 29 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] MultiBoard через LocalPlayer
[Вопрос] 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
Блокировки:
Потому что это очень сложно. Написать один кс в триггере стоит неимоверных усилий :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

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, да я уже это с утра понял, просто не успел зайти на сайт.
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] MultiBoard через LocalPlayer
  • Страница 1 из 1
  • 1
Поиск:

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