SA-MP Forums Archive
[Ajuda] Otimizar comando? - 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] Otimizar comando? (/showthread.php?tid=528636)



Otimizar comando? - FernandoSS - 29.07.2014

Queria saber se o codigo que eu fiz se tem algum erro, se tiver indique-o. E se eu estou no caminho certo.
Aqui ele esta funfando sem bugs..
E se tem como diminuir ele, tomar menos espaзo no GM.
Acho que isso se chama Otimizar nй?
E sobre os comentarios, й costume meu, sу para saber o que eu estou fazendo.... kk

pawn Код:
CMD:carregar(playerid)
{
    GetPlayerName(playerid, StrContas, sizeof(StrContas));
    format(StrContas, sizeof(StrContas), "Contas/%s.ini", Nome(playerid));
    if(DOF2_GetInt(StrContas, "Profissao") == Petroleiro)// Esta verificando se ele й petroleiro
    {
        new VehicleID;
        VehicleID = GetPlayerVehicleID(playerid);
        new modelo;
        modelo = GetVehicleModel(VehicleID);
        if(modelo == 514)// Esta verificando se ele esta no caminhгo
        {
            if(IsTrailerAttachedToVehicle(VehicleID))// Esta verificando se ele esta com um reboque
            {
                if(IsPlayerInRangeOfPoint(playerid, 20.0, 165.699996, 1401.5, 9.5) || IsPlayerInRangeOfPoint(playerid, 20.0, 165.600006, 1419.199951, 9.5))// Coordenadas onde ele pode executar o CMD
                {
                    if(Petroleo[playerid] == 0)// Esta verificando se ele esta carregado
                    {
                        ShowPlayerDialog(playerid, DIALOG_PETROLEO, DIALOG_STYLE_LIST, "Cargas disponiveis | Local - Preзo |", "Local 1 = R$900\nLocal 2 = R$1100", "Carregar", "Cancelar");
                        return true;
                    }
                    else
                    {
                        SendClientMessage(playerid, ERRO, "|ERRO| Vocк jб esta carregado! Siga o ponto vermelho em seu mapa para descarregar!");
                        return true;
                    }
                }
                else
                {
                    SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo esta na area de carregamento!");
                    return true;
                }
            }
            else
            {
                SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo esta com um reboque!");
                return true;
            }
        }
        else
        {
            SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo esta em um caminhгo!");
            return true;
        }
    }
    else
    {
        SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo nгo tem permissгo!");
        return true;
    }
    //return 1; // Da warning 225: unreachable code
}



Re: Otimizar comando? - DogeMan - 29.07.2014

Essa linha й desnecessбria:
GetPlayerName(playerid, StrContas, sizeof(StrContas));

Acredito eu que nгo haja necessidade de tantos return's. Apenas o "return 1;" no final como de costume jб й suficiente.


Re: Otimizar comando? - ViniBorn - 29.07.2014

pawn Код:
CMD:carregar(playerid)
{
    format(StrContas, sizeof(StrContas), "Contas/%s.ini", Nome(playerid));
    if(DOF2_GetInt(StrContas, "Profissao") == Petroleiro)// Esta verificando se ele й petroleiro
    {
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 514)// Esta verificando se ele esta no caminhгo
        {
            if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))// Esta verificando se ele esta com um reboque
            {
                if(IsPlayerInRangeOfPoint(playerid, 20.0, 165.699996, 1401.5, 9.5) || IsPlayerInRangeOfPoint(playerid, 20.0, 165.600006, 1419.199951, 9.5))// Coordenadas onde ele pode executar o CMD
                {
                    if(Petroleo[playerid] == 0)// Esta verificando se ele esta carregado
                        ShowPlayerDialog(playerid, DIALOG_PETROLEO, DIALOG_STYLE_LIST, "Cargas disponiveis | Local - Preзo |", "Local 1 = R$900\nLocal 2 = R$1100", "Carregar", "Cancelar");
                    else return SendClientMessage(playerid, ERRO, "|ERRO| Vocк jб esta carregado! Siga o ponto vermelho em seu mapa para descarregar!");
                }
                else return SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo esta na area de carregamento!");
            }
            else return SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo esta com um reboque!");
        }
        else return SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo esta em um caminhгo!");
    }
    else return SendClientMessage(playerid, ERRO, "|ERRO| Vocк nгo nгo tem permissгo!");

    return true;
}
Dб pra economizar espaзo no cуdigo, e as variбveis sгo dispensбveis, jб que vocк sу usa uma vez, no mбximo duas...