[TUT] – Utilizando PVars

Bom, vejo que já estão a começar a trocar o uso de variáveis por PVars, mas como venho mostrar neste “tutorial” um modo eficiente para utilizá-las!

Bom, porque não trocar variáveis por PVars? Bom, já foi provado que as PVars demoram mais tempo para serem obtidas do que as variáveis. As PVars tinham o objetivo de serem mais rápidas, mas não deve ter sido um sucesso.

Bom elas “guardam” as informações dentro do sistema local do servidor, o que deve congestionar mais do que variáveis.
Mas depois de tanta “falação”, tenho um bom jeito de utilizá-las, que quase ninguém conhece, pelo que sei.

Tentarei ser direto em uma frase: Ligação de GameMode com FilterScripts.
Você poderá pensar, nossa ele está louco! Como posso obter a informação do GameMode para um Filterscript sem ter que salvar em um arquivo?
Simplesmente usando as PVars! Pois como são armazenadas no sistema local, sem ser apenas dentro do Gamemode/Fs.
Ou seja, você poderá realizar uma conexão entre GameModes e FilterScripts!

Nem me perguntem como fui descobrir isso e só descobri hoje que a Wiki mencionava isso! (shuahsuahushauhsuhaushauhs)
Primeiro, irei mostrar como utilizá-las.

Tipos de PVars:
– Integer (SetPVarInt/GetPVarInt)
– Float (SetPVarFloat/GetPVarFloat)
– String (SetPVarString/GetPVarString)

Deletando-a: DeletePVar.
Descobrindo tipo de PVar (Int,string,float): GetPVarType.
Outras que não descobri para que servem: GetPVarsUpperIndex,GetPVarsUpperIndex.

Criado uma PVar de Integer’s: [Em seu GameMode]

1
SetPVarInt(playerid,"Grana",GetPlayerMoney(playerid));

Criei uma PVar de tipo Integer, que poderei acessa-lá em um Fs.
Obs: Ao player desconectar, todas as PVars dele são deletadas automaticamente!

Em seu FilterScript:

1
printf("Este player possui %d de grana!",GetPVarInt(playerid,"Grana"));

Assim, irei pegar o valor da PVar nomeada ‘Grana’.

Como utilizar o: GetPVarType
Exemplo:

1
2
3
4
5
6
7
8
9
10
11
public OnPlayerConnect(playerid)
{
switch(GetPVarType(playerid,"Grana"))
{
case 0: {print("A PVar 'Grana' nao existe!");}
case 1: {print("A PVar 'Grana' e uma Integerer!");}
case 2: {print("A PVar 'Grana' e uma String!");}
case 3: {print("A PVar 'Grana' e uma Float!");}
}
return
1;
}
By:Juninho_Boy

0 comentários:

Postar um comentário