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

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

Закрытая тема
 
BloodyGuol

offline
Опыт: 343
Активность:
Мультибоарды на заказ
Здесь вы можете заказать любой мультибоард (или таблицу рекордов) на заказ.

Правила написания заказа:
1. Тип: таблица рекордов или мультибоард.
2. Жанр вашей карты: Арена, ОРПГ и тп.
3. Динамические игроки: кол-во слотов, которые могут как использоваться, так и не использоваться.
4. Подробное описание вашего мультиборда: Что вы хотите видеть на мультибоарде.
6. О вашей карте: Название и названия кланов.
7.(Необязательно) Дополнительные требования: Например: Время игры.

FAQ:
Сроки выполнения заказа: 1-2 дня.
Туториал предоставляется вместе с заказом.

Заказов выполнено: 2
(Если вы не хотите писать заказ, можете скинуть свою карту мне (в лс) чтобы я мог вам сделать мультибоард под вашу карту.)

Отредактировано BloodyGuol, 12.09.2012 в 06:51.
Старый 10.09.2012, 20:54
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
ТИП Мультибоард
Жанр как Td
игроков 8
4 на 4 всего 2 комманды
желательно отобразить имя игроков, колличество древесины, золота, мастерство(опыт)
Время игры желательно в самом низу таблицы.
также в низу надо общее колличество построенных зданий 1 комманды и 2 комманды.
Заранее Благодарен.
Старый 10.09.2012, 21:07
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
BloodyGuol, круто, я некогда сам не любил делать мультиборды, теперь если понадобится закажу)
Старый 11.09.2012, 05:59
KrovoSOS
Сыграем в бога
offline
Опыт: 2,464
Активность:
Тип: Мультибоард
Жанр моей карты: HD(Hero Defence)
Сколько игроков: от 1 до 4
Что показывает: золото,уровень героя,убийства,Смерти
Дополнительные требования: Время игры в низу таблицы
О моей карте: Key To Survival,название кланов-Элементы(герои) и Наги(монстры)
Заранее спасибо

Отредактировано Rodion, 11.09.2012 в 14:36.
Старый 11.09.2012, 08:14
BloodyGuol

offline
Опыт: 343
Активность:
Заказы Cosonic5 и Rodion выполнены.
Прикрепленные файлы
Тип файла: w3x For Cosonic5.w3x (14.9 Кбайт, 26 просмотров )
Тип файла: w3x For Rodion.w3x (14.6 Кбайт, 24 просмотров )
Старый 11.09.2012, 14:36
KrovoSOS
Сыграем в бога
offline
Опыт: 2,464
Активность:
BloodyGuol, Спасибо
Старый 11.09.2012, 14:39
YellowStar
poon
offline
Опыт: 15,144
Активность:
Используются ли библиотеки? Пишутся на Jass? Есть ли возможность дальнейшей гибкой настройки?

Если интересно, могу поделиться своими соображениями по поводу мультибоарда, в данный момент - реализовал так-то один мультибоардик :]
Старый 11.09.2012, 15:58
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
YellowStar, на jass тока я тут писал мультиборд, причём на спор с Msey, но настраивался он в отдельном гуи триггере и не требовал jngp... кстати я его чёто и не скинул в барахолку...
Старый 11.09.2012, 16:02
YellowStar
poon
offline
Опыт: 15,144
Активность:
У меня на cjass - настройка, мультбоард на vJass.

Настраиваются любые параметры, строки, столбцы итд, все это делает буквально в пять - двадцать минут, но еще не хватает гибкости, может допилю - выложу.
Старый 11.09.2012, 16:26
asesmo
Я I Jag Ich Jeg Ja Minä!
offline
Опыт: 8,073
Активность:
BloodyGuol, знаю, что не в тему, а сможешь сделать кастбар с полоской как на 5 скрине?
Старый 11.09.2012, 16:55
DaeDR

offline
Опыт: 8,074
Активность:
BloodyGuol, Скачал, посмотрел и пришел в ужас. Почему ты сделал на ГУИ??? Это просто рассадник утечек всех форм и видов.
Я считаю, что если уж создавать подобные темы и реально помогать людям делать мультиборды, то нужно делать это качественно!
С выносом нескольких функций для настроек (например: call ChooseHeroFoPlayer (unit, player) будет вписывать имя юнита в таблицу, напротив ника игрока)
Тогда это будет сделано качественно и грамотно, а вам, товарищ BloodyGuol, еще учиться надо самому, а не "помогать" другим.
DaeDR добавил:
Также, предлагаю слегка модифицировать подачу заявки:
  1. Использование c/vJass Очень важная информация, т.к. с его помощью делать намного проще
  2. Тип
  3. Описание мультиборда. т.е., что вы действительно хотите получить!
  4. Выносные функции, как настройки и изменение в процессе игры
» Пример заявки
  1. c/vJass Да
  2. Мультиборд
  3. Есть три клана, каждый располагается друг под другом. Когда игрок выбирает героя, то его никнейм и вся информация о нем сносится под этот клан. Напротив каждого клана отображается его золото (он как самостоятельных игрок, управляющийся компом) и кол-во юнитов.
В строке каждого игрока расположены: Иконка героя, имя игрока, золото, убийства, смерти, счет.
Еще чуть ниже расположить время игры.
  1. Функции: изменение иконки для каждого игрока, изменение золота, убийств, смертей и счета для каждого игрока. Также для кланов изменение золота и юнитов
Когда нужен подобный мультиборд, то он будет динамичным и редактировать (вникать в суть) крайне тяжело, но когда есть управляющие функции, к которым человек может обратиться, все становится гибким и удобным!
DaeDR добавил:
Добавлю еще пример делал для своей карты
Как вы можете увидеть, в триггере commonMB есть такая сноска:
» code
/* Список команд:
call MB_ReBuilding_All() - Переформировывает MB.
== Для игроков ==
call MB_Change_HeroLeve(HERO) - Изменение уровня героя в MB
call MB_Change_PlayerScore(PLAYER, SCORE) - Изменение счета игрока
call MB_Change_PlayerGold(PLAYER) - Изменение золота игрока
call MB_Change_PlayerIcon(PLAYER, ICON) - изменение иконки героя
call MB_RemovePlayer(PLAYER) - Удаление игрока из MB
== Для Союзников ==
call MB_Change_PlayerUnits(PLAYER, UNITS, STRUCTURE) - Изменение значений войск и зданий
*/
Данный список "команд" для мультиборда позволяет очень быстро (без разбора всего кода) внести изменения в MB.
Использовать подобный MB очень удобно!
Прикрепленные файлы
Тип файла: w3x MultiBoard_1.2.w3x (22.8 Кбайт, 37 просмотров )
Старый 11.09.2012, 17:22
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
DaeDR, у меня заказ будет тогда выглядеть так...
1 Использование только jass\vjass
  1. тип мультиборд.
  2. жанр TAG 12 игроков, мультиборд показывает кол во игроков, статус игрока, его уровень развития и время игры, а так же составы фракций. 3 колонки, 16 строчек максимум... 1 колонка, Имя игрока, вторая статус, 3 уровень...внизу мультиборда состав фракций их 2, нужноу казать названия и кол во в них игроков... а так же время.
  3. в мультиборде должны использоватся функции GetPlayerState takes player pl returns string и тп...
все сктроки в мульиборде должны быть п в глоабльных переменных с префиксом gg_STR_
Старый 11.09.2012, 17:25
DaeDR

offline
Опыт: 8,074
Активность:
quq_CCCP, Ты не понял про функции, или написал до скачивания моего примера. Отдельные функции, которые редактируют MB
DaeDR добавил:
Нужно указывать такие места (золото игроков, левел и т.п.), которые ты будет менять во время игры!
Старый 11.09.2012, 17:31
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
DaeDR, ну у меня в карте есть куча функций которые должны быть связаны с мультибордом, вот я их должен выложить сюды чтобы получит то что мне нужно...
мульиборд и все сто с ним связано...
» смотри тут
((код jass
function ThisPlayeIsShopOwner takes player pl returns boolean
local integer gPlayerIndex = 0
loop
exitwhen gPlayerIndex > 10
if( GetOwningPlayer(udg_SEXShop[gPlayerIndex]) == pl) then
return true
endif
return false
set gPlayerIndex = gPlayerIndex + 1
endloop
return false
endfunction
function ShopFilter takes nothing returns boolean
return ( GetUnitState( GetFilterUnit(), UNIT_STATE_LIFE ) != 150001.00 )
endfunction
function SetNewGayShopsOwner takes integer nPlayerIndex returns nothing
local integer nIndex = 1
loop
exitwhen nIndex > 10
call SetUnitOwner( udg_SEXShop[nIndex], Player(nPlayerIndex), false )
set nIndex = nIndex + 1
endloop
endfunction
function GetPlayerTotalNum takes nothing returns integer
return udg_Total_Num_Players
endfunction
function GetPlayerForceId takes integer fp_nPlayerId returns integer
if(IsPlayerInForce(Player(fp_nPlayerId),udg_Naturals) == true) then
return 1
elseif(IsPlayerInForce(Player(fp_nPlayerId),udg_Gays) == true) then
return 2
endif
return 0
endfunction
function GetPlayersState takes integer nPlayerIndex returns string
return udg_ColorString[GetPlayerColorIndex(nPlayerIndex)] + (udg_STR_PlayerState[nPlayerIndex]) + "|r"
endfunction
function GetRowsCount takes nothing returns integer
return (udg_Total_Num_Players+4)
endfunction
function GetEnemyForcePlayer takes integer fp_nForceId returns player
return Player(11)
endfunction
function GetPlayerEnemyForcePlayer takes player pl returns player
local integer nPlayerId
local integer nForceId
set nPlayerId = GetPlayerId(pl)
set nForceId = GetPlayerForceId( nPlayerId )
return GetEnemyForcePlayer( nForceId )
endfunction
function IsSlotPlayer takes integer nPlayerIndex returns boolean
return GetPlayerController(Player(nPlayerIndex)) == MAP_CONTROL_USER and GetPlayerSlotState(Player(nPlayerIndex)) == PLAYER_SLOT_STATE_PLAYING
endfunction
function IsPlayerDefeated takes integer fp_nPlayer returns boolean
return udg_PlayerLeft[fp_nPlayer]
endfunction
function IsSlotCurrentPlayer takes integer nPlayerIndex returns boolean
return GetPlayerController(Player(nPlayerIndex)) == MAP_CONTROL_USER and GetPlayerSlotState(Player(nPlayerIndex)) == PLAYER_SLOT_STATE_PLAYING and not IsPlayerDefeated(nPlayerIndex)
endfunction
function CreateNatural takes integer nPlayerIndex returns nothing
local player pl = Player(nPlayerIndex)
local location loc = GetPlayerStartLocationLoc(pl)
local unit Nat = CreateUnitAtLoc( pl, 'h003',loc,270.00 )
call SetPlayerState( pl, PLAYER_STATE_RESOURCE_GOLD, 25 )
call SetPlayerState( pl, PLAYER_STATE_RESOURCE_LUMBER, 35 )
call SetPlayerState( pl, PLAYER_STATE_RESOURCE_FOOD_CAP, 6 )
call RemoveLocation(loc)

call UnitAddItemById( Nat, 'I009' )
call UnitAddItemById( Nat, 'I00A' )
call UnitAddItemById( Nat, 'I00M' )
call UnitAddItemById( Nat, 'I02I' )
call UnitAddItemById( Nat, udg_StartItems[GetRandomInt(1, 15)] )
call SelectUnitForPlayerSingle(Nat,pl)
set udg_Heroes[nPlayerIndex] = Nat
set Nat = null
endfunction
function GetForcePlayerNum takes integer fp_nForceId returns integer
local integer nNum
local integer nIndex
local integer nPlayerId
set nIndex = 0
set nPlayerId = GetPlayerForceId(fp_nForceId)
set nNum = 0
loop
exitwhen nIndex >= GetPlayerTotalNum()/2 - 1
if ( IsSlotPlayer(nPlayerId) ) then
set nNum = nNum + 1
endif
set nIndex = nIndex + 1
set nPlayerId = nPlayerId + 1
endloop
return nNum
endfunction

function GayFilter takes nothing returns boolean
return IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) and IsUnitAliveBJ(GetFilterUnit()) and IsUnitType(GetFilterUnit(), UNIT_TYPE_UNDEAD) and (GetUnitTypeId(GetFilterUnit()) != 'N00R' )
endfunction
function CheckGays takes player pl returns integer
local group grp = CreateGroup()
local integer num
call GroupEnumUnitsOfPlayer( grp, pl, Condition( function GayFilter) )
set num = CountUnitsInGroup( grp )
call DestroyGroup( grp )
return num
endfunction
function GetForceCurrentPlayerNum takes integer fp_nForceId returns integer
local integer nNum
local integer nIndex
local integer nPlayerId
set nIndex = 0
set nPlayerId = fp_nForceId * GetPlayerTotalNum() / 2
set nNum = 0
loop
exitwhen nIndex >= GetPlayerTotalNum()/2 - 1
if ( IsSlotCurrentPlayer(nPlayerId) ) then
set nNum = nNum + 1
endif
set nIndex = nIndex + 1
set nPlayerId = nPlayerId + 1
endloop
return nNum
endfunction
function PlayerLeft takes player fp_pl, boolean fp_bShowMessage returns nothing
local integer nPlayerId
local integer nPlayer
local integer nIndex
local group grp
local multiboarditem mbitem
set nPlayerId = GetPlayerId(fp_pl)
if ( fp_bShowMessage ) then
call ShowMsgToAll(GetColoredPlayerName( nPlayerId ) + udg_STR_PLAYERLEFT )
endif
set udg_STR_PlayerState[nPlayerId] = " ливер"
set udg_Total_Num_Players = udg_Total_Num_Players - 1
set udg_PlayerLeft[nPlayerId] = true
if(GetPlayerForceId(nPlayerId) == 0) then
call ShowMsgToAll("Error! unknown force! player "+I2S(nPlayerId) )
return
endif
if(GetPlayerForceId(nPlayerId) == 1) then
set udg_Num_Of_Nat = udg_Num_Of_Nat - 1
call ForceRemovePlayer( udg_Naturals, fp_pl )
call NewOwner(fp_pl)
elseif(GetPlayerForceId(nPlayerId) == 2) then
set udg_Num_Of_Gay = udg_Num_Of_Gay - 1
call ForceRemovePlayer( udg_Gays, fp_pl )
if(ThisPlayeIsShopOwner(fp_pl)) then
call SetNewGayShopsOwner(GetPlayerId(ForcePickRandomPlayer(udg_Gays)))
endif
else
call ShowMsgToAll("Error! unknown force! player "+I2S(nPlayerId) )
endif

set grp = GetUnitsOfPlayerMatching(fp_pl,Condition(function ShopFilter))
call ForGroup(grp, function RemoveEnumUnit)
call DestroyGroup( grp )

set mbitem = MultiboardGetItem(udg_Multiboard,GetPlayerRow(fp_pl),1)
call MultiboardSetItemValue(mbitem,GetPlayersState(nPlayerId))
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(udg_Multiboard,GetPlayerRow(fp_pl),0)
call MultiboardSetItemIcon(mbitem , "ReplaceableTextures\\CommandButtons\\BTNCancel.blp")
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(udg_Multiboard,udg_NatNumInfo,1)
call MultiboardSetItemValue(mbitem,GetColoredString(6,I2S(udg_Num_Of_Nat)))
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(udg_Multiboard,udg_GayNumInfo,1)
call MultiboardSetItemValue(mbitem,GetColoredString(6,I2S(udg_Num_Of_Gay)))
call MultiboardReleaseItem(mbitem)
set grp = null
set mbitem = null

if( udg_ItsForDebug ) then
return
endif

call TriggerExecute( gg_trg_Function_CheckGameOver )
endfunction
function InitPlayers takes nothing returns nothing
local integer nPlayerIndex
set nPlayerIndex = 0
loop
exitwhen nPlayerIndex >= 12
if ( IsSlotPlayer(nPlayerIndex) ) then
set udg_Total_Num_Players = udg_Total_Num_Players + 1
set udg_This_Player_Is_Playing[nPlayerIndex] = true
set udg_STR_PlayerState[nPlayerIndex] = " натурал"
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, true, Player(nPlayerIndex ) )
endif
set nPlayerIndex = nPlayerIndex + 1
endloop
set nPlayerIndex = 0
loop
exitwhen nPlayerIndex > 9
if ( udg_This_Player_Is_Playing[nPlayerIndex] ) then
call CreateNatural(nPlayerIndex)
set udg_Num_Of_Nat = udg_Num_Of_Nat + 1
set udg_NiconNumber[nPlayerIndex+1] = 8
call ForceAddPlayer( udg_Naturals, Player(nPlayerIndex) )
endif
set nPlayerIndex = nPlayerIndex + 1
endloop
if(IsSlotPlayer(10)) then
set udg_Num_Of_Gay = udg_Num_Of_Gay + 1
set udg_STR_PlayerState[10] = " гей"
call ForceAddPlayer( udg_Gays, Player(10) )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_RESOURCE_FOOD_CAP, 76 )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_RESOURCE_GOLD, 425 )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_RESOURCE_LUMBER, 1000 )
call CreateUnit( Player(10), 'e004', GetUnitX(udg_GayTevern), GetUnitY(udg_GayTevern),270.00)
else
call SetNewGayShopsOwner( 0 )
endif
if(IsSlotPlayer(11)) then
set udg_Num_Of_Gay = udg_Num_Of_Gay + 1
set udg_STR_PlayerState[11] = " гей"
call ForceAddPlayer( udg_Gays, Player(11) )
call SetPlayerStateBJ( Player(11), PLAYER_STATE_RESOURCE_FOOD_CAP, 76 )
call SetPlayerStateBJ( Player(11), PLAYER_STATE_RESOURCE_GOLD, 425 )
call SetPlayerStateBJ( Player(11), PLAYER_STATE_RESOURCE_LUMBER, 1000 )
call CreateUnit( Player(11), 'e004', GetUnitX(udg_GayTevern), GetUnitY(udg_GayTevern),270.00)
endif

if(udg_ItsForDebug) then Проверка карты
return
endif
call TriggerSleepAction( 0.25 )
call TriggerExecute( gg_trg_Function_CheckGameOver )
return
endfunction
function TurnUnitIntoSheep takes unit fp_uUnit returns nothing
local unit uSheeper
call IssueImmediateOrder( fp_uUnit, "stop" )
set uSheeper = CreateUnit( Player(PLAYER_NEUTRAL_PASSIVE), 'n001', GetUnitX(fp_uUnit), GetUnitY(fp_uUnit), 0 )
call SetUnitPathing( uSheeper, false )
call UnitApplyTimedLife( uSheeper, 'BTLF', 5 )
call IssueTargetOrder( uSheeper, "polymorph", fp_uUnit )
endfunction
function DestroyTimedVision takes nothing returns nothing
local timer t = GetExpiredTimer()
call DestroyFogModifier( LoadFogModifierHandle(udg_Hashtable,GetHandleId(t),0))
call FlushChildHashtable(udg_Hashtable, GetHandleId(t))
call DestroyTimer(t)
set t = null
endfunction
function TimedVision takes player fp_pl, location fp_locCenter, real fp_rRadius, real fp_rLast returns nothing
local fogmodifier fm
local timer t = CreateTimer()
set fm = CreateFogModifierRadiusLocBJ( true, fp_pl, FOG_OF_WAR_VISIBLE, fp_locCenter, fp_rRadius )
call SaveFogModifierHandle( udg_Hashtable,GetHandleId(t),0,fm )
call TimerStart(t, fp_rLast, false, function DestroyTimedVision )
set fm = null
set t = null
endfunction
function IsThereEnemyInRangeFilter takes nothing returns boolean
return IsUnitAliveBJ(GetFilterUnit()) and not IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING) and IsPlayerEnemy( GetOwningPlayer(GetFilterUnit()), bj_groupEnumOwningPlayer )
endfunction
function IsThereEnemyBombTargetInRange takes player fp_pl, location fp_locCenter, real fp_rRadius returns boolean
local group grp = CreateGroup()
local boolean bResult
call GroupEnumUnitsInRange( grp, GetLocationX(fp_locCenter), GetLocationY(fp_locCenter), fp_rRadius, Filter(function IsThereEnemyInRangeFilter))
call DestroyBoolExpr( Filter(function IsThereEnemyInRangeFilter) )

set bResult = FirstOfGroup(grp) != null
call DestroyGroup( grp )
return bResult
endfunction
===========================================================================
function InitTrig_Player_Related_Functions takes nothing returns nothing
endfunction
function Trig_mult_Actions takes nothing returns nothing
local integer nPlayerIndex = 0
local integer nRowIndex = 0
local integer nColIndex = 0
local multiboarditem mbitem = null
set udg_Multiboard = CreateMultiboard()
call MultiboardSetRowCount( udg_Multiboard, GetRowsCount())
call MultiboardSetColumnCount( udg_Multiboard, 3)
call MultiboardSetTitleText(udg_Multiboard,udg_STR_MapVersion)
set mbitem = MultiboardGetItem(udg_Multiboard,0,0)
call MultiboardSetItemValue(mbitem,"|cffEE9A00Имя игрока:|r")
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 10/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard,0,1)
call MultiboardSetItemValue(mbitem,"|cff00f5ffСостояние|r")
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 7/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard,0,2)
call MultiboardSetItemValue(mbitem,"|cFF37FB04K/D|r")
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 3/100. )
call MultiboardReleaseItem(mbitem)
loop
exitwhen nPlayerIndex >= 12
if (udg_This_Player_Is_Playing[nPlayerIndex]) then
set nRowIndex = GetPlayerRow(Player(nPlayerIndex))
set mbitem = MultiboardGetItem( udg_Multiboard, nRowIndex, 0)
if(nRowIndex == 0) then
return
endif
call MultiboardSetItemIcon(mbitem,"ReplaceableTextures\\CommandButtons\\BTNSelectHeroOn.blp")
call MultiboardSetItemValue(mbitem, GetColoredPlayerName(nPlayerIndex))
call MultiboardSetItemStyle(mbitem, true, true )
call MultiboardSetItemWidth(mbitem, 10/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard, nRowIndex, 1)
call MultiboardSetItemValue(mbitem, GetPlayersState(nPlayerIndex) )
call MultiboardSetItemStyle(mbitem, true,false)
call MultiboardSetItemWidth(mbitem, 7/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard, nRowIndex, 2)
call MultiboardSetItemValue(mbitem, " 0/0" )
call MultiboardSetItemStyle(mbitem, true,false)
call MultiboardSetItemWidth(mbitem, 3/100. )
call MultiboardReleaseItem(mbitem)
set nRowIndex = 0
endif
set nPlayerIndex = nPlayerIndex + 1
endloop
set nRowIndex = (GetPlayerTotalNum() + 1)
set udg_NatNumInfo = nRowIndex
set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,0)
call MultiboardSetItemValue(mbitem,"|cffff0000Натуралов:|r")
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 10/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,1)
call MultiboardSetItemValue(mbitem,GetColoredString(GetRandomInt(0,11),I2S(udg_Num_Of_Nat)))
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 4/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,2)
call MultiboardSetItemValue(mbitem,null)
call MultiboardSetItemStyle(mbitem, false, false )
call MultiboardSetItemWidth(mbitem, 5/100. )
call MultiboardReleaseItem(mbitem)

set nRowIndex = nRowIndex + 1
set udg_GayNumInfo = nRowIndex

set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,0)
call MultiboardSetItemValue(mbitem,"|cff0000ffГеев:|r")
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 10/100. )
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,1)
call MultiboardSetItemValue(mbitem,GetColoredString(GetRandomInt(0,11),I2S(udg_Num_Of_Gay)))
call MultiboardSetItemStyle(mbitem, true, false )
call MultiboardSetItemWidth(mbitem, 4/100. )
call MultiboardReleaseItem(mbitem)

set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,2)
call MultiboardSetItemValue(mbitem,null)
call MultiboardSetItemStyle(mbitem, false, false )
call MultiboardSetItemWidth(mbitem, 5/100. )
call MultiboardReleaseItem(mbitem)
set nRowIndex = nRowIndex + 1
set udg_TimerRow = nRowIndex
set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,0)
call MultiboardSetItemIcon(mbitem,"ReplaceableTextures\\CommandButtons\\BTNclock.blp")
call MultiboardSetItemValue(mbitem,"|cffc3dbffВремя: 00:00|r")
call MultiboardSetItemStyle(mbitem, true, true )
call MultiboardSetItemWidth(mbitem, 10/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,1)
call MultiboardSetItemValue(mbitem,null)
call MultiboardSetItemStyle(mbitem, false, false )
call MultiboardSetItemWidth(mbitem, 5/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = MultiboardGetItem(udg_Multiboard,nRowIndex,2)
call MultiboardSetItemValue(mbitem,null)
call MultiboardSetItemStyle(mbitem, false, false )
call MultiboardSetItemWidth(mbitem, 5/100. )
call MultiboardReleaseItem(mbitem)
set mbitem = null
call MultiboardDisplay(udg_Multiboard,true)
call MultiboardMinimize(udg_Multiboard,true)
call MultiboardMinimize(udg_Multiboard,false)
endfunction
===========================================================================
function InitTrig_mult takes nothing returns nothing
set gg_trg_mult = CreateTrigger( )
call TriggerAddAction( gg_trg_mult, function Trig_mult_Actions )
endfunction
))
это еще не все...
Старый 11.09.2012, 17:32
DaeDR

offline
Опыт: 8,074
Активность:
quq_CCCP, Эх, смотри:
Допустим, ты создаешь MB в котором будет только имя игрока и кол-во его золота.
После создания MB ты выносишь функцию изменения золота. Например:
function MB_gold takes player PLAYER, integer GOLD returns nothing
    local multiboarditem mbitem = MultiboardGetItem(udg_Multiboard, GetPlayerId(PLAYER), 1)
    call MultiboardSetItemValue(mbitem, GOLD) // Тут ошибся немного. исправил
    call MultiboardReleaseItem(mbitem)
    set mbitem = null
endfunction
И теперь ты, при каждом изменении золота просто вызываешь эту функцию:
call MB_gold(GetTriggerPlayer(), GetPlayerState(...))
И все, тебе не надо искать, в какой "ячейке" находится игрок и т.п. Т.к. на месте MultiboardGetItem(udg_Multiboard, GetPlayerId(PLAYER), 1) могут быть динамично изменяемые значения, которые как-либо зависят от чего-то еще.
DaeDR добавил:
И чтобы их не искать при каждом изменении значений это делает вызываемая функция, которая не занимает несколько строчек, из-за которых теряется читабельность кода
DaeDR добавил:
Еще раз пересмотрев, что обычно необходимо для составления MB, решил предложить вот такую заявку:

  1. JNGP использование c/vJass для облегчения как написания, так и переноса MB в вашу карту.
  2. Жанр карты Это уже формирует общее представление о MB
  3. Динамические игроки кол-во слотов, которые могут как использоваться, так и не сипользоваться
  4. Подробное описание вашего мультиборда При каком-то недопонимании вся работа может быть выполнена насмарку
  5. Динамические данные Указываете те данные, которые в MB будут меняться, чтобы исполнитель смог вынести необходимые функции для отдаленного редактирования MB

Сразу говорю, что я заказы выполнять не буду, ибо своих забот по горло, но поддержать тему можно =)
Старый 11.09.2012, 18:18
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
BloodyGuol, спс канечно что постарался но придется менять многое.
Старый 11.09.2012, 20:04
BloodyGuol

offline
Опыт: 343
Активность:
DaeDR
Это всё конечно хорошо, и я могу делать мультибоарды на c/vJass, но:
  • Заказ будет выполняться 5-8 дней т.к. я слупок и пишу текст медленно.
  • И у меня мало времени т.к. у меня учёба.
Но всё же я сделаю несколько вещей: Динамические игроки, Подробное описание вашего мультиборда.
asesmo
Не умею отслеживать время каста. А сам кастбар могу.
Cosonic5
Заново напиши заявку.
Старый 12.09.2012, 06:49
DaeDR

offline
Опыт: 8,074
Активность:
BloodyGuol, Если человек заказывает MB, то будет ждать хоть неделю MB никогда не требуется прямо сейчас
А если он будет сделан качественно, то это будет большой плюс.
Но всё же я сделаю несколько вещей: Динамические игроки, Подробное описание вашего мультиборда.
Если это сделано на ГУИ, то грош цена даже попыткам!
И у меня мало времени т.к. у меня учёба.
Больше 90% постоянных обитателей XGM'a учатся.
Старый 12.09.2012, 07:01
beril
Доктор ЗЛО!!!
offline
Опыт: 3,204
Активность:
  1. Тип: мультибоард.
  2. Жанр вашей карты: РПГ
  1. Подробное описание вашего мультиборда
1-Сытость, духовную силу, сытость пета (что то типо симуляции жизни)
2-уровень героя
3-красноречие
4-количество убитых крипов
  1. Дополнительные требования: Например: Если как то можно сделать необычный дизайн, внешний вид
Старый 16.09.2012, 15:39
asesmo
Я I Jag Ich Jeg Ja Minä!
offline
Опыт: 8,073
Активность:
BloodyGuol:
Не умею отслеживать время каста. А сам кастбар могу.
ну кастбар на тексттаге хотябы, я сам переделаю если что
Старый 16.09.2012, 16:11
Закрытая тема

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

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

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

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



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