Portal SAMP
[Ajuda] Problemas com id fixo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Problemas com id fixo (/showthread.php?tid=4341)



Problemas com id fixo - Fack_Insane - 26/12/2023

Iae galera, estou criando um servidor de samp e estou tendo alguns problemas com o sistema de id fixo do meu servidor o comando funciona perfeitamente mais não consigo verificar quem está online ou offline o comando buga se o player estiver offline e não envia nenhuma mensagem para o player.

CMDConfusedetgrana(playerid, params[])
{
    new grana;
    new jogador;
    if(Player[playerid][Admin] < 3) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Voce nao tem permisao para utilizar esse comando.");
    if(TB[playerid] == false) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Voce nao esta em trabalho!");
    if(sscanf(params, "dd", jogador, grana)) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Modo correto de uso: /SetGrana [ ID DO PLAYER ] [ VALOR ]");
    foreach(Player, i)
    {
        if(IDFIXO[i] == jogador)
        {
            if(!IsPlayerConnected(i)) return SendClientMessage(i, 0xFF0000AA, "| ERRO | Esse player nao esta online!");
            GivePlayerMoney(i, grana);
            format(String, sizeof(String), "O admin %s setou %d de grana em voce!", pName(playerid), grana);
            SendClientMessage(i, 0x00FF00AA, String);

            format(String, sizeof(String), "Voce setou %d de grana no player %s", grana, pName(i));
            SendClientMessage(i, 0x00FF00AA, String);
        }
    }
    return 1;
}


RE: Problemas com id fixo - White_Blue - 26/12/2023

Só com esse trecho de código fica difícil te ajudar. Como você gera, salva e verifica esse ID único?


RE: Problemas com id fixo - zBreno - 26/12/2023

passe o idfixo pro id do jogador

idfixo[playerid] = playerid;

CMDSetgrana(playerid, params[])
{
new grana, jogador pName[24], pName2[24];

if(sscanf(params, "dd", jogador, grana))
{
SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Modo correto de uso: /SetGrana [ ID DO PLAYER ] [ VALOR ]");
return 1;
}

if(!IsPlayerConnected(jogador)) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Jogador offline.");
if(Player[playerid][Admin] < 3) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Você não tem permissão para utilizar esse comando.");
if(TB[playerid] == false) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Você não esta em trabalho!");

GetPlayerName(playerid, pName, 24);
GetPlayerName(jogador, pName2, 24);

if(jogador == IDFIXO[playerid])
{
GivePlayerMoney(jogador, grana);
format(String, sizeof(String), "O admin %s setou %d de grana em você!", pName(playerid), grana);
SendClientMessage(jogador, 0x00FF00AA, String);

format(String, sizeof(String), "Você setou %d de grana no player %s", grana, pName2(jogador));
SendClientMessage(playerid, 0x00FF00AA, String);
}
return 1;
}


RE: Problemas com id fixo - pushline - 26/12/2023

Nao faz sentido o idfixo[playerid] ser playerid justamente pq é pra setar grana pra outro player, nao pra si mesmo

tenta isso:

Código PHP:
CMD:setgrana(playeridparams[])
{
    new 
granatargetID;
    
    if(
Player[playerid][Admin] < 3
        return 
SendClientMessage(playerid0xFF0000AA"| ERRO | Voce nao tem permisao para utilizar esse comando.");
    
    if(
TB[playerid] == false)
        return 
SendClientMessage(playerid0xFF0000AA"| ERRO | Voce nao esta em trabalho!");
    
    if(
sscanf(params"dd"targetIDgrana))
        return 
SendClientMessage(playerid0xFF0000AA"| ERRO | Modo correto de uso: /SetGrana [ ID DO PLAYER ] [ VALOR ]");
    
    foreach(
Playeri)
    {
        if(
IDFIXO[i] == targetID)
        {
            if(!
IsPlayerConnected(i)) 
            {
                return 
SendClientMessage(i0xFF0000AA"| ERRO | Esse player nao esta online!");
                break;
            }
            
            
GivePlayerMoney(igrana);
            
format(Stringsizeof(String), "O admin %s setou %d de grana em voce!"pName(playerid), grana);
            
SendClientMessage(i0x00FF00AAString);

            
format(Stringsizeof(String), "Voce setou %d de grana no player %s"granapName(i));
            
SendClientMessage(playerid0x00FF00AAString);

            break;
        }
    }

    return 
1;


E aliás, talvez o IDFixo 97 exista mas o playerid 97 não, então vai cair no if(!IsPlayerConnected(i)).
Recomendo usar os IDs padrões que já vem com o SAMP.


RE: Problemas com id fixo - Fack_Insane - 07/02/2024

Valeu aí galera resolveu meu problema.


RE: Problemas com id fixo - White_Blue - 08/02/2024

(07/02/2024 22:06)Fack_Insane Escreveu: Valeu aí galera resolveu meu problema ??

Não entendi, isso é uma pergunta?


RE: Problemas com id fixo - Fack_Insane - 08/02/2024

Era um emoji mais não foi