SA-MP Forums Archive
[Duda] Comandos con sscanf2 - 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: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Comandos con sscanf2 (/showthread.php?tid=223487)



[Duda] Comandos con sscanf2 - Pepot - 09.02.2011

Hola amigos, me gustaria que me dierais comandos de admin pero con sscanf2
Esque eh probado con:

pawn Код:
dcmd_ban(playerid, params[])
{
    new
        id,
        reason[64];
    if (PlayerInfo[playerid][Admin] >= 3)
    {
    if (sscanf(params, "uz", id, reason)) SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/ban <playerid/partname> <reason (optional)>\"");
    else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
    else
    {
        BanEx(id, reason);
        format(reason, sizeof (reason), "%s Ha Sido Baneado Por el Administrador %s, %s %s.", id, nick(playerid), reason[0] ? (" Razуn: ") : (""), reason);
        MensajeTodos(0xFF0000AA, reason);
        Mensaje(playerid, 0x00FF00AA, "Jugador Baneado Correctamente.");
    }
    }
    return 1;
}

dcmd_kick(playerid, params[])
{
    new
        id,
        reason[64];
    if (PlayerInfo[playerid][Admin] >= 1)
    {
    if (sscanf(params, "dz", id, reason)) SendClientMessage(playerid, 0xFF0000AA, "Usa: \"/kick <playerid/partname> <reason (optional)>\"");
    else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Jugador desconectado!");
    else
    {
        Kick(id);
        format(reason, sizeof (reason), "%s Ha sido Kickeado Por el Administrador %s, %s %s.", id, nick(playerid), reason[0] ? (" Razуn: ") : (""), reason);
        MensajeTodos(0xFF0000AA, reason);
        Mensaje(playerid, 0x00FF00AA, "Jugador Kickeado.");
    }
    }
    return 1;
}
Y eh puesto en on player commandtext lo otro de dcmd(kick, etc);
Y no me iba, me salia Unknown Command :S

Saludos, ojala me ayuden.

P.D: Y si, soy admin :l


Respuesta: [Duda] Comandos con sscanf2 - TheChaoz - 09.02.2011

postea la definicion del cmd dentro de OnPlayerConnect. y si queres los codigos, va en pedidos.

aca te corrijo un toque el primer cmd
pawn Код:
dcmd_ban(playerid, params[])
{
    new id, reason[128];
    if (PlayerInfo[playerid][Admin] >= 3){
        if (sscanf(params, "uz", id, reason)) return SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/ban <playerid/partname> <reason (optional)>\"");
        SendClientMessage(playerid, 0xFF0000AA, "Player not found");
        BanEx(id, reason);
        format(reason, sizeof (reason), "%s Ha Sido Baneado Por el Administrador %s, %s %s.", id, nick(playerid), reason[0] ? (" Razуn: ") : (""), reason);
        MensajeTodos(0xFF0000AA, reason);
        Mensaje(playerid, 0x00FF00AA, "Jugador Baneado Correctamente.");
    }
    return 1;
}



Re: [Duda] Comandos con sscanf2 - MrDeath537 - 09.02.2011

Dirй algo;

Actualizate simio.

dcmd es muy lento, te recomiendo ZCMD o y_commands
sscanf versiуn stock es lento e inseguro, mejor el plugin de sscanf que es rбpido, tiene mбs caracterнsticas, y es mбs seguro.

Fuera de eso, te dejo el kick, y espero que puedas hacer el ban:



pawn Код:
CMD:kick(playerid, params[])
{
    if (PlayerInfo[playerid][Admin] < 3)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "No eres admin");
        return 1;
    }


    new
        szReason[128],
        iTarget
    ;

    if (!sscanf(params, "uS(No reason)[128]", iTarget, szReason))
    {
        SendClientMessage(iTarget, 0x00FF00FF, "Has sido kickeado, razуn:");
        SendClientMessage(iTarget, 0x00FF00FF, szReason);
        Kick(iTarget);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /kick <Jugador> <Razуn>");
        return 1;
    }


    return 1;
}

EDIT: Usбs el ternary operator y no podйs hacer un comando de kick/ban usando dcmd y sscanf o_o


Respuesta: [Duda] Comandos con sscanf2 - Pepot - 10.02.2011

Pff, yo no entiendo como mierda hacer ese tipo de comandos es lo malo, pero bueh, lo intentare

P.D: Y quiero que diga: "%s Ha Sido kickeado por el Administrador %s, Razуn: %s."


Respuesta: [Duda] Comandos con sscanf2 - TheChaoz - 10.02.2011

Quote:
Originally Posted by Pepot
Посмотреть сообщение
Pff, yo no entiendo como mierda hacer ese tipo de comandos es lo malo, pero bueh, lo intentare

P.D: Y quiero que diga: "%s Ha Sido kickeado por el Administrador %s, Razуn: %s."
usa format para eso. y como te dije antes
si queres codigos y q e lo hagan, va en pedidos.


Re: Respuesta: [Duda] Comandos con sscanf2 - MrDeath537 - 10.02.2011

Quote:
Originally Posted by Pepot
Посмотреть сообщение
Pff, yo no entiendo como mierda hacer ese tipo de comandos es lo malo, pero bueh, lo intentare

P.D: Y quiero que diga: "%s Ha Sido kickeado por el Administrador %s, Razуn: %s."
A mн me molesta bastante que tenйs un cуdigo que sacaste de algъn otro script, si no te compila, ni lo mirбs y pedнs ayuda en el foro. Si compila lo testйas y no funciona, pedнs ayuda en el foro sin siquiera haber mirado el cуdigo.
Por esa razуn cuando algo funciona y querйs agregarle algo, pedнs ayuda en el foro.

No digo que estй mal pedir ayuda en el foro, pero si estas sacando pedazitos de script de todos lados y despuйs querйs modificarlos/fixearlos/lo que sea, intentб hacerlo vos con un poco de esfuerzo, porque despuйs tu script va a terminar siendo una compilaciуn de pedazitos de scripts de otros scripts y el resto va a ser hecho con nuestra ayuda. їquй es lo divertido de tener un script asн?

Esta vez no tengo ganas de insultar ni nada de eso, ya que cuando lo hice la vez anterior me diу una infracciуn Zamaroht ( xD), pero sуlo te digo que intentes mirar un poco los scripts y entender como funcionan, para que de paso tambiйn aprendas un poco, cuando me iniciй en PAWN aprendн lo bбsico mirando los GMs que traнa el server de 0.2.2, asi que sн es posible arreglar/modificar un comando mirando como funciona un ejemplo que te dieron.


Un saludo.