24.03.2014, 23:52
COMO CRIAR UM SISTEMA DE VIP?
Olб galera, sou novo neste forum.
Venho aqui ensinar б vocкs a criar um sistema de VIP, com salvamento.
Usaremos variaveis, sii(salvamento), zcmd(processador de comandos). Se vocк nгo possui elas, vai localizar o download no final do tutorial.
Todos cуdigos do tutorial foram testados in-game.
Vamos parar de enrolar, vamos agora ao tutorial.
Definindo includes e extras(para melhor entendimento):
Vamos agora criar as variaveis globais, usadas para o nome do player, variavel da pasta e a variavel que define se o player e vip ou nгo.
Para uma melhor organizaзгo, vamos usar stocks, vamos criar a stock para salvar o player:
Agora para Carregar o Player:
Agora uma stock extra, nгo й muito importante, ela define o player como vip in-game.Porйm й possivel colocar entrando na scriptfiles e mudando Permissao=0 para Permissao=1.
Somos obrigados a usar a public OnPlayerConnect(playerid), e tambйm a public OnPlayerDisonnect(playerid) para ler e salvar.
Exemplos de comando:
Como sou meio que iniciante, estes codes nгo serгo aquela coisa toda, mais serгo util para pessoas que querem aprender.
Downloads:
> SII
> ZCMD
Espero que gostem, recomendo:
if : wiki sa-mp
sii: humildadeforever
zcmd + sscanf: BlueX (Caso queira criar o comando /darvip [id] ou outros)
Qualquer erro, favor me avise, fiz o tutorial meio que correndo tambйm
Olб galera, sou novo neste forum.
Venho aqui ensinar б vocкs a criar um sistema de VIP, com salvamento.
Usaremos variaveis, sii(salvamento), zcmd(processador de comandos). Se vocк nгo possui elas, vai localizar o download no final do tutorial.
Todos cуdigos do tutorial foram testados in-game.
Vamos parar de enrolar, vamos agora ao tutorial.
Definindo includes e extras(para melhor entendimento):
pawn Код:
#include a_samp
#include sii
#include zcmd
#define nao 0
#define sim 1
pawn Код:
new VipPlayer[MAX_PLAYERS]; // ESSA VARIAVEL SE NAO FOR MODIFICADA TEM O VALOR 0 , E INUTIL COLOCAR O VALOR DELA 0 (VipPlayer[MAX_PLAYERS] = 0;)
new pNome[50];
new Pasta[128];
pawn Код:
stock SaveVip(playerid)
{
GetPlayerName(playerid, pNome, sizeof(pNome));
format(Pasta,sizeof(Pasta),"VipPlayers/%s.ini", pNome);// DEFINE A PASTA E O NOME DO PLAYER
INI_Open(Pasta);// EDITA O %S(NOME).ini SE NAO TIVER CRIA, CRIA SOMENTE A PASTA %S(NOME).ini , VOCК TEM QUE CRIAR A PASTA VIPPLAYERS
INI_WriteInt("Permissao", VipPlayer[playerid]);// SALVA A PERMISSAO DO PLAYER, SE NAO TIVER = 0, SE TIVER = 1
INI_Save();
INI_Close();
}
pawn Код:
stock LoadVip(playerid)
{
GetPlayerName(playerid, pNome, sizeof(pNome));
format(Pasta,sizeof(Pasta),"VipPlayers/%s.ini", pNome);//DEFINE A PASTA E O NOME ONDE VAI LER NOMEDOPLAYER.INI
INI_Open(Pasta);
VipPlayer[playerid] = INI_ReadInt("Permissao");// VAI LER O ARQUIVO E VAI DEFINIR SE O PLAYER E VIP OU NAO 0 = NAO, 1 = SIM
INI_Close();
}
pawn Код:
stock PlayerIsVip(playerid)
{
VipPlayer[playerid] = sim;
SaveVip(playerid);
}
pawn Код:
public OnPlayerConnect(playerid)
{
LoadVip(playerid);
return 1;
}
public OnPlayerDisconnect(playerid)
{
SaveVip(playerid);
return 1;
}
pawn Код:
CMD:virarvip(playerid) // FUNCAO QUE TRANSFORMA O PLAYER EM VIP, USANDO A STOCK PLAYERISVIP
{
PlayerIsVip(playerid);
SendClientMessage(playerid,-1,"Vocк й um VIP.");//MSG
return 1;
}
// EXEMPLO DE COMANDO, SE FOR VIP ABRE SE NAO FOR APARECE UMA MSG DE ERRO
CMD:souvip(playerid)
{
if(VipPlayer[playerid] == sim) // COMO SIM = 1, O VipPlayer TEM QUE HAVER O VALOR 1 , CASO NГO VAI APARECER A MSG (else)
{
SendClientMessageToAll(-1,"|****************************************|");
SendClientMessageToAll(-1,"|********| SOU VIP NOOBS |********|");
SendClientMessageToAll(-1,"|****************************************|");
}
else SendClientMessage(playerid,-1,"Vocк nгo й VIP.");
return 1;
}
Downloads:
> SII
> ZCMD
Espero que gostem, recomendo:
if : wiki sa-mp
sii: humildadeforever
zcmd + sscanf: BlueX (Caso queira criar o comando /darvip [id] ou outros)
Qualquer erro, favor me avise, fiz o tutorial meio que correndo tambйm