Conectar-se
Quem está conectado
21 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 21 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 28

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

[Resolvido] [Online] Organizar uma lista com K/D?

em Qui 19 Jul 2012, 18:34
Olá pessoal, hoje venho com uma duvida que não consigo resolver de jeito nenhum!
Bom vamos lá, basicamente tenho que montar uma tabela dos melhores colocados em um jogo online, o formato seria:

NOME DO JOGADOR - KILLS - DEATHS

Isso deve ser calculado no client-side, já que os scores dos players estão sincronizados com a do servidor.
Agora vamos falar dos jogadores, para cada jogador existe um objeto, nesse existem as seguintes variáveis locais:

server_id -> ID do jogador no servidor
nome -> Nome do jogador
kills -> Quantas pessoas ele matou
deaths -> Quantas vezes ele morreu
team -> Time (1: Azul | 2: Vermelho)

A variável server_id é dada pelo servidor ou seja, caso um jogador com o ID 2 saia da partida e entre denovo seu ID será 3 e assim por diante...!

E ai está o meu problema, como organizar isso tudo em uma só lista? Lembrando que o primeiro colocado é sempre o que tem mais kills!



Última edição por gabrielsch em Qui 19 Jul 2012, 21:41, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: [Resolvido] [Online] Organizar uma lista com K/D?

em Qui 19 Jul 2012, 19:38
Enviar estes dados você já sabe né? Você quer saber como organizar?
Você poderia usar ds_grid, mas é complicado para organizar por numero de kills. Eu vi em algum lugar (na verdade foi eu quem fiz a pergunta) de como "mover" linhas da grid, procure nos meus posts.
avatar
Ranking : Nota B
Notas recebidas : D+A+B
Data de inscrição : 16/01/2012
Número de Mensagens : 787
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://need90games.blogspot.com.br

Re: [Resolvido] [Online] Organizar uma lista com K/D?

em Qui 19 Jul 2012, 19:45
Tem uma engine no fórum que organiza por valores, é só usar o valor de kills, era do cogumelo do rock (eu acho). Se eu achar eu posto aq.

Off
Ficaria melhor vc pegar o kills menos as mortes e criar uma variável pra armazenar o resultado, a partir disso fazer o ranking.
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 12

Prêmios
   : 1
   :
   :
Ver perfil do usuário

Re: [Resolvido] [Online] Organizar uma lista com K/D?

em Qui 19 Jul 2012, 20:35
rapaz, para fazer isso você deverá criar várias arrays, eu fiz uma engine usando arquivo ini.

aqui o tópico:
http://gmbr.forumeiros.com/t9246-ini-list-score-tempo-inliscore?highlight=inliscore

para editar ela para o que você realmente quer é muito simples, tente ai e qualquer dúvida só perguntar.

execute a engine e grave alguns scores e depois abra o rank.ini e veja como eu organizei.
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 28

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

Re: [Resolvido] [Online] Organizar uma lista com K/D?

em Qui 19 Jul 2012, 21:40
 
Obrigado pela colaboração de todos que postaram, eu ja resolvi o problema! Achei um script que ordenava a DS GRID, mesmo assim agradeço muito, se não fosse vocês provavelmente não teria revisto a hipótese de usar GRID!

Para quem quiser o script, aqui esta:
Spoiler:
Código:

//
//Criado por: Proud Brony
//
//Argument0 - ID da GRID
//Argument1 - Coluna a ser ordenada
//Argument2 - 0: Crescente | 1: Decrescente

var g,c,w,h,m,r,t,l,i;
g = argument0;
c = argument1;
w = ds_grid_width(g);
h = ds_grid_height(g);

//temp data structures
t = ds_grid_create(w,h);
l = ds_priority_create();

//sort
for(i = 0;i < h;i += 1)
ds_priority_add(l,i,ds_grid_get(g,c,i));

//populate grid
for(i = 0;i < h;i += 1) {
    if argument2
    r = ds_priority_delete_min(l);
    else
    r = ds_priority_delete_max(l);
    ds_grid_set_grid_region(t,g,0,r,w,r,0,i);
}

//copy over structure
ds_grid_copy(g,t);

//delete temp structures
ds_grid_destroy(t);
ds_priority_destroy(l);

Obrigado ao luiz_eldorado, Need 90 e ao itallo!


Flw! sorrindo2
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum