[DUV] Sistema de level
#1

Pessoal to com uma duvida aki se alguem puder me ajduar agradeзo

No toipo do gm
Quote:

new Respeito[MAX_PLAYERS];
new Level[MAX_PLAYERS];
forward GanharLevel(playerid);

no OnGameModeInit
Quote:

//SISTEMA DE LEVEL
//a cada 20 minutos o gamemode vai chamar a funзгo GanharLevel
SetTimer("GanharLevel",1200000, true);

Quote:

public GanharLevel(playerid)
{
if(Respeito[playerid] < 10) //caso o Respeito do player for menor que 10 ele ganha 1 de respeito
{
Respeito[playerid]++;
return 1;
}
if(Respeito[playerid] == 10) //se o repeito do player chegar a 10 ele ganha um level
{
GameTextForPlayer(playerid,"Parabens voce acba de subir de level! Continue jogando para conseguir novas profissoes!",5000,2)
Level[playerid]++;
Respeito[playerid]=0;
SetPlayerScore(playerid, Level[playerid]);
//Guardando o lvl
pap_SalvarInt(playerid, "Respeito", Respeito[playerid]);
pap_SalvarInt(playerid, "Level", Level[playerid]);
}
return 1;
}

porem ele nгo salva as funзхes em um .txt individual para cada jogador(como eu gostaria que fizesse =\) mas ele salva em um .txt e vai salvando o "Respeito" e o "Level" um atras do outro =\
Reply
#2

tem que fazer o pap_CriarArquivo... acho que й assim, ve lб no topico da include..

PS: duvidas desse genero й no topico da include
Reply
#3

Quote:
Originally Posted by andmeida10
tem que fazer o pap_CriarArquivo... acho que й assim, ve lб no topico da include..

PS: duvidas desse genero й no topico da include
Coloquei esse pap_criararquivo mas agora o lvl sу sobe pra quem foi o primeiro a entrar no server ...e no tуpico da include nгo tem nada do genero =\

http://forum.sa-mp.com/index.php?topic=137412.0
Reply
#4

Nгo entendo muito da pap, atй porque ainda estou tentando mexer com ela no exemplo. Porйm seguindo a logica:

Coloque a funзгo de criar arquivo no registrar do seu GM, e coloque para verificar esse arquivo na funзгo de logar. Assim, quando o player se registra cria o arquivo, e quando ele loga em seguida os dados serгo verificados se existem.
Reply
#5

Quote:
Originally Posted by [NWD
Black_Alien ]
Nгo entendo muito da pap, atй porque ainda estou tentando mexer com ela no exemplo. Porйm seguindo a logica:

Coloque a funзгo de criar arquivo no registrar do seu GM, e coloque para verificar esse arquivo na funзгo de logar. Assim, quando o player se registra cria o arquivo, e quando ele loga em seguida os dados serгo verificados se existem.
Gostei da lуgica XD vallew vou tentar....

Dando certo ou nгo postarei o resultado aqui XD
Reply
#6

Seu cуdigo possui um erro....

Vocк colocou um timer no OnGamemodeInit que irб chamar a funзгo GanharLevel(playerid), sendo que nгo estб definido 'playerid' no timer, e nem poderia ja que estб no OnGamemodeInit, entгo substitua assim no seu codigo..:

pawn Код:
forward GanharLevel();
apenas tirei o playerid ali...

agora na funзгo GanharLevel coloque assim:

pawn Код:
public GanharLevel()
{
    for(new playerid; playerid < MAX_PLAYERS; playerid++)//loop para todos os jogadores...
    {
      if(!IsPlayerConnected(playerid)) return 0;
      if(Respeito[playerid] < 10) //caso o Respeito do player for menor que 10 ele ganha 1 de respeito
      {
        Respeito[playerid]++;
        return 1;
      }
      if(Respeito[playerid] == 10) //se o repeito do player chegar a 10 ele ganha um level
      {
        GameTextForPlayer(playerid,"Parabens voce acba de subir de level! Continue jogando para conseguir novas profissoes!",5000,2)
        Level[playerid]++;
        Respeito[playerid]=0;
        SetPlayerScore(playerid, Level[playerid]);
        //Guardando o lvl
        pap_SalvarInt(playerid, "Respeito", Respeito[playerid]);
        pap_SalvarInt(playerid, "Level", Level[playerid]);
      }
    }
  return 1;
}
Coloquei um loop que irб pegar todos os jogadores Online e salvar, antes ele iria sу salvar o player com id 0...
Reply
#7

Eaai pessoal bom fui tentar implanta esse sistema de level no meu servidor i ate conseguii mas quando o player se desconecta i volta nгo ta salvo o level dele alguem poderia me dar uma ajuda aqui esta como eu coloquei....


Topo do gm
pawn Код:
#include "PAP"
new Respeito[MAX_PLAYERS];
new Level[MAX_PLAYERS];
forward GanharLevel(playerid);

OnGameModeInit

pawn Код:
SetTimer("GanharLevel",500, true);  // Obs : coloquei 500 so para mim poder testar

OnPlayerCommandText(playerid, cmdtext[])

pawn Код:
if(strcmp(cmdtext, "/verlevel", true) == 0)
{
new string[40];
format(string, 40,"|- Servidor: seu level й %i -|", Level[playerid]);
SendClientMessage(playerid, 0xF60000AA, string);
return 1;
}


Final do GM

pawn Код:
public GanharLevel()
{
for(new playerid; playerid < MAX_PLAYERS; playerid++)//loop para todos os jogadores...
{
  if(!IsPlayerConnected(playerid)) return 0;
  if(Respeito[playerid] < 10) //caso o Respeito do player for menor que 10 ele ganha 1 de respeito
  {
    Respeito[playerid]++;
    return 1;
  }
  if(Respeito[playerid] == 10) //se o repeito do player chegar a 10 ele ganha um level
  {
    SendClientMessage(playerid,COLOR_GREEN,"~~~~~~~~~~~~~~~~~~| Level Up |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    SendClientMessage(playerid,COLOR_GREEN,"Vocк acaba de ganhar um level!");
    SendClientMessage(playerid,COLOR_GREEN,"Continue jogando para poder abrir novos comandos. ");
    SendClientMessage(playerid,COLOR_GREEN,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    Level[playerid]++;
    Respeito[playerid]=0;
    SetPlayerScore(playerid, Level[playerid]);
    //Guardando o lvl
    pap_SalvarInt(playerid, "Respeito", Respeito[playerid]);
    pap_SalvarInt(playerid, "Level", Level[playerid]);
  }
 }
  return 1;
}



Alguem poderia me ajudar e dizer por que nгo esta salvando ?

obs: cria ate o arquivo em scriptfiles i quando o player sai o level fica ate salvo mas quando ele volta o level e reniciado.
Reply
#8

Pega TUTO que o DraKoN Fez Aquele TUTORIAL Funca Perfeito

http://forum.sa-mp.com/index.php?topic=168232.0
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)