[AYUDA] Corrector de comandos
#1

Buenas foro me preguntaba como podrнa crear un corrector de comandos usando ZCMD , ejemplo digamos que el jugador pone /arm
o /armass (escribiendo el comando mal) y que le salga un mensaje de los posibles comandos .

Si me diesen una ayuda o algъn ejemplo seria bueno.
Reply
#2

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success)
    {
        new string[99];
        format(string, sizeof string, "El comando (%s) es un comando desconocido",cmdtext);

        SendClientMessage(playerid, -1, string);
    }
    return 1;
}
ZC
Reply
#3

No me en tendiste , lo que busco es que si pone el comando mal le salgan los posibles comandos de acuerdo Alу que escribo
Reply
#4

Quote:
Originally Posted by Sonico
Посмотреть сообщение
No me en tendiste , lo que busco es que si pone el comando mal le salgan los posibles comandos de acuerdo Alу que escribo
Entonces tienes que poner en cada comando uno por uno, diciendo que tiene que poner asн, pero eso serнa por ejemplo: /comer , si tienes /comer helado, o /comer pizza entonces le pones una condicional para detectar si no pone los demбs parametros y le retorne un mensaje diciendo: usa /comer culo | /comer pizza | /comer hamburguesa etc.
Reply
#5

Dйjame decirte que tu idea me pareciу demasiado interesante tanto que me gusto mucho, bueno aquн comparto la forma en que lo hice se que hay mejores formas de hacerlo pero asн me salio a mi.

pawn Код:
#include a_samp
#include zcmd

static const posibles[][] =
{
    {"comer"},
    {"comera"},
    {"comeran"},
    {"comerian"},
    {"comandos"},
    {"entrar"},
    {"salir"},
    {"comportamiento"},
    {"combate"}
};

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    new encontro, string[144], str[14 * 6];
    if(!success)
    {
        for(new i=0, p=sizeof(posibles); i < p; i++)
        {
            if(strfind(cmdtext[1], posibles[i], true) != -1)
            {
                format(str, sizeof str, "%s/%s, ", str, posibles[i]);
                encontro++;
            }
        }
       
        if(encontro)
        {
            new quitar = strlen(str);
            str[quitar - 2] = EOS;
        }

        format(string, sizeof(string),(encontro) ? ("Este comando no existe, comandos posibles %s") : ("Este comando no existe utiliza /comandos"), str);
        SendClientMessage(playerid, -1, string);
    }
    return 1;
}

EDIT: si van hacer Copy&Paste pueden probar usando /comeriandddd
PD: lo usare xD
Reply
#6

Gracias parka creo que fuiste el ъnico que entendiste la idea
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)