Destaque - SVR 10 - Montagens
Chat do Game Dicas


Novidades

[TUTO] Break/Continue

Por # Victor Martins em


Tutorial Break / Continue
Continuação do tutorial de Loop!

Tutorial Por Victor_FusioN


Break
Break's são usados em Loop's, podendo parar o processo do mesmo.
loop faz uma conta rápida de um numero a outro, exemplo: de 0 a 500, com o Break você poderá parar essa conta em qualquer numero entre 0 e 500...


Exemplo:


1
2
3
4
5
6
7
8
9
10
new string[20];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(i == GetMaxPlayers())
{
format(string, sizeof(string), "Slots: {1E90FF}%d", i);
SendClientMessageToAll(Branco, string);
break;
}
}
Esse Loop vai fazer a conta de 0 a 500(que é o valor máximo de slots), porem, quando o (i) que é a variável criada no loop chegar ao numero máximo de slots(do servidor) ele irá formatar uma string e mandar uma mensagem para todos com o numero de slots do servidor. Após isso, irá parar o loop usando break.


Já se você mudar a ordem do código, colocando o format e o SendClientMessage fora das chaves do if que compara a variável do loop com o numero máximo de slots, ele terá um resultado diferente.


Exemplo de como ficaria o código:


1
2
3
4
5
6
7
8
9
10
new string[20];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(i == GetMaxPlayers())
{
break;
}
format(string, sizeof(string), "Slots: {1E90FF}%d", i);
SendClientMessageToAll(Branco, string);
}



No exemplo acima, ele não mandaria o resultado obtido e sim todos os resultados durante o progresso da conta, em um servidor de 3 slots por exemplo ele mandaria várias mensagems com a seguinte string:


0
1
2


Essa ordem ainda pode ser alterada, colocando o format e o SendClientMessage acima do if que contem o break, ficando assim:



1
2
3
4
5
6
7
8
9
10
new string[20];
for(new i = 0; i < MAX_PLAYERS; i++)
{
format(string, sizeof(string), "Slots: {1E90FF}%d", i);
SendClientMessageToAll(Branco, string);
if(i == GetMaxPlayers())
{
break;
}
}

O resultado nesse caso seria:


0
1
2
3
4
5


Continue
Da mesma forma que à uma função que pare um loop também à uma que faça ele continuar, e o nome é bem apropriado. continue. O continue pode ser usado para pular um ou mais numeros no loop, exemplo:



1
2
3
4
5
6
7
8
9
10
11
12
new string[20];
for(new i = 0; i < 5; i++)
{
if(i == 3)
{
continue;
}
format(string, sizeof(string), "Slots: {1E90FF}%d", i);
SendClientMessageToAll(Branco, string);
}
return 1;
}


Neste exemplo, estariamos fazendo a conta com o resultado máximo de 5(que supostamente seria o numero de slots) então, o continue faria o loop pular o numero 3, o resultado seria esse:


0
1
2
4


Para pular mais de um numero é simples, você só precisa usar operadores ">, &&, <"



1
2
3
4
5
6
7
8
9
10
11
12
new string[20]
for(new i = 0; i < 10; i++)
{
if(i > 3 && i < 7)
{
continue;
}
format(string, sizeof(string), "Slots: {1E90FF}%d", i);
SendClientMessageToAll(Branco, string);
}
return 1;
}

Neste caso, ele pularia após o numero 3 e antes do numero 7, tendo o resultado:




0
1
2
3
7
8
9


Bom, fiz este tutorial básico por que ao fazer a lista de tutoriais notei que não há nenhum tutorial sobre o assunto, apesar de ser uma coisa simples, por não haver muitos lugares com informações algumas pessoas não sabem que utilidade pode ter Break e Continue, então ai está =)


========FUSÃO SA-MP======
=======VICTOR_FUSION=====
========FUSÃO SA-MP======

0 comentários:

Postar um comentário