Problema com Repetiзгo
#1

Oб pessoal estou com um problema recentemente criei um sistema de Ranks, que coloca conforme o NIVEL uma sigla no Nome do Jogador, mas percebi que se caso eu Morro o sistema coloca denovo outra sigla e aia vai enchendo o nome do jogador de siglas repetindoas:

Exemplo:
Jogador: Mrs_Player entra no servidor com lvl 20
Quando ele Spawn: O Scritp Vai Aterar o Nome dele para [PRO]Mrs_Player
mas esse й problema se o jogador da respawn, por exemplo o [PRO]Mrs_Player
morre ai ele da respawn o script coloca o nome dele [PRO][PRO]Mrs_Player
ele repete a sigla. como fazer ele nгo repitir?

Cуdigo da Troca de Nome:
Код:
format(nPName, sizeof(nPName), "[NOB]%s", pName); // Noob
SetPlayerName(playerid, nPName);
Coloca no Mйtodo OnPlayerSpawn
Reply
#2

Quote:
Originally Posted by mafelis
Посмотреть сообщение
Oб pessoal estou com um problema recentemente criei um sistema de Ranks, que coloca conforme o NIVEL uma sigla no Nome do Jogador, mas percebi que se caso eu Morro o sistema coloca denovo outra sigla e aia vai enchendo o nome do jogador de siglas repetindoas:

Exemplo:
Jogador: Mrs_Player entra no servidor com lvl 20
Quando ele Spawn: O Scritp Vai Aterar o Nome dele para [PRO]Mrs_Player
mas esse й problema se o jogador da respawn, por exemplo o [PRO]Mrs_Player
morre ai ele da respawn o script coloca o nome dele [PRO][PRO]Mrs_Player
ele repete a sigla. como fazer ele nгo repitir?

Cуdigo da Troca de Nome:
Код:
format(nPName, sizeof(nPName), "[NOB]%s", pName); // Noob
SetPlayerName(playerid, nPName);
Coloca no Mйtodo OnPlayerSpawn
Se nгo encontrar [NOB] no comeзo do nome:

pawn Код:
if(strfind(pName,"[NOB]")!=0)
{
format(nPName, sizeof(nPName), "[NOB]%s", pName); // Noob
SetPlayerName(playerid, nPName);
}
Reply
#3

Resolvido!
Reply
#4

O certo seria setar o nome dele quando ele conectasse e/ou quando o filterscript se inicia.
Reply
#5

Nun da certo pois uso o GF com regsitro. se eu mudo o nome dele ao conectar o GF entende que й um novo usuбrio
Reply
#6

Crie uma funзгo pъblica no fs, e no OnPlayerLogin faзa chamar a tal, como fez pra obter o level de admin do jogador por fs.

pawn Код:
forward SetarNome(playerid);
public SetarNome(playerid)
{
    /*new Name...
    GetPlayerName...
    SetPlayerName...*/

    return 1;
}

//GM(final do OnPlayerLogin):
CallRemoteFunction("SetarNome", "d", playerid);
Reply
#7

Quote:
Originally Posted by mafelis
Посмотреть сообщение
Nun da certo pois uso o GF com regsitro. se eu mudo o nome dele ao conectar o GF entende que й um novo usuбrio
Entгo coloque quase no final do OnPlayerLogin, assim o nome serб modificado depois que o jogador fizer o login.

Ou use strdel:

pawn Код:
new NickName[MAX_PLAYER_NAME];
GetPlayerName(playerid, NickName, sizeof(NickName));
strdel(NickName, 0, 5); //Como "[NOB]" tem 5 caracteres, essa funзгo irб deletar a tag, daн й sу por de novo.

Espero ter ajudado
Reply
#8

Vlw, pessoal mas ja resolveu!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)