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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Мультитаблица
Мультитаблица
SreziДата: Понедельник, 14 Января 2013, 18:22:58 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
Код

function mbdisp takes multiboard mb,player p returns nothing
      if GetLocalPlayer()==p {
          MultiboardDisplay(mb,true)
      }
endfunction

function Trig_Table_Actions takes nothing returns nothing
      integer i=0
      integer k=1
           
      do{
          exitwhen k>2
          mb_table[k]=CreateMultiboard()
          MultiboardSetRowCount(mb_table[k], 15)
          MultiboardSetColumnCount(mb_table[k], 6)
          MultiboardSetTitleText(mb_table[k], "|cff3399ffБлаБлаБла")
          MultiboardDisplay(mb_table[k],false)
          if k==1{
              i=1
              do {
                  exitwhen i>6
                  mbdisp(mb_table[k],Player(i))
                  i++
              }
          }else{
              i=7
              do {
                  exitwhen i>12
                  mbdisp(mb_table[k],Player(i))
                  i++
              }
          }
      k++
      }
        
      MultiboardMinimize(mb_table[1],false)
      MultiboardMinimize(mb_table[2],false)
endfunction


Таблица не хочет отображаться, помогите найти изъян. Заранее спасибо.

p.s. По идее здесь 2 таблицы, первая показывается 1-6 игрокам, Вторая 7-12 игрокам.


Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.


Сообщение отредактировал Srezi - Понедельник, 14 Января 2013, 18:27:58
 

Ty3uKДата: Понедельник, 14 Января 2013, 18:36:57 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
На кой ляд две таблицы? Локальное изменение ячеек - вот это круто.
Смешение синтаксиса JASS2 и cJASS - что может быть ужаснее. D:

Не могу не прорекламировать trollface

Добавлено (14 Января 2013, 18:36:57)
---------------------------------------------
Запусти таймер на .25 и создавай доску там.
Инфа 100%.


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


Сообщение отредактировал Ty3uK - Понедельник, 14 Января 2013, 18:37:20
 

SreziДата: Понедельник, 14 Января 2013, 18:37:50 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
Цитата (Ty3uK)
На кой ляд две таблицы? Локальное изменение ячеек - вот это круто.
Смешение синтаксиса JASS2 и cJASS - что может быть ужаснее. D:


Спасибо за всякий бред от твоего лица. Но лучше бы ответил на вопрос. А в каком я "жанре" пишу не важно, да хоть смесь Гуи+Питон, моё право.

Найди изъян, буду очень благодарен. Спсасибо.


Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.
 

Ty3uKДата: Понедельник, 14 Января 2013, 18:39:37 | Сообщение # 4
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Бред от моего лица? Отпало всякое желание помогать.
Глаза открой и прочитай выше: таймер на .25 и там создавай доску.


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

SreziДата: Понедельник, 14 Января 2013, 18:47:10 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
Цитата (Ty3uK)
Бред от моего лица? Отпало всякое желание помогать.
Глаза открой и прочитай выше: таймер на .25 и там создавай доску.


А подробнее? Я просто плохо понял твою идею, распиши.

"Бред от твоего лица"=критика в мой адрес


Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.
 

Ty3uKДата: Понедельник, 14 Января 2013, 18:52:23 | Сообщение # 6
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Код
scope Multiboard {
     multiboard MB
      
     callback onInit() {
         TimerStart(CreateTimer(), .25, false, lambda nothing() {
             MB = CreateMultiboard();
             MultiboardSetRowCount(MB, 5);
             MultiboardSetColumnCount(MB, 5);
             MultiboardDisplay(MB, true);
             MultiboardMinimize(MB, false);
             DestroyTimer(GetExpiredTimer());
         });
     }
}

Добавлено (14 Января 2013, 18:52:23)
---------------------------------------------
В данном случае критика не бредовая.
/Summon SirNikolas


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

SreziДата: Понедельник, 14 Января 2013, 18:52:25 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
То есть каждую по отдельности создать? без цикла? И так же отдельно показать её первой группе игроков и второй да?

Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.
 

Ty3uKДата: Понедельник, 14 Января 2013, 18:53:28 | Сообщение # 8
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Srezi, зачем тебе две доски?
Но если так надо - в таймере просто обе доски создаешь и делаешь что тебе надо: циклами, не циклами.


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

SreziДата: Понедельник, 14 Января 2013, 18:56:12 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
Цитата (Ty3uK)
Но если так надо - в таймере просто обе доски создаешь и делаешь что тебе надо: циклами, не циклами.


Я хочу сделать 2 таблицы, чтобы одна была для одной группы игроков, другая для другой.

Эксперементирую с GetLocalPlayer(), но вот чёта запутался =\


Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.
 

SirNikolasДата: Понедельник, 14 Января 2013, 18:56:42 | Сообщение # 10
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Srezi, мультидоску нельзя создавать при инициализации. Минимум - после того, как прошло .0 секунд.
Не могу не согласиться с Ty3uK насчет смешения синтаксиса.


 

SreziДата: Понедельник, 14 Января 2013, 18:58:59 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
Цитата (SirNikolas)
Srezi, мультидоску нельзя создавать при инициализации. Минимум - после того, как прошло .0 секунд.
Не могу не согласиться с Ty3uK насчет смешения синтаксиса.


Она создается не при инициализации. Ошибка вся в GetLocalPlayer()... Вы, извините, не в ту сторону смотрите)

Добавлено (14 Января 2013, 18:58:59)
---------------------------------------------
Но вот в чём точно, не могу понять =\. Если убрать GetLocalPlayer(), то всё отлично работает


Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.
 

Ty3uKДата: Понедельник, 14 Января 2013, 19:01:32 | Сообщение # 12
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Код
scope Multiboard {
     multiboard MB
      
     callback onInit() {
         TimerStart(CreateTimer(), .25, false, lambda nothing() {
             MB = CreateMultiboard();
             MultiboardSetRowCount(MB, 5);
             MultiboardSetColumnCount(MB, 5);
    if (GetLocalPlayer() == Player(1)) {
     MultiboardDisplay(MB, true);
     MultiboardMinimize(MB, false);
    }
             DestroyTimer(GetExpiredTimer());
         });
     }
}

Имеем - отображающуюся доску для игрока 2 (синий).
Меняем Player(1) на Player(0) и все работает у нас, красного игрока.

Добавлено (14 Января 2013, 19:01:32)
---------------------------------------------

Цитата (Srezi)
          MultiboardDisplay(mb_table[k],false)

лишнее, она изначально не показывается.


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

SreziДата: Понедельник, 14 Января 2013, 19:10:36 | Сообщение # 13
7 уровень
Группа: Проверенные
Сообщений: 414
Награды: 0
Репутация: 116
Блокировки:
Цитата (Ty3uK)
Имеем - отображающуюся доску для игрока 2 (синий).
Меняем Player(1) на Player(0) и все работает у нас, красного игрока.


Сейчас потестирую, спс)

Добавлено (14 Января 2013, 19:10:36)
---------------------------------------------

Код
if (GetLocalPlayer() == Player(1)) {
      MultiboardDisplay(MB, true);
      MultiboardMinimize(MB, false);
     }  


Отлично помогло, спсибо биг ТуЗиК


Нет места чести на войне,
Враг церемониться не будет,
Убей его любым путём,
Ведь победителей не судят.
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Мультитаблица
  • Страница 1 из 1
  • 1
Поиск:

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