Portal SAMP
[Ajuda] unreachable code - 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] unreachable code (/showthread.php?tid=4478)



unreachable code - overlordfy - 29/01/2024

Ola, to criando um sistema de mecanico mas ta dando esse warning e ta bugando meu codigo na hora que executo ele, ele fica variando as linhas, quando eu exclui-o codigo que ta dando erro ele vai pra outra linha.

warning 225: unreachable code

Código:
CMD:mec(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 83.7603,-149.3848,2.5844)) return SendClientMessage(playerid, -1, "{FF0000}| ERRO | {FFFFFF}Você não esta no Trabalho de Mecanico");
    {
        pInfo[playerid][Emprego] = 2; return SendClientMessage(playerid, -1, "{FF0000}| ERRO | {FFFFFF}Você não é um Mecanico, vá até a Agencia de Emprego para se tornar um");
        for(new i = 0; i < 21; i ++)
        {
             TextDrawShowForPlayer(playerid, MecanicoTD[i]);
        }
        for(new i = 0; i < 4; i ++)
        {
            SelectTextDraw(playerid, -1);
            PlayerTextDrawShow(playerid, PlayerMecanicoTD[playerid][i]);
        }
    }
    return 1;
}



RE: unreachable code - White_Blue - 29/01/2024

A frase "O erro está na linha:
Citar:
Código PHP:
pInfo[playerid][Emprego] = 2; return SendClientMessage(playerid, -1"{FF0000}| ERRO | {FFFFFF}Você não é um Mecânico, vá até a Agência de Emprego para se tornar um"); 

Não funciona assim; o correto seria:
Código PHP:
if(pInfo[playerid][Emprego] != 2) return SendClientMessage(playerid0xFF0000AA"| ERRO | {FFFFFF}Você não é um Mecânico, vá até a Agência de Emprego para se tornar um"); 

P.S: Também há um erro na linha:
Citar:
Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.083.7603, -149.38482.5844)) return SendClientMessage(playerid, -1"{FF0000}| ERRO | {FFFFFF}Você não está no Trabalho de Mecânico"); 

Não faz sentido abrir chaves aqui, já que você já está retornando um valor (no caso, uma mensagem). Portanto, o correto seria:
Código PHP:
if(!IsPlayerInRangeOfPoint(playerid2.083.7603, -149.38482.5844)) return SendClientMessage(playerid, -1"{FF0000}| ERRO | {FFFFFF}Você não está no Trabalho de Mecânico"); 



RE: unreachable code - Calasans - 29/01/2024

(29/01/2024 17:12)overlordfy Escreveu: Ola, to criando um sistema de mecanico mas ta dando esse warning e ta bugando meu codigo na hora que executo ele, ele fica variando as linhas, quando eu exclui-o codigo que ta dando erro ele vai pra outra linha.

warning 225: unreachable code

Código:
CMD:mec(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 83.7603,-149.3848,2.5844)) return SendClientMessage(playerid, -1, "{FF0000}| ERRO | {FFFFFF}Você não esta no Trabalho de Mecanico");
    {
        pInfo[playerid][Emprego] = 2; return SendClientMessage(playerid, -1, "{FF0000}| ERRO | {FFFFFF}Você não é um Mecanico, vá até a Agencia de Emprego para se tornar um");
        for(new i = 0; i < 21; i ++)
        {
             TextDrawShowForPlayer(playerid, MecanicoTD[i]);
        }
        for(new i = 0; i < 4; i ++)
        {
            SelectTextDraw(playerid, -1);
            PlayerTextDrawShow(playerid, PlayerMecanicoTD[playerid][i]);
        }
    }
    return 1;
}

Correção:
Código PHP:
CMD:mec(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid2.083.7603,-149.3848,2.5844))
        return SendClientMessage(playerid, -1"{FF0000}| ERRO | {FFFFFF}Você não esta no Trabalho de Mecanico");
    //
    if(pInfo[playerid][Emprego] != 2)
        return SendClientMessage(playerid, -1"{FF0000}| ERRO | {FFFFFF}Você não é um Mecanico, vá até a Agencia de Emprego para se tornar um");
    //
    for(new 021++)
        TextDrawShowForPlayer(playeridMecanicoTD[i]);
    //
    for(new 04++) 
        PlayerTextDrawShow
(playeridPlayerMecanicoTD[playerid][i]);
    
//
    
SelectTextDraw(playerid0xFFFFFFFF);
    
//
    
return true;