XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Dreii
define{name=Dreii age=17}
offline
Опыт: 5,246
Активность:
Проблема с мультибордом в конце игры
Вот код,очень грозодкий.
Проблема в том что когда я проверяю 1 то все нормально но когда играют двое то этот мультиборд ломается и чер знает что творится в нем.

» Внимание! Очень большой код.
Код:
local integer i=0
local integer x=0
local multiboarditem mbitem
loop
exitwhen i>11
if GetPlayerSlotState(Player(i))== PLAYER_SLOT_STATE_PLAYING then
set x=x+1
set cols[x]=x
set gold=GetPlayerState(Player(i),PLAYER_STATE_RESOURCE_GOLD)
endif
set i=i+1
endloop
set mbe = CreateMultiboard()
call MultiboardSetRowCount(mbe,14)
call MultiboardSetColumnCount(mbe,1+cols[x])
call MultiboardSetTitleText(mbe,wins)
call MultiboardDisplay(mbe, true)
set mbitem = MultiboardGetItem(mbe,0,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Игроки:")
call MultiboardSetItemIcon(mbitem, "ReplaceableTextures\\WorldEditUI\\Editor-MultipleUnits.blp" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem,.07 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,2,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Уровень:")
call MultiboardSetItemIcon(mbitem, "ReplaceableTextures\\CommandButtons\\BTNStatUp.blp" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .07 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,4,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Убийства:")
call MultiboardSetItemIcon(mbitem, "ReplaceableTextures\\CommandButtons\\BTNCriticalStrikeDAB.blp" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .07 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,6,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Смерти:")
call MultiboardSetItemIcon(mbitem, "ReplaceableTextures\\CommandButtons\\BTN_ANA_HolyCross.BLP" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .07)  
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(mbe,8,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Попадания:")
call MultiboardSetItemIcon(mbitem, "ReplaceableTextures\\CommandButtons\\BTNMarksmanship.blp" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .07 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,10,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Промахи:")
call MultiboardSetItemIcon(mbitem, "ReplaceableTextures\\CommandButtons\\BTNEvasion.blp" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .07 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,12,0)
call MultiboardSetItemValue(mbitem,"|cFF37FB04Золото:")
call MultiboardSetItemIcon(mbitem, "UI\\Widgets\\Console\\Human\\infocard-gold.blp" )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .07 )  
call MultiboardReleaseItem(mbitem)
x=0
i=1
loop
exitwhen x>11 and i>11
//имена
if GetPlayerSlotState(Player(x))== PLAYER_SLOT_STATE_PLAYING then
set mbitem = MultiboardGetItem(mbe,0,cols[i])
call MultiboardSetItemIcon(mbitem, icons[x] )
call MultiboardSetItemStyle(mbitem, true, true )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,1,cols[i])
call MultiboardSetItemValue(mbitem," "+pc[x]+GetPlayerName(Player(x)))
call MultiboardSetItemStyle(mbitem, true, false )  
call MultiboardSetItemWidth(mbitem, .06 )  
call MultiboardReleaseItem(mbitem)

//лвл
set mbitem = MultiboardGetItem(mbe,2,cols[i])
call MultiboardSetItemValue(mbitem,pc[x]+I2S(lvl[x]))
call MultiboardSetItemStyle(mbitem, true,false )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
//убийства
set mbitem = MultiboardGetItem(mbe,4,cols[i])
call MultiboardSetItemValue(mbitem,pc[x]+I2S(killmb[x]))
call MultiboardSetItemStyle(mbitem, true,false )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
//смерти
set mbitem = MultiboardGetItem(mbe,6,cols[i])
call MultiboardSetItemValue(mbitem,pc[x]+I2S(deathmb[x]))
call MultiboardSetItemStyle(mbitem, true,false )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
//попадания
set mbitem = MultiboardGetItem(mbe,8,cols[i])
call MultiboardSetItemValue(mbitem,pc[x]+I2S(kick[x]))
call MultiboardSetItemStyle(mbitem, true,false )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)

//промахи
set mbitem = MultiboardGetItem(mbe,10,cols[i])
call MultiboardSetItemValue(mbitem,pc[x]+I2S(miss[x]))
call MultiboardSetItemStyle(mbitem, true,false )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
//Золото
set mbitem = MultiboardGetItem(mbe,12,cols[i])
call MultiboardSetItemValue(mbitem,pc[4]+I2S(gold[x]))
call MultiboardSetItemStyle(mbitem, true,false )  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
endif
x=x+1
i=i+1
endloop

x=0
loop
exitwhen x>12
//Стиль
set mbitem = MultiboardGetItem(mbe,1,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,3,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem) set mbitem = MultiboardGetItem(mbe,5,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem) set mbitem = MultiboardGetItem(mbe,7,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(mbe,9,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,11,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(mbe,13,cols[x])
call MultiboardSetItemStyle(mbitem,true,false)  
call MultiboardSetItemWidth(mbitem, .05 )  
call MultiboardReleaseItem(mbitem)
x=x+1
endloop
call MultiboardMinimize(mbe,true)
call MultiboardMinimize(mbe,false)
set mbitem=null


p.s когда играет 12 человек мб тоже работает нормально

[i]Dreii добавил:

Проблема решена
Старый 03.07.2011, 19:08
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 08:11.