Ir para conteúdo

(Resolvido)[logica de programacao] como balancear times?

Featured Replies

Postado

Oi, to fazendo um ot de war. mas ai pra balancear dois times, usei:

 

if time1 >= time 2
colocar o player no time 2

if time2>= time1
colocar o player no time 1




mas e com 3 ou 4 times?


como faço para balancear?

Resolvido por xWhiteWolf

Ir para solução
  • Respostas 9
  • Visualizações 715
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Ve se entende faz assim ó: function BalancearTime(){ Pega a  QtdTime, QtdPlayers, QtdPorTime QtdPorTime = QtdPlayer/QtdTime; } Sendo assim QtdPorTime ja vai ter a qtd de players que balanceada por

  • local times = { [1] = globalStorage do time1, [2] = globalStorage do time2, [3] = globalStorage do time3,  ​[4] = globalStorage do time4 } local minor = getGlobalStorageValue(times[1]) -- seta um va

  • ja tem um script aki no Tibiaking de Balanceamento de 4 Times > http://www.tibiaking.com/forum/topic/28325-fctf-flexible-capture-the-flag/

Postado

Ve se entende faz assim ó:

function BalancearTime(){
Pega a  QtdTime, QtdPlayers, QtdPorTime

QtdPorTime = QtdPlayer/QtdTime;
}

Sendo assim QtdPorTime ja vai ter a qtd de players que balanceada por time então se tiver 30 pessoas e você deixou 6 times vai ter 5 nego pra cada time automaticamente, ai você aplica sua lógica

if time1Qtd <> time 2Qtd{
Chama a função que Balanceia os times desdo começo no final da rodada se essa condição for verdadeira;
}

if time1Qtd <> time3Qtd{

Chama a função que Balanceia os times desdo começo no final da rodada se essa condição for verdadeira;
}

if time1Qtd <> time4Qtd{

Chama a função que Balanceia os times desdo começo no final da rodada se essa condição for verdadeira;
}
if time1Qtd <> time5Qtd{

Chama a função que Balanceia os times desdo começo no final da rodada se essa condição for verdadeira;
}
if time1Qtd <> time6Qtd{

Chama a função que Balanceia os times desdo começo no final da rodada se essa condição for verdadeira;
}
 

Veja se voce entendeu +/- o que eu quiz dizer e se sabe como transformar esse código pro seu script se precisar de ajuda posta seu script aqui

 

espero ter ajudado 1 pouco

Editado por haith (veja o histórico de edições)

Postado
  • Solução
local times = {
[1] = globalStorage do time1, 
[2] = globalStorage do time2,
[3] = globalStorage do time3, 
​[4] = globalStorage do time4
}

local minor = getGlobalStorageValue(times[1]) -- seta um valor inicial

for _, v in pairs (times) do
if getGlobalStorageValue(v) <= minor then
minor = getGlobalStorageValue(v)
index = v
end
end

colocar o player no time cujo globalStorage seja (v) e setar o global storage do v e o valor de minor como sendo o atual + 1


essa é a melhor lógica que você pode usar pra qualquer quantidade de times. É ainda melhor até que ternário.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo