SA-MP Forums Archive
[Ajuda] Bug no SA-MP - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Bug no SA-MP (/showthread.php?tid=427534)



Bug no SA-MP - davi54723 - 02.04.2013

Olб pessoal, estou com um probleminha aqui, meu Servidor de samp te com um problema aqui, quando eu digito um comando ele nгo funcionar.

Tipo assim:

/kickar [ID] [Motivo]

Ai eu Preencho os comandos...

/kickar 1 LALA.

Ai eu recebo a mensagem do modo correto de usar:
/kickar [ID] [Motivo]

Ou seja o comando nгo vai.

Alguns comandos sу que ta assim...

Um deles й :

pawn Код:
CMD:m(playerid,params[])
{
    if(CSMBR[playerid] == ROCAM || CSMBR[playerid] == ROTA)
    {
    new Float:x, Float:y, Float:z;
    new megafone[150], formato[150],PTiD , playername[MAX_PLAYER_NAME];
    GetPlayerPos(playerid, x, y, z);
    GetPlayerName(playerid, playername, sizeof(playername));
    if(sscanf(params, "us[128]", PTiD, megafone)) return SendClientMessage(playerid, -1, "Uso: /m(egafone) [ID] [TEXTO]");
    if(!IsPlayerConnected(PTiD)) return SendClientMessage(playerid, -1, "[ERRO]: Jogador Nгo conectado!");
    if(!IsPlayerInRangeOfPoint(PTiD, 30.0,  x,y,z)) return SendClientMessage(playerid, -1, "O mesmo se encontra muito distante de vocк!.");
    format(formato, sizeof(formato), "O policial: %s falou no megafone: [ %s]", playername, megafone);
    SendClientMessage(PTiD, COR_ERRO, formato);
    }
    else
    {
    SendClientMessage(playerid, -1, "Vocк nгo й policial para utilizar esse comando");
    }
    return 1;
}



Re: BUG NO SA-MP. - Lуs - 02.04.2013

Basta organizar um pouco o cуdigo e vocк vai compreender o que estб errado.

pawn Код:
CMD:m ( playerid, params [ ] )
{
    if ( CSMBR [ playerid ] != ROCAM || CSMBR [ playerid ] != ROTA )
        return SendClientMessage(playerid, -1, "Vocк nгo й policial para utilizar esse comando");

    new
        megafone [ 128 ],
        targetid;

    if ( sscanf ( params, "us[128]", targetid, megafone ) )
        return SendClientMessage ( playerid, -1, "Uso: /m(egafone) [ID] [TEXTO]" );

    if ( !IsPlayerConnected ( targetid ) || targetid == INVALID_PLAYER_ID )
        return SendClientMessage ( playerid, -1, "[ERRO]: Jogador Nгo conectado!" );

    new
        Float: flo_player_pos [ 3 ];

    GetPlayerPos ( playerid, flo_player_pos [ 0 ], flo_player_pos [ 1 ], flo_player_pos [ 2 ] );

    if ( !IsPlayerInRangeOfPoint ( targetid, 30.0, flo_player_pos [ 0 ], flo_player_pos [ 1 ], flo_player_pos [ 2 ] ) )
        return SendClientMessage ( playerid, -1, "O mesmo se encontra muito distante de vocк!." );

    new
        formato [ 128 ],
        playername [ MAX_PLAYER_NAME ];

    GetPlayerName ( playerid, playername, MAX_PLAYER_NAME );

    format ( formato, sizeof formato, "O policial: %s falou no megafone: [%s]", playername, megafone );
    SendClientMessage ( targetid, COR_ERRO, formato );

    return 1;
}



Re: BUG NO SA-MP. - AiaN - 02.04.2013

Tente achar o erro no seu cуdigo, olhando oque o Los postou!

Se ainda sim nгo conseguir, aqui estб;

pawn Код:
CMD:m(playerid,params[])
{
    if(CSMBR[playerid] == ROCAM || CSMBR[playerid] == ROTA)
    {
        new Float:x, Float:y, Float:z;
        new megafone[150], formato[150],PTiD , playername[MAX_PLAYER_NAME];
        GetPlayerPos(playerid, x, y, z);
        GetPlayerName(playerid, playername, sizeof(playername));
        if(!sscanf(params, "us", PTiD, megafone)) return SendClientMessage(playerid, -1, "Uso: /m(egafone) [ID] [TEXTO]");
        if(!IsPlayerConnected(PTiD)) return SendClientMessage(playerid, -1, "[ERRO]: Jogador Nгo conectado!");
        if(!IsPlayerInRangeOfPoint(PTiD, 30.0,  x,y,z)) return SendClientMessage(playerid, -1, "O mesmo se encontra muito distante de vocк!.");
        format(formato, sizeof(formato), "O policial: %s falou no megafone: [ %s]", playername, megafone);
        SendClientMessage(PTiD, COR_ERRO, formato);
    }
    else
    {
        SendClientMessage(playerid, -1, "Vocк nгo й policial para utilizar esse comando");
    }
    return 1;
}



Re: BUG NO SA-MP. - Lуs - 02.04.2013

Quote:
Originally Posted by AiaN
Посмотреть сообщение
Tente achar o erro no seu cуdigo, olhando oque o Los postou!

Se ainda sim nгo conseguir, aqui estб;

pawn Код:
CMD:m(playerid,params[])
{
    if(CSMBR[playerid] == ROCAM || CSMBR[playerid] == ROTA)
    {
        new Float:x, Float:y, Float:z;
        new megafone[150], formato[150],PTiD , playername[MAX_PLAYER_NAME];
        GetPlayerPos(playerid, x, y, z);
        GetPlayerName(playerid, playername, sizeof(playername));
        if(!sscanf(params, "us", PTiD, megafone)) return SendClientMessage(playerid, -1, "Uso: /m(egafone) [ID] [TEXTO]");
        if(!IsPlayerConnected(PTiD)) return SendClientMessage(playerid, -1, "[ERRO]: Jogador Nгo conectado!");
        if(!IsPlayerInRangeOfPoint(PTiD, 30.0,  x,y,z)) return SendClientMessage(playerid, -1, "O mesmo se encontra muito distante de vocк!.");
        format(formato, sizeof(formato), "O policial: %s falou no megafone: [ %s]", playername, megafone);
        SendClientMessage(PTiD, COR_ERRO, formato);
    }
    else
    {
        SendClientMessage(playerid, -1, "Vocк nгo й policial para utilizar esse comando");
    }
    return 1;
}
O que vocк fez estб errado, e vai retornar erros.

Recomendo dar uma lida no tуpico do sscanf.


Re: BUG NO SA-MP. - Delete_ - 02.04.2013

Procure nгo usar variбveis globais em comandos com sscanf.


Re: BUG NO SA-MP. - steki. - 02.04.2013

Quote:
Originally Posted by Delete_
Посмотреть сообщение
Procure nгo usar variбveis globais em comandos com sscanf.
Pois que?


Respuesta: BUG NO SA-MP. - Pedro Pawno - 02.04.2013

pawn Код:
CMD:m(playerid,params[])
{

    if(CSMBR[playerid] == ROCAM || CSMBR[playerid] == ROTA) return SendClientMesssage(playerid,-1,"VocК nгo й policial");
    {
        if(sscanf(params, "us[128]", PTiD, megafone)) return SendClientMessage(playerid, -1, "Uso: /m(egafone) [ID] [TEXTO]");
        if(!IsPlayerConnected(PTiD)) return SendClientMessage(playerid, -1, "[ERRO]: Jogador Nгo conectado!");
        if(!IsPlayerInRangeOfPoint(PTiD, 30.0,  x,y,z)) return SendClientMessage(playerid, -1, "O mesmo se encontra muito distante de vocк!.");
        new Float:x, Float:y, Float:z;
        new megafone[150], formato[150],PTiD , playername[MAX_PLAYER_NAME];
        GetPlayerPos(playerid, x, y, z);
        GetPlayerName(playerid, playername, sizeof(playername));
        format(formato, sizeof(formato), "O policial: %s falou no megafone: [ %s]", playername, megafone);
        SendClientMessage(PTiD, COR_ERRO, formato);
    }
    return 1;
}

Nгo sei se vai funfar... Por que fiz por aqui mesmol.


Re: Respuesta: BUG NO SA-MP. - Lуs - 02.04.2013

Quote:
Originally Posted by Pedro Pawno
Посмотреть сообщение
Nгo sei se vai funfar... Por que fiz por aqui mesmol.
Eu na maioria das vezes faзo meus cуdigos de respostas a tуpicos pelo quick reply, й a coisa do que o Pawno, a diferenзa й que nгo tem syntax highlight e nem tab para fazer a identaзгo.

Se vocк tenta colocar uma desculpa de que seu cуdigo nгo vai funcionar por nгo fazer ele em um mйtodo comum (IDE, compiladores e etc...) й falta de auto-confianзa.

Confie no seu cуdigo, se estiver errado, edite e conserte, se nгo sabe, procure aprender e aprimorar seus conhecimentos cada vez mais, e assim, chegar cada vez mais longe...


Re: BUG NO SA-MP. - Lуs - 03.04.2013

Quote:
Originally Posted by davi54723
Посмотреть сообщение
Tб... deram o cуdigo pronto e naum dizeram onde eu errei .-.'
Quote:
Originally Posted by Lуs
Посмотреть сообщение
Basta organizar um pouco o cуdigo e vocк vai compreender o que estб errado.
Leia.


Re: Respuesta: BUG NO SA-MP. - Maklister - 04.04.2013

Quote:
Originally Posted by Pedro Pawno
Посмотреть сообщение
pawn Код:
CMD:m(playerid,params[])
{

    if(CSMBR[playerid] == ROCAM || CSMBR[playerid] == ROTA) return SendClientMesssage(playerid,-1,"VocК nгo й policial");
    {
        if(sscanf(params, "us[128]", PTiD, megafone)) return SendClientMessage(playerid, -1, "Uso: /m(egafone) [ID] [TEXTO]");
        if(!IsPlayerConnected(PTiD)) return SendClientMessage(playerid, -1, "[ERRO]: Jogador Nгo conectado!");
        if(!IsPlayerInRangeOfPoint(PTiD, 30.0,  x,y,z)) return SendClientMessage(playerid, -1, "O mesmo se encontra muito distante de vocк!.");
        new Float:x, Float:y, Float:z;
        new megafone[150], formato[150],PTiD , playername[MAX_PLAYER_NAME];
        GetPlayerPos(playerid, x, y, z);
        GetPlayerName(playerid, playername, sizeof(playername));
        format(formato, sizeof(formato), "O policial: %s falou no megafone: [ %s]", playername, megafone);
        SendClientMessage(PTiD, COR_ERRO, formato);
    }
    return 1;
}

Nгo sei se vai funfar... Por que fiz por aqui mesmol.
Nгo precisa abrir o comando se jб estб condicionado para der um return na if .-.'