checar menor variável

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

checar menor variável

Mensagem por Tanker GT em Sex 07 Fev 2014, 12:41

No jogo que estou fazendo os NPCs devem se mover apenas quando chegar o seu turno, além disso eu queria eles se movessem um de cada vez, exemplo: tem 2 obj_x, o primeiro obj_x deve se mover e só depois de terminar seu movimento o outro obj_x começa o seu.

Eu usei uma variável sele=id, assim a de todos será diferente só que eu preciso de um código que cheque quem tem o menor valor em sele, ele se moverá primeiro, depois o que tem o segundo menor valor e assim por diante.

obs: Os NPCs serão criados também durante o jogo.

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por saim em Sex 07 Fev 2014, 13:37

Jogue os valores numa lista, ordene e voilà. O primeiro será o menor.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por Tanker GT em Sex 07 Fev 2014, 14:45

Você poderia me passar um exemplo de como faz uma lista? E como checar quem é o primeiro?

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por saim em Sex 07 Fev 2014, 15:00

Dê uma lida aqui, tem um bocado de funções de lista. Não está completo, mas já é um bom começo.
O manual aborda o assunto de forma simples, também.

Pra cortar o suspense, a função que ordena a lista é ds_list_sort. Assim que você ler a descrição dela (no manual, porque no tutorial não tem), vai saber o que fazer.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por Tanker GT em Sex 07 Fev 2014, 15:54

Eu estou usando GM lite e essa função é bloqueada  .
Mas valew pela ajuda, acho que só vou desacelerar os NPCs para quando eles se moverem todos juntos não ficar muito estranho.

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por saim em Sex 07 Fev 2014, 16:14

você pode fazer um loop with, também.
Código:
var min;
min := 99999999999; // um valor muito alto, pra garantir que alguma coisa será menor
with (objetos){ // e aqui começa seu loop
if (variável < min){ // se a variável do objeto for menor que o valor de "min"
min := variavel; // diminui o valor de min
} // se não for, não faz nada
}
Usando um código assim, "min" vai armazenar o menor valor entre as variáveis. Se for um script, você ainda pode retornar esse valor (return(min)), o que facilita sua vida, na hora de usar o script.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por Tanker GT em Sex 07 Fev 2014, 23:53

@Edit:

Eu estava pensando no seu código e acabei descobrindo outro jeito de fazer:

Eu criei uma variável global.lista=21.

no create do NPC:
Spoiler:

global.lista-=1
sele=global.lista
volta_sele=global.lista

step:
Spoiler:
if sele=global.lista
{códigos de movimento
sele=21
global.lista+=1}

E sempre que o turno acaba global.lista volta a ser 21 e global.lista -= instance_number(npc) e sele=volta_sele

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por saim em Dom 09 Fev 2014, 22:49

Bom... Eu não entendi muito bem o que você queria, então não entendi muito bem o que você fez nem a relação com o meu código... Mas se funcionou, é o que importa! Smile

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: checar menor variável

Mensagem por Conteúdo patrocinado Hoje à(s) 14:21


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum