//adicione isto junto com suas news .
new pLevel[MAX_PLAYERS]; // esta variavel й para o level
new pExp[MAX_PLAYERS]; // esta variavel й para a Experiencia
new pTimeUP[MAX_PLAYERS]; // esta variavel й para o Tempo de receber XP
public OnPlayerConnect(playerid)// Public de quando o player CONECTA ao servidor
{
pTimeUP[playerid] = SetTimerEx("UparXp",300000,true,"i",playerid);// De 5 em 5 minutos o player ira receber 1 XP
new Arquivo[100];// Variavel que iremos usar para abrir nosso arquivo com FINI (nгo falarei sobre o mesmo pois jб existe um tуpico sobre ele)
new pNome[MAX_PLAYER_NAME];// variavel que pegara o nome do jogador para abrir com Fini
GetPlayerName(playerid,pNome,sizeof(pNome));// Funзгo que pega o nome do jogador
format(Arquivo,sizeof(Arquivo),"%s",pNome);// formatando o Arquivo para abrir com FINI
Fini_OpenFile(Arquivo);// abre o arquivo
if(Fini_Exists(Arquivo))// verifica se existe o arquivo do jogador
{
pExp[playerid] = Fini_GetValue("Experiencia");// pega o valor da linha "Experiencia" dentro do arquivo do jogador
pLevel[playerid] = Fini_GetValue("Level");// pega o valor da linha "Level" dentro do arquivo do jogador
Fini_SaveFile(Arquivo);// salva o arquivo
}
else
{
Fini_Create(Arquivo);// Caso nao exista o arquivo irб cria-lo automaticamente
Fini_SetVal("Experiencia",0);// ira definir a experiencia do jogador a ZERO ( pode mudar para qualquer experiencia que quiser , seria a xp inicial do jogador)
Fini_SetVal("Level",0);// irб definir o level do jogador a ZERO ( pode mudar para qualquer level que quiser , seria o level inicial do jogador)
Fini_SaveFile(Arquivo);// salva o arquivo
}
Fini_CloseFile();// fecha o arquivo
return 1;
}
public OnPlayerDisconnect(playerid, reason) // public de quando o jogador desconecta
{
KillTimer(pTimeUP[playerid]); // irб "MATAR" a contagem de receber XP
new Arquivo[100]; // ja falei la em cima
new pNome[MAX_PLAYER_NAME]; // ja falei la em cima
GetPlayerName(playerid,pNome,sizeof(pNome)); // ja falei la em cima
format(Arquivo,sizeof(Arquivo),"%s",pNome); // ja falei la em cima
Fini_OpenFile(Arquivo); // abre o Arquivo
Fini_SetVal("Experiencia",pExp[playerid]); // Seta a experiencia no arquivo
Fini_SetVal("Level",pLevel[playerid]); // seta o level no arquivo
Fini_SaveFile(Arquivo); // salva o arquivo
Fini_CloseFile(); // fecha o arquivo
return 1;
}
stock UparXp(playerid) // funзгo nova que serб chamada pelo SetTimerEx
{
pExp[playerid] ++;// aumenta a variavel pExp do player , exemplo : tava 1 , dai aumentou ficou 2
new string[50];//coloquei 50 porq acho que й o suficiente .. qualquer problema sу aumentar ...
format(string,sizeof(string),"[UP]Parabйns ! Vocк acaba de upar sua experiencia no nosso servidor! [%d/5]",pExp[playerid]);//mostra a mensagem que o player upou a XP
SendClientMessage(playerid,-1,string);// Lanзa pro player a mensagem
if(pExp[playerid] == 5){ // verifica se ele estб com 5 XP
pLevel[playerid] ++; // se tiver 5 xp aumenta 1 level
pExp[playerid] = 0; // reseta a XP do player para 0
new string2[50]; // mesma coisa do new string[50] apenas diferenciei o nome
format(string,sizeof(string),"[LEVEL]OK. Vocк acaba de upar 1 level ! Total : [%d]",pLevel[playerid]);// mostra o level na mensagem
SendClientMessage(playerid,-1,string2); // mensagem enviada ao player
return 1;
}
}
Coloquei o link no fim do tуpico do FINI . Ele й bem simples de aprender , eu nгo sei muito
sobre o DOF2 , nгo sei qual й mais rбpido ... kkk Odeio tуpicos muito coloridos kkk #.# |
Fini_OpenFile(Arquivo); ========== Acho que em DOF2 nгo precisa. if(Fini_Exists(Arquivo)) ============ if(DOF2_FileExists(Arquivo)) Fini_GetValue ================= DOF2_GetInt Fini_SaveFile =========== DOF2_SaveFile(); Fini_Create(Arquivo); ====== DOF2_CreateFile(Arquivo); Fini_SetVal ========= DOF2_SetInt Fini_CloseFile =========== DOF2_Exit(); # Em OnGameModeExit