[Tutorial] Sistema de Patentes.
#1

Ai gente meu primeiro projeto, sei que й meio 'Newbie' mais vou desenvolvendo aos poucos, uns amigos pediram para postar entгo ai vai, irei postar com os pequenos detalhes!


Primeiramente devemos adicionar isto em seu GM lб no topo, pode ser perto da pAdmin.

Code:
new pPatente[MAX_PLAYERS];
Logo depois colocamos isso, pode ser perto do admin[MAX_PLAYERS] tambйm..

Code:
new Patente[MAX_PLAYERS]= 0;
Agora coloque isso na OnPlayerConnect

Code:
pPatente[playerid] = 0;
depois coloque essa variavel, poderб ser colocada prуximo ao ' Admin ' tambйm, caso tenha, para ficar mais facil ver o local...

Code:
if(pPatente[playerid] == 0){
Patente[playerid] = 0;
dini_IntSet(file, "Patente", 0);
}

if(pPatente[playerid] == 1 ){
Patente[playerid] = 1;
}
Agora o comando, pode colocar em qualquer local, recomendo colocar aonde fica os comandos de Admins.

Code:
if(strcmp(cmd,"/setpat", true)==0){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(IsPlayerAdmin(playerid)){
new tmp[256];
new plid, skin;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "(ERRO) Digite: /setpat [id] [Level]");
return 1;
}
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "(ERRO) Digite: /setpat [id] [Level]");
return 1;
}
skin = strval(tmp);
if(skin>=11){
SendClientMessage(playerid, Vermelho, "(ERRO) O level Permitido para Patente й 0 a 10!");
return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
if(IsPlayerConnected(plid)){
if(skin>=1){
pPatente[plid] = skin;
SpawnPlayer(plid);
format(string, sizeof(string), "{00FF00}(INFO) O Admin Rcon %s (%d) (») Promoveu o sortudo: %s (%d) para Patente (») Level: %d", aname,playerid,pname,plid,skin);
SendClientMessageToAll(tcadm, string);
}
if(skin == 0){
pPatente[plid] = 0;
SpawnPlayer(plid);
format(string, sizeof(string), "{00FF00}(INFO) O Admin Rcon %s (%d) (») Retirou a patente do jogador: %s (ID: %d)", aname,playerid,pname,plid);
SendClientMessageToAll(tcadm, string);
}
return 1;
}else{
SendClientMessage(playerid, Vermelho, "(ERRO) Jogador nгo conectado.");
return 1;
}
}
}
Lembrando que vocк pode alterar o nъmero de patente mбxima, basta arrumar o skin if(skin>=11){ para o desejado.

[I]Agora adicionaremos o comando de ver os membros patentes *se adicionar mais patentes vocк deverб colocar +1 if(pPatente == 11){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 11]", pname,i);
} por exemplo .

Code:
if(!strcmp(cmdtext, "/patentes", true))
{
SendClientMessage(playerid,0x99FFFFAA, ".:: - Players com Patentes Online - ::.");
new count=0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)){
if(Patente[i]){
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(pPatente[i] == 1){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 1]", pname,i);
}
if(pPatente[i] == 2){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 2]", pname,i);
}
if(pPatente[i] == 3){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 3]", pname,i);
}
if(pPatente[i] == 4){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 4]", pname,i);
}
if(pPatente[i] == 5){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 5]", pname,i);
}
if(pPatente[i] == 6){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 6]", pname,i);
}
if(pPatente[i] == 7){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 7]", pname,i);
}
if(pPatente[i] == 8){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 8]", pname,i);
}
if(pPatente[i] == 9){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 9 Sub_Lнder]", pname,i);
}
if(pPatente[i] == 10){
format(str,sizeof(str),"%s (%d) :: {3225EB}[Patente 10 Lнder]", pname,i);
}
SendClientMessage(playerid, 0x99FFFFAA, str);
count++;
}
}
}
if(count == 0)
{
SendClientMessage(playerid, Vermelho, "(ERRO) Nгo hб Ninguйm com patente online no momento");
}
return 1;
}
Adicione isto apуs o local de 'login' dos players, ou procure um 'admin' e coloque lб.
Code:
Patente[playerid]=0;
Agora crie uma mn (crie aonde tem as outras 'mn')

Code:
new mnPatente;

mnPatente = dini_Int(file, "Patente"); // coloque isso perto das outras 'mn' porйm abaixo aonde determina a dini_int(file,

dini_IntSet(file2, "Patente", mnPatente); // essa fica aonde salva dados na nova conta!
Bem й isso, espero que tenham gostado, qualquer poblema sу falar, quem nгo gostou ou achou isso newbie, pode postar aqui tб de boa, sу estou tentando ajudar quem precisa de um empurrгozinho eu ainda sou mais ou menos em Scripter mais da para compartilhar com os demais .

para adicionar salario basta criar uma define com o salario e o preзo, e lб em baixo criar,

Code:
if(dini_Int(file, "Patente") == 9){
dini_IntSet(file, "SaldoBancario", dini_Int(file, "SaldoBancario")+Salario_patente9);
format(string, sizeof(string), "[INFO] Vocк recebeu seu sбlario de patente: %d R$",Salario_patente9);
SendClientMessage(i, 0xCAFF95AA, string);
}
como exemplo,
Atenciosamente,

[NRG]VICTOR / [BWL]Chamaleon
Reply
#2

"Sistema de patentes" mбs conhecido como "Sistema de nнveis".
Reply
#3

Patente pra mim = PB

aconselho a tabular seu code: http://tabulador.medianewsonline.com/

Isso tambйm pode ser melhorado: dini
Reply
#4

da pro gasto

5/10

Devia indetar
Colocar em zcmd ou outro
DOF2 ou outro
Reply
#5

Ok, coloco todos eles depois
Reply
#6

Vitor um tutorial se deve explicar as funзхes e o portque de usa-las vc simplesmente colocou o codigo ai
acho que seria melhor se vc fizesse um fs com esse sistema. mбs seu primeiro projeto ficou Otimo
Reply
#7

Achei muito mal explicado, visto que vc da o code pronto e vai falando: poem isso aqui, isto daqui ali e aquilo й pra por lб.
Reply
#8

Ficou meio bagunзado nгo acha
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)