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

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

Ответ
 
X_Smiles

offline
Опыт: 654
Активность:
JokArt Тот тоже норм, но этот на vJass и понятен даже мне, а тот почемуто не показывает убийства и киллы при копировании в мою мапу, Всегда по 0 у всех а вот с иконками у тебя удобней...
Старый 11.12.2008, 20:55
LinL

offline
Опыт: 15
Активность:
так это ... что же всё таки такое customscriptcode? можт я особо тупой конечн, но я ео чтото не вижу(
Старый 28.12.2008, 14:04
J
expert
offline
Опыт: 48,747
Активность:
2LinL - FAQ - 2.21
Старый 28.12.2008, 14:13
LinL

offline
Опыт: 15
Активность:
опа, спасибо большое ^^
Старый 28.12.2008, 14:21
Krol

offline
Опыт: 16,909
Активность:
слушайте. не подскажете как мне сделать чтобы в мультиборде перед первыми 6 игроками отображалась надпись команда 1 а перед второй шестеркой - команда 2?
Старый 31.01.2009, 00:31
Hellfim
Новичок
offline
Опыт: 79,880
Активность:
Assassin, создаешь челочисленную, допустим i. Даешь i значение сколько тебе надо строк сверху(ну например как в доте 1 строка описание столбцов). И прибавляешь 1 чтоб оставить место для название команды 1. Далее циклом перебираешь, когда больше шести, то добавляешь 1 к i. Думаю так будет понятнее
Код:
set integer i=1(т.к. нумерация с 0 если не ошибаюсь... если с 1, то 2).

for i to 12//цикл на 12 игроков.
if i>6 then
set i=i+1
//заносишь игрока в мультиборд
else
//заносишь игрока в мультиборд
endif
Старый 31.01.2009, 00:50
Krol

offline
Опыт: 16,909
Активность:
вместо "заносишь игрока в мультиборд" что ставить? и вобще куда вставлять все что ты написал?

Assassin добавил:
Hellfim, а они реально тут будут поделены на команды? как мне узнать у какого героя в команде больше всех фрагов?
Старый 31.01.2009, 01:07
Hellfim
Новичок
offline
Опыт: 79,880
Активность:
Assassin, ну очевидно сравнивая со всеми остальными =) Не забудь только создать массив целочисленных отвечающих за фраги/смерти и добавляй при убийстве/смерти героя.
Старый 31.01.2009, 01:12
Krol

offline
Опыт: 16,909
Активность:
так куда вставлять твой код и писать Команда 1 и Команда 2????
Старый 31.01.2009, 01:22
Hellfim
Новичок
offline
Опыт: 79,880
Активность:
Assassin, ну в инициализацию крол. Ты когда мультиборд создаешь? Вот прямо после создания.
Старый 31.01.2009, 01:48
Krol

offline
Опыт: 16,909
Активность:
когда я его создаю? мб я вот здесь его создаю? //################################################################################ #####################################
//
// <<< MyMB v 1.02 >>>
//
//################################################################################ #####################################

// ### START ###

constant function H2I takes handle h returns integer
return h
return 0
endfunction

constant function I2U takes integer i returns unit
return i
return null
endfunction

constant function I2P takes integer i returns player
return i
return null
endfunction

constant function I2MB takes integer i returns multiboard
return i
return null
endfunction

//################################################################################ #####################################

function MB_cache takes nothing returns gamecache
return InitGameCache("multiboard.w3v")
endfunction

//################################################################################ #####################################

function setcfg takes string key, string val returns nothing
call StoreString(MB_cache(), "config", key, val)
endfunction

function cfg takes string key returns string
return GetStoredString(MB_cache(), "config", key)
endfunction

function cfgr takes string key returns real
return S2R(cfg(key))
endfunction

function cfgi takes string key returns integer
return S2I(cfg(key))
endfunction

//################################################################################ #####################################

function MBPlayers takes nothing returns boolean
return ( GetPlayerSlotState(GetFilterPlayer()) == PLAYER_SLOT_STATE_PLAYING )
endfunction

function MBHeroFilter takes nothing returns boolean
return IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true
endfunction


function GetPlayerNameColored takes player id returns string
local playercolor col=GetPlayerColor(id)
local string r=GetPlayerName(id)
if col == PLAYER_COLOR_RED then
set r="|cffff0000" +r+"|r"
elseif col == PLAYER_COLOR_BLUE then
set r="|cff0000ff"+r+"|r"
elseif col == PLAYER_COLOR_CYAN then
set r= "|cff00f5ff"+r+"|r"
elseif col == PLAYER_COLOR_PURPLE then
set r="|cff551A8B"+r+"|r"
elseif col == PLAYER_COLOR_YELLOW then
set r="|cffffff00"+r+"|r"
elseif col == PLAYER_COLOR_ORANGE then
set r="|cffEE9A00"+r+"|r"
elseif col == PLAYER_COLOR_GREEN then
set r="|cff00CD00"+r+"|r"
elseif col == PLAYER_COLOR_PINK then
set r= "|cffFF69B4"+r+"|r"
elseif col == PLAYER_COLOR_LIGHT_GRAY then
set r="|cffC0C0C0"+r+"|r"
elseif col == PLAYER_COLOR_LIGHT_BLUE then
set r="|cffB0E2FF"+r+"|r"
elseif col == PLAYER_COLOR_AQUA then
set r="|cff006400"+r+"|r"
elseif col == PLAYER_COLOR_BROWN then
set r="|cff8B4513"+r+"|r"
else
set r="|cff000000"+r+"|r"
endif
set col=null
return r
endfunction

function Techo takes integer playerID, string msg returns nothing
if playerID == -1 then
call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,5.00, cfg("MBTime") +" : " + msg)
else
call DisplayTimedTextToPlayer(Player(playerID),0,0,5.00, cfg("MBTime") +" : " + msg)
endif
endfunction

// ### END ###

а может вот тут? function InitTrig_MultiBoard_Settings takes nothing returns nothing

// Локализация :

call setcfg ("MBtitle", "|cffff205f Мультиборд")

call setcfg ("MBItemText" + I2S(1) + I2S(1), "Игроки :")
call setcfg ("MBItemText" + I2S(2) + I2S(1), "Убийства / Смерти")

// Размеры ячеек :

call setcfg ("MBItemSize" + I2S(1) + I2S(0), "12")
call setcfg ("MBItemSize" + I2S(2) + I2S(0), "8")

endfunction

или тут? function MBCreate takes nothing returns nothing
local integer i = 1
local integer players = CountPlayersInForceBJ(GetPlayersMatching(Condition(function MBPlayers)))
local integer mbi = 1
local multiboard mb
local player p
set mb = CreateMultiboardBJ( 2, 1 + players, cfg("MBtitle") )
call setcfg ("MB", I2S(H2I(mb)))
call MultiboardSetItemValueBJ( mb, 1, mbi, cfg("MBItemText" + I2S(1) + I2S(mbi) ))
call MultiboardSetItemValueBJ( mb, 2, mbi, cfg("MBItemText" + I2S(2) + I2S(mbi) ))
call MultiboardSetItemWidthBJ( mb, 1, 0, cfgi("MBItemSize" + I2S(1) + I2S(0)))
call MultiboardSetItemWidthBJ( mb, 2, 0, cfgi("MBItemSize" + I2S(2) + I2S(0)))
call MultiboardSetItemStyleBJ( mb, 1, 0, true, false )
call MultiboardSetItemStyleBJ( mb, 2, 0, true, false )
loop
exitwhen i > 12
if GetPlayerSlotState(ConvertedPlayer(i)) == PLAYER_SLOT_STATE_PLAYING then
set mbi = mbi + 1
set p = ConvertedPlayer(i)
call MultiboardSetItemValueBJ( mb, 1, mbi, GetPlayerNameColored( p ))
call MultiboardSetItemValueBJ( mb, 2, mbi, I2S(cfgi ("MBPlayerKills" + I2S(GetConvertedPlayerId( p )))) + "|r / " + I2S(cfgi("MBPlayerDeaths" + I2S(GetConvertedPlayerId( p )))))
call MultiboardSetItemStyleBJ( mb, 1, mbi, true, true )
call setcfg ("MBPlayerHeroIcon" + I2S(H2I(p)), cfg ("MBIcon" + "nohero"))
call MultiboardSetItemIconBJ( mb, 1, mbi, cfg ("MBPlayerHeroIcon" + I2S(H2I(p))) )
call setcfg ("MBPlayerPlace" + I2S(H2I(p)), I2S(mbi))
endif
set i = i + 1
endloop
call MultiboardMinimizeBJ( true, mb )
call MultiboardMinimizeBJ( false, mb )
endfunction

function MBUpdate takes nothing returns nothing
local integer i = 1
local integer players = CountPlayersInForceBJ(GetPlayersMatching(Condition(function MBPlayers)))
local integer mbi = 1
local multiboard mb
local player p
set mb = I2MB(cfgi("MB"))
call MultiboardSetItemValueBJ( mb, 1, mbi, cfg("MBItemText" + I2S(1) + I2S(mbi) ))
call MultiboardSetItemValueBJ( mb, 2, mbi, cfg("MBItemText" + I2S(2) + I2S(mbi) ))
call MultiboardSetItemWidthBJ( mb, 1, 0, cfgi("MBItemSize" + I2S(1) + I2S(0)))
call MultiboardSetItemWidthBJ( mb, 2, 0, cfgi("MBItemSize" + I2S(2) + I2S(0)))
call MultiboardSetItemStyleBJ( mb, 1, 0, true, false )
call MultiboardSetItemStyleBJ( mb, 2, 0, true, false )
loop
exitwhen i > 12
if GetPlayerSlotState(ConvertedPlayer(i)) == PLAYER_SLOT_STATE_PLAYING then
set mbi = mbi + 1
set p = ConvertedPlayer(i)
call MultiboardSetItemValueBJ( mb, 1, mbi, GetPlayerNameColored( p ))
call MultiboardSetItemValueBJ( mb, 2, mbi, I2S(cfgi ("MBPlayerKills" + I2S(GetConvertedPlayerId( p )))) + "|r / " + I2S(cfgi("MBPlayerDeaths" + I2S(GetConvertedPlayerId( p )))))
call MultiboardSetItemStyleBJ( mb, 1, mbi, true, true )
call MultiboardSetItemIconBJ( mb, 1, mbi, cfg ("MBPlayerHeroIcon" + I2S(H2I(p))) )
call setcfg ("MBPlayerPlace" + I2S(H2I(p)), I2S(mbi))
endif
set i = i + 1
endloop
endfunction

function MBFindHeroIcon takes unit u returns nothing
local player p = GetOwningPlayer(u)
local integer ut = GetUnitTypeId(u)
call setcfg ("MBPlayerHeroIcon" + I2S(H2I(p)), cfg("MBHeroIcon" + I2S(ut)))
call MBUpdate()
endfunction

function MBPlayerLeave takes nothing returns nothing
call MBUpdate()
endfunction

function MBHeroKill takes nothing returns nothing
local player killer = GetOwningPlayer(GetKillingUnitBJ())
local player victim = GetOwningPlayer(GetTriggerUnit())
local integer killerID = GetConvertedPlayerId(killer)
local integer victimID = GetConvertedPlayerId(victim)
local string time = I2S(GetHeroLevel(GetTriggerUnit()) * S2I(cfg("MBHeroReviveAge")))

call setcfg ("MBPlayerKills" + I2S(killerID), I2S(cfgi("MBPlayerKills" + I2S(killerID)) + 1))
call setcfg ("MBPlayerDeaths" + I2S(victimID), I2S(cfgi("MBPlayerDeaths" + I2S(victimID)) + 1))

//-------------------------------------------
// Функции пользователя :
//-------------------------------------------
//
//-------------------------------------------

call MBUpdate()
endfunction

function MBTimer takes nothing returns nothing
local integer isec = cfgi ("MBiSec")
local integer imin = cfgi ("MBiMin")
local string ssec
local string time
set isec = isec + 1
if isec == 60 then
set imin = imin + 1
set isec = 0
endif
if isec < 10 then
set ssec = "0" + I2S(isec)
else
set ssec = I2S(isec)
endif
set time = "|cffffffff " + I2S(imin) + ":" + ssec + "|r"
call MultiboardSetTitleText( I2MB(cfgi("MB")), cfg("MBtitle") + time )
call setcfg ("MBiSec", I2S(isec))
call setcfg ("MBiMin", I2S(imin))
call setcfg ("MBTime", time)
endfunction

//===========================================================================
function InitTrig_MultiBoard_System takes nothing returns nothing
set gg_trg_MultiBoard_System = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_MultiBoard_System, 1.00 )
call TriggerAddAction( gg_trg_MultiBoard_System, function MBCreate )
set gg_trg_MultiBoard_System = CreateTrigger( )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(0) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(1) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(2) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(3) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(4) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(5) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(6) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(7) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(8) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(9) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(10) )
call TriggerRegisterPlayerEventLeave( gg_trg_MultiBoard_System, Player(11) )
call TriggerAddAction( gg_trg_MultiBoard_System, function MBPlayerLeave )

set gg_trg_MultiBoard_System = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_MultiBoard_System, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_MultiBoard_System, Condition( function MBHeroFilter ) )
call TriggerAddAction( gg_trg_MultiBoard_System, function MBHeroKill )

set gg_trg_MultiBoard_System = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_MultiBoard_System, 1.00 )
call TriggerAddAction( gg_trg_MultiBoard_System, function MBTimer )

endfunction
а может ещё где-то?
Старый 31.01.2009, 01:55
Destroy

offline
Опыт: 941
Активность:
обновите пожалуйста мультибоард до версии 1.24б/с
Старый 14.01.2010, 21:53
SAZONISCHE
Думай думай голова!
offline
Опыт: 1,706
Активность:
Хай я а етой теме первый раз мне мултибоард сделайте, у мну есть GUI я сделал но иконки при покупке героев в таверне не могу
Так-вот мне надо такой плиз с иконками при покупке (игрок покупает боевую единицу создать иконку покупающий игрок и т.д.)
Старый 17.01.2010, 04:20
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
SAZONISCHE, отслеживаешь пик героя и с конструкциями if then else вставляешь иконку в нужное место.
если герой такой-то, владелец такой-то
действие - вставить иконку в такое-то место
Старый 17.01.2010, 04:31
SAZONISCHE
Думай думай голова!
offline
Опыт: 1,706
Активность:
vsparker, Я знаю но я так устал за ети несколько месяцев что уже мозги плывут.:(
4-4 игрока

Отредактировано SAZONISCHE, 18.01.2010 в 15:26.
Старый 18.01.2010, 05:42
Rusvermilion
Ограничен ScorpioT1000
offline
Опыт: 18,369
Активность:
карта не запускается версия 24д
Старый 16.02.2010, 13:33
XOR

offline
Опыт: 38,284
Активность:
Говорил же, заменяешь h2i >> GetHandleId , i2h >> ConvertFogState
Старый 16.02.2010, 14:00
DioD

offline
Опыт: 45,184
Активность:
не шарят они видимо придётся делать самому...
Старый 16.02.2010, 14:06
Rusvermilion
Ограничен ScorpioT1000
offline
Опыт: 18,369
Активность:
да с таким текстом еще что-то искать и менять, там этих h2i и i2h штук 100, полюбому ошибка будет, и все заного, потом еще что-нибудт будет...
Старый 16.02.2010, 14:10
XOR

offline
Опыт: 38,284
Активность:
Зачем вам реплейс из jngp и дифайн из сjass ?
Старый 16.02.2010, 14:13
Ответ

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

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

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

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



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