їEste comando estб bien optimizado?
#1

Buenas, quisiera que me dijieran si estб bien optimizado este comando, ya que lo hice lo mбs optimizado posible asн que no sй si me quedo bien o mal >.<
pawn Код:
CMD:f(playerid, params[])
{
    new str[128], Rango[16];
    if(Informacion[playerid][pFaccion] >= 1)
    {
        if(sscanf(params,"s[128]",params[0])) return SendClientMessage(playerid, -1, "{00C3EA}» {FFFFFF}/F [Mensaje]");
        switch(Informacion[playerid][pFaccion])
        {
            case 1:
            {
                switch(Informacion[playerid][pRango])
                {
                    case 1: Rango = "Cadete";
                    case 2: Rango = "Oficial";
                    case 3: Rango = "Detective";
                    case 4: Rango = "Sargento";
                    case 5: Rango = "Teniente";
                    case 6: Rango = "Sub-Comandante";
                    case 7: Rango = "Comandante";
                }
                format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))",Rango,NombreJugador(playerid),params[0]);
                EnviarMensajeFaccion(1, -1, str);
            }
            case 2:
            {
                switch(Informacion[playerid][pRango])
                {
                    case 1: Rango = "Mйcanico";
                    case 2: Rango = "Trucker";
                    case 3: Rango = "Gerente";
                    case 4: Rango = "Encargado";
                    case 5: Rango = "Sub-director";
                    case 6: Rango = "Director";
                }
                format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))",Rango,NombreJugador(playerid),params[0]);
                EnviarMensajeFaccion(2, -1, str);
            }
        }
    }
    return 1;
}
Y bueno, bбsicamente quisiera saber eso, si estб bien optimizado o no.
Reply
#2

si
pawn Код:
CMD:f(playerid, params[])
{
    new str[128], Rango[16];
    if(Informacion[playerid][pFaccion] >= 1)
    {
        if(sscanf(params,"s[128]",params[0])) return SendClientMessage(playerid, -1, "{00C3EA}» {FFFFFF}/F [Mensaje]");
        switch(Informacion[playerid][pFaccion])
        {
            case 1:
            {
                switch(Informacion[playerid][pRango])
                {
                    case 1: Rango = "Cadete";
                    case 2: Rango = "Oficial";
                    case 3: Rango = "Detective";
                    case 4: Rango = "Sargento";
                    case 5: Rango = "Teniente";
                    case 6: Rango = "Sub-Comandante";
                    case 7: Rango = "Comandante";
                }
                format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))",Rango,NombreJugador(playerid),params[0]);
                EnviarMensajeFaccion(1, -1, str);
            }
            case 2:
            {
                switch(Informacion[playerid][pRango])
                {
                    case 1: Rango = "Mйcanico";
                    case 2: Rango = "Trucker";
                    case 3: Rango = "Gerente";
                    case 4: Rango = "Encargado";
                    case 5: Rango = "Sub-director";
                    case 6: Rango = "Director";
                }
                format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))",Rango,NombreJugador(playerid),params[0]);
                EnviarMensajeFaccion(2, -1, str);
            }
        }
    }else  SendClientMessage(playerid, -1, "No perteneces a ninguna faccion");
    return 1;
}
Reply
#3

Estа bien
Reply
#4

Lo unico que el new str[128], Rango[16]; deberia ir debajo del if(Informacion[playerid][pFaccion] >= 1) porque si no pertenece a ninguna facciуn se estarнan creando las variables para nada, de ahн todo bien.
Reply
#5

Una mejor forma:

pawn Код:
static const RangePerFaction[][][] = // No sй si se podrнa usar "char".
{
    {
        {"Cadete"},
        {"Oficial"},
        {"Detective"},
        {"Sargento"},
        {"Teniente"},
        {"Sub-Comandante"},
        {"Comandante"}
    },
    {
        {"Mecбnico"}, // Serнa "Mecбnico", no "Mйcanico".
        {"Trucker"},
        {"Gerente"},
        {"Encargado"},
        {"Sub-Director"},
        {"Director"},
        {"\0"} // Es necesario para emparejar la cantidad de нndices.
    }
};


CMD:f(playerid, params[])
{
    if(Informacion[playerid][pFaccion] >= 1)
    {
        if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "{00C3EA}» {FFFFFF}/F [Mensaje]");

        new str[128];

        format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))", RangePerFaction[Informacion[playerid][pFaccion]][Informacion[playerid][pRango]], NombreJugador(playerid), params[0]);
        EnviarMensajeFaccion(1, -1, str);  
    }
    return 1;
}


Por cierto, deberнas dejar de usar el espanglish.
Reply
#6

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
Una mejor forma:

pawn Код:
static const RangePerFaction[][][] = // No sй si se podrнa usar "char".
{
    {
        {"Cadete"},
        {"Oficial"},
        {"Detective"},
        {"Sargento"},
        {"Teniente"},
        {"Sub-Comandante"},
        {"Comandante"}
    },
    {
        {"Mecбnico"}, // Serнa "Mecбnico", no "Mйcanico".
        {"Trucker"},
        {"Gerente"},
        {"Encargado"},
        {"Sub-Director"},
        {"Director"},
        {"\0"} // Es necesario para emparejar la cantidad de нndices.
    }
};


CMD:f(playerid, params[])
{
    if(Informacion[playerid][pFaccion] >= 1)
    {
        if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "{00C3EA}» {FFFFFF}/F [Mensaje]");

        new str[128];

        format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))", RangePerFaction[Informacion[playerid][pFaccion]][Informacion[playerid][pRango]], NombreJugador(playerid), params[0]);
        EnviarMensajeFaccion(1, -1, str);  
    }
    return 1;
}


Por cierto, deberнas dejar de usar el espanglish.
pawn Код:
CMD:f(playerid, params[])
{
    if(Informacion[playerid][pFaccion] >= 1)
    {
        if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "{00C3EA}» {FFFFFF}/F [Mensaje]");

        new str[128];

        format(str, sizeof(str), "{5BFFF7}(( %s %s: {FFFFFF}%s {5BFFF7}))", RangePerFaction[Informacion[playerid][pFaccion] - 1][Informacion[playerid][pRango] - 1], NombreJugador(playerid), params[0]);
        EnviarMensajeFaccion(Informacion[playerid][pFaccion], -1, str);  
    }
    return 1;
}
Reply
#7

pawn Код:
{"\0"} // Es necesario para emparejar la cantidad de нndices.
No es necesario.

Por cierto, el mйtodo que les publicу Enzo es la mejor por lejos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)