[Tutorial] Arrays Players (Tutorial Explicativo de como usa-las)
#1

[TUT] Arrays Players

Introduзгo:
Bom vou explicar um pouquinho sobre as arrays quando aplicadas em players,sгo as estruturas de dados mais simples e pricipais de uma programaзгo.
A array tem uam parte importante na qual se usa se chama 'index' ou portuguesamente falando 'indice' que funcionam como inteiraзхes das arrays.


Iniciando o Tutorial:
Em geral as arrays sгo definidas das seguintes forma:

Simples:
Код:
new NomeArray;
Com Indice:
Код:
new NomeArray[5];
Esses serгo os dois tipos de arrays que explicarei hoje.

Para que Usar?
As arrays sгo usadas normalmente para definir valores,no caso de arrays com indice podemos definir valores a players no qual o seu 'id' й o indice da mesma,ou setar valores gerais para o servidor.


Array com Index:

Код:
new PlayerWins[500];
if(PlayerWins[playerid] == 10) printf("O Player %d й Wins",playerid);
Explicando:
Bom alн no caso criei uma array com 'index' de 500.
Ao criar uma index ela faz:

0,1,2,3,4,5,6,7,8,9,10...

Cada um desses nъmeros sгo os playerids (atй 500) , essas index por ser parte da array elas podem definir um valor independente de qual valor da array inteira

Код:
PlayerWins[indexid] = valor;
No Caso acima devemos colocar o 'valor' e 'indexid',normalmente quando se trata de players colocamos '[playerid] = valor', assim fazendo com que 'index' seja igual ao id do player


Array Simples:
Bom agora vamos explicar a funзгo da array simples,praticamente e teoricamente tem a mesma funзгo que a array anterior,porйm neste caso й sem intereзхes,sendo apenas 1 parte e nгo 500 partes.

Код:
new PlayerWins;
if(PlayerWins == 10) printf("O Player %d й Wins",playerid);
Observem que agora nгo usei [ e ] pelo simples fato de nгo ter 'index' portanto nгo necessitarб disto.
Neste caso de Arrays simples й impossнvel que crie ela apenas para um player,pois ela й simples e й composta por apenas 1 parte.
Basicamente й isto.


O que podemos Fazer com Arrays?
Com arrays como dito anteriormente pode se definir valores,assim definindo muitas coisas que deseja,como exemplo:

Код:
new Digitou[500];
if(!strcmp(cmdtext, "/drakins", true))
{	
	if(Digitou[playerid] == 10)
		return SendClientMessage(playerid, 0xFFFFFFFF, "Vocк jб digitou '/drakins'");

	if(Digitou[playerid] != 10)
	{
		SendClientMessage(playerid, 0xFFFFFFFF, "Vocк nгo digitou '/drakins'");
		Digitou[playerid] = 10;
	}
	return true;
}
Observem que com simples array defini se o player digitou 'drakins' ou 'nгo digitou' apenas usando valores simples

Sendo:
Код:
Caso valor for igual a 10 ele digitou
Caso nгo for igual a 10 ele nгo digitou
PVars

Bom muita gente discute este assunto vou simplificar de uma vez por todas.

PVars nada mais nada menos sгo arrays para players.

Player Variбvel

Porque?
Bom isto й simples
a Equipe da SA:MP com intuito de melhorar a otimizaзгo resolveu criar este sistema que cria arrays 'particulares' para apenas um player,seria o mesmo que

new Players[500];

Porйm sem o 500 assim fazendo apenas 1 parte sendo muito mais otimizado

Usando:
Para usar existem 2 Funзхes mais Importantes que Explicarei Hoje:

Код:
GetPVarInt
SetPVarInt
Usando o Exemplo dito na primeira parte do tuto:

Код:
if(GetPVarInt(playerid,"NomeArray") == 10) printf("O Player %d й Wins",playerid);
Viram? Alйm de Otimizar ele encurtou as linhas poir nгo й nessesario criar a array

Setando:

Код:
SetPVarInt(playerid,"NomeArray",10);
Seria o mesmo que:

Код:
new NomeArray[500];
NomeArray[playerid] = 10;
Porйm sem as '500 partes' e sem precisar de 2 linhas

Nota:
• Variavel = Array
• Variavel deve-se ao nome pois variбvel vem 'variar' que significa 'mudar',isto й as arrays sгo variaveis pois mudam definindo valores
• Caso a PVar nгo existe ele retorna '0'
• Existe outros tipos de Arrays como Floats,String e Tйcnicas Booleanas que hoje nгo vem ao caso

PS1: Desculpa falar algumas palavras erradas no contexto,tentei deixar de forma mais acessнvel possнvel

Criado por DraKiNs | Tutorial FeKSquad
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)