[Pedido] Sistema de LEVEL UP
#1

Bom estou procurando um sistema de LEVEL UP estilo da GM DTEN que os jogadores upa por tempo jogado EX:
TEMPO_DE_EXP 5 minutos
MAX_EXP 5
LEVEL_POR_EXP 1

queria algo parecido sendo SISTEMA DE level por tempo jogado ta mas que bom.
Reply
#2

Topo do GM
PHP код:
#include <dini> //include de salvamento de dados.
new EXP[MAX_PLAYERS], Score[MAX_PLAYERS]; // Variбveis de armazenamento de dados.
new TimerEXP[MAX_PLAYERS]; // Variбvel de armazenamento de Timer. 
OnPlayerConnect
PHP код:
new arq[128]; // Variavel que armazena o caminho do arquivo da conta.
format(arqsizeof(arq), "Contas/%s.ini"PlayerName(playerid)); //Formatando a variбvel para o caminho do arquivo usando seu nick.
if(dini_Exists(arq)) //Verificando se o arquivo existe
{  
    
EXP[playerid] = dini_Int(arq"EXP"); //Getando a informaзгo do arquivo para variбvel.
    
Score[playerid] = dini_Int(arq"Score"); // o mesmo dito a cima
    
TimerEXP[playerid] = SetTimerEx("OnPlayerEXP"600000true"d"playerid); // criando um timer de 10 minutos que se repetirб atй ser destruнdo.

OnPlayerDisconnect
PHP код:
new arq[128]; // Variavel que armazena o caminho do arquivo da conta.
format(arqsizeof(arq), "Contas/%s.ini"PlayerName(playerid)); //Formatand a variavel para o caminho do arquivo usando seu nick.
if(!dini_Exists(arq)) dini_Create(arq); // Verifica se o arquivo NГO existe, para poder cria-lo.
dini_IntSet(arq"EXP"EXP[playerid]); //Geta as informaзхes da variavel para o arquivo.
dini_IntSet(arq"Score"Score[playerid]);// o mesmo dito a cima
KillTimer(TimerEXP[playerid]); //Destroi o timer. 
Final do GM
PHP код:
forward OnPlayerEXP(playerid); //Declarando a callback
public OnPlayerEXP(playerid// criando a callback
{
     if(
EXP[playerid] < 6//Verificando se o EXP e menor que 6
     
{
          
EXP[playerid] ++; //somando + 1 no valor atual da variбvel.
          
SendClientMessage(playerid, -1"**Vocк somou + 1 EXP.");
     }
     else 
//Se nгo for menor que 6.
     

          
Score[playerid]++; //Soma um level na variбvel.
          
EXP[playerid] = 0//Seta o EXP para 0 pois o player ja somou 6 EXP de 10 minutos totalizando 1 hora.
          
SetPlayerScore(playeridScore[playerid]); // geta o valor salvo na variбvel para o a funзгo score do proprio SAMP.(Evita que aqueles ******'s adicionem valores, pois assim que somar 1 score na variбvel, os adicionados pelo hack seriam resetados)
          
SendClientMessage(playerid, -1"**Vocк upou + 1 Score."); //Manda uma msg avisando.
     
}
}
stock PlayerName(playerid// Este code getarб o nick do Player.
{
    new 
Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNomesizeof(Nome));
    return 
Nome;

Fiz na corrida, se tiver algum erro sу me avisar.
Reply
#3

VLW ai irei testar agуra
Reply
#4

VLW ai funcionou
Reply
#5

Quote:
Originally Posted by tcharles2011
Посмотреть сообщение
VLW ai funcionou
coloca uma progressbar
PHP код:
#include <progress> //para podermos usa as funзхes 
PHP код:
new Bar:EXPP
PHP код:
OnGameModeinit
EXPP 
CreateProgressBar(170.00424.00279.503.50, -1120.0); //essa posiзгo e em baixo da tela, tu criar uma 
progress etc
 SetProgressBarMaxValue
(EXPP60); //vou da o valor maximo a ela de 60 pq sгo 6 upzzinhos ate o up(meu jeito :)) 
GamemodeExit
PHP код:
HideProgressBarForAll(EXPP); 
OnplayerSpawn //Nos queremos que a progressbar so aparece quando ele spawnar, para n fica a barra la entrada de login etc

PHP код:
    ShowProgressBarForPlayer(playeridEXPP);
    
SetProgressBarColor(XPACOR_DA_PROGRESSBAR); 
agora vem a public

PHP код:
public OnPlayerEXP(playerid// criando a callback 

     if(
EXP[playerid] == 1
     { 
          
SetProgressBarValue(EXPP10.0);
          
UpdateProgressBar(EXPPplayerid);
          
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,"+>EXP!",1000,2);
          
EXP[playerid] ++; //somando + 1 no valor atual da variбvel. 
          
SendClientMessage(playerid, -1"**Vocк somou + 1 EXP."); 
     } 
     if(
EXP[playerid] == 2
     { 
          
SetProgressBarValue(EXPP20.0);
          
UpdateProgressBar(EXPPplayerid);
          
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,"+>EXP!",1000,2);
          
EXP[playerid] ++; //somando + 1 no valor atual da variбvel. 
          
SendClientMessage(playerid, -1"**Vocк somou + 1 EXP."); 
     } 
     if(
EXP[playerid] == 3
     { 
          
SetProgressBarValue(EXPP30.0);
          
UpdateProgressBar(EXPPplayerid);
          
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,"+>EXP!",1000,2);
          
EXP[playerid] ++; //somando + 1 no valor atual da variбvel. 
          
SendClientMessage(playerid, -1"**Vocк somou + 1 EXP."); 
     } 
     if(
EXP[playerid] == 4
     { 
          
SetProgressBarValue(EXPP40.0);
          
UpdateProgressBar(EXPPplayerid);
          
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,"+>EXP!",1000,2);
          
EXP[playerid] ++; //somando + 1 no valor atual da variбvel. 
          
SendClientMessage(playerid, -1"**Vocк somou + 1 EXP."); 
     } 
     if(
EXP[playerid] == 5
     { 
          
SetProgressBarValue(EXPP50.0);
          
UpdateProgressBar(EXPPplayerid);
          
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,"+>EXP!",1000,2);
          
EXP[playerid] ++; //somando + 1 no valor atual da variбvel. 
          
SendClientMessage(playerid, -1"**Vocк somou + 1 EXP."); 
     } 
      if(
EXP[playerid] == 6)
     {  
          
SetProgressBarValue(EXPP60.0);
          
UpdateProgressBar(EXPPplayerid);
          
Score[playerid]++; //Soma um level na variбvel. 
          
EXP[playerid] = 0//Seta o EXP para 0 pois o player ja somou 6 EXP de 10 minutos totalizando 1 hora. 
          
SetPlayerScore(playeridScore[playerid]);  
          
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,">UP<",1000,2);
        
          
SendClientMessage(playerid, -1"**Vocк upou + 1 Score."); //Manda uma msg avisando.
          
SetProgressBarValue(XPA, -00.0);
          
UpdateProgressBar(XPAplayerid); 
     } 

Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)