Postado Maio 27, 2014 11 anos Autor se a função é a onLogin ele vai executar ao logar. Teria que ter um checador que se o player morrer ou deslogar ele seja retirado da table teamX e ao logar a checagem seria refeita, vendo que o timeX estaria com menos players doque o timeY e inserindo o player novamente no timeX. Eu pessoalmente não sei como fazer isso mas se a function é onLogin acho q dá pra fazer uma onDeath ou uma onThink pra ficar constantemente checando se #teamX > #teamY É exatamente disso que eu preciso. Só pra constar esse script fica na pasta data/lib. isso por que ele adiciona um storage, acho que se fizer uma função onlogout para remover o storage quando ele logar novamente já ira fazer a checagem normalmente.. É isso mesmo cara, quando o player morre ele não atualiza o storage dos teams, dai o player reloga com o storage desatualizado, e acaba indo pro time que tá com mais... * Nao vai desbalancear os times quando morrer e simplesmente ao contrario: OS TIMES VAI BALANCEAR QUANDO ALGUM JOGADOR MORRER , se o Autor do Topico quiser o Sistema de [Cheking Team Balance] em Tempo Real: Durante o jogo qualquer um player podera ser Trocado de Time [Automatico] é so me Mandar um PM! Ate + Eu preciso exatamente disso mano, um sistema de checking team balance em tempo real. Se puder me ajudar te agradeço muito. Valeus!
Postado Maio 28, 2014 11 anos NextBR, poste o script em tempo real por favor... ia contribuir muito pro estudo do pessoal e com esse novo conhecimento a gente poderia fazer uns scripts muito mais fodas pra trazer pro fórum. 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 (obg ao @Beeny por fazer essa linda sign <3)
Postado Maio 28, 2014 11 anos vai no seu globalevents e cria um arquivo chamado balance: function onThink(cid,interval, lastExecution) local players = getPlayersOnline() for i, cid in ipairs(players) do if getPlayerGroupId(cid) >= 1 then --and getPlayerVocation(cid) == 1 then if not getTilePzInfo(getPlayerPosition(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"[Team balance Cheking] Voce esta Sendo checado e Talves Pode Trocar de Time e Perder a Bandeira!") setTeam(cid) return TRUE else return FALSE end end end end Editado Maio 28, 2014 11 anos por Nextbr (veja o histórico de edições)
Postado Maio 28, 2014 11 anos NextBR, poste o script em tempo real por favor... ia contribuir muito pro estudo do pessoal e com esse novo conhecimento a gente poderia fazer uns scripts muito mais fodas pra trazer pro fórum. Eu era de Outro Forum que acabou Fexando sei la por que e naquele forum eu tinho 3 servidores de war postado e esse sistema completo de [Team Balance] eu tenhu outro sistema aki de team balance que é por teleport "o Jogador tem a livre escolha de times "porem" cada time tem um Slot de 50 Player's Mesmo se o Jogador desbalancear os Times eu uso o Script que postei logo acima para Fazer a checagem Para ver se os Times estao desbalanceados e etc.... Editado Maio 28, 2014 11 anos por Nextbr (veja o histórico de edições)
Postado Maio 28, 2014 11 anos Autor vai no seu globalevents e cria um arquivo chamado balance: Valeu mano, funcionou perfeitamente do jeito que você falou. Porém estudando melhor aqui a situação, seria mais interessante 1 rebalancer com a mesma função que esse ai, so que em vez de executar em tempo real, executar ele toda vez que 1 player for logar no jogo ou relogar da morte. O que eu tenho aqui era pra fazer isso. Só que ele falha quando o player loga ou morre. Eu tenho quase ctz que isso acontece porque o storage do TEAM do player recém logado ou morto, não é removido imediatamente quando o player loga ou morre. A função de balancear os teams está certinha (como consta abaixo), só falta mesmo algo pra remover o storage Team do player dead ou recem logado... function setTeam(cid) local team1 = getTeamMembers(1) local team2 = getTeamMembers(2) if #team1 >= #team2 then setPlayerStorageValue(cid, 12000, 2) else setPlayerStorageValue(cid, 12000, 1) end mudarRopa(cid) doTeleportThing(cid,getTeamSpawn(cid),false) end Poderia me ajudar a fazer isso? (o script ta no tópico ae em cima) Muito obrigado. Reputei+ Editado Maio 29, 2014 11 anos por yagoskor (veja o histórico de edições)
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.