[Ayuda] Con comando (parametros)
#1

Saludos, alguien me puede decir y corregir porque este comando no me sirve? Cuando intento usar el comando no me sale nada.. solo si uso /vender crack me sale "Uso: /vender crack [id] [cantidad] [precio]" pero si pongo la cantidad y el precio no me sale nada ni un mensaje, ni al otro jugador.. espero y me puedan ayudar.

pawn Код:
CMD:vender(playerid, params[])
{
    new string2[128];
    new msg[128];
    new cmdid;
    new cantidad;
    new precio;
    new string[128];
    new name[24];
    GetPlayerName(playerid, name, 24);

    if(isnull(params))
    {
        return SendClientMessage(playerid, -1, "Uso: /vender [crack]");
    }

    if(!strcmp(params, "crack", true))
    {
            if(sscanf(params, "s[20]ud[10]d[10]", params, cmdid,cantidad,precio)) return SendClientMessage(playerid,-1,"Uso: /vender crack [id] [cantidad] [precio]");
            if(cmdid == playerid) return SendClientMessage(playerid,-1,"No puedes venderte a ti mismo.");
            if(IsPlayerNPC(cmdid)) return SendClientMessage(playerid, COLOR_ROJO, "Esa id es de un NPC!");
            if(!IsPlayerConnected(cmdid) || cmdid == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ID Invalido.");
            new Float:Pos[3];
            GetPlayerPos(cmdid, Pos[0], Pos[1], Pos[2]);
            if(!IsPlayerInRangeOfPoint(playerid, 6.0, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid,-1,"Esta persona esta muy lejos.");
            if(Informacion[playerid][Crack] < cantidad) return SendClientMessage(playerid,-1,"No tienes suficiente crack para vender");
            if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"Necesitas estar afuera del vehiculo.");
            new oname[MAX_PLAYER_NAME];
            GetPlayerName(cmdid, oname, sizeof(oname));
        {
            format(msg, sizeof(msg), "Le as ofrecido %i gramo(s) de crack a %s por el precio de $%i.",cantidad,oname,precio);
                    print(string);
            Teofrecieron[cmdid] = 1;
            SetPVarInt(cmdid, "Persona", playerid);
            SetPVarInt(cmdid, "Cantidad", cantidad);
            SetPVarInt(cmdid, "Precio", precio);
            format(string2, sizeof(string2), "%s te a ofrecido %i gramo(s) de crack por $%i. Usa /aceptar crack si aceptas.", name,cantidad,precio);
        }
        SendClientMessage(playerid,-1, msg);
        SendClientMessage(cmdid,-1, string2);
}

    return 1;
}
Gracias de antemano.
Reply
#2

pawn Код:
CMD:vender(playerid, params[])
{
    new string[144], option[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    if(sscanf(params, "s[128]", option)) return SendClientMessage(playerid, -1, "/vender (opciones: crack).");

    if(strcmp(option, "crack", true) == 0)
    {
        if(sscanf(params, "{s}uii", cmdid, cantidad, precio)) return SendClientMessage(playerid,-1,"Uso: /vender crack [id] [cantidad] [precio]");

        if(cmdid == playerid) return SendClientMessage(playerid,-1,"No puedes venderte a ti mismo.");
        if(IsPlayerNPC(cmdid)) return SendClientMessage(playerid, COLOR_ROJO, "Esa id es de un NPC!");
        if(!IsPlayerConnected(cmdid) || cmdid == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ID Invalido.");
        new Float:Pos[3];
        GetPlayerPos(cmdid, Pos[0], Pos[1], Pos[2]);
        if(!IsPlayerInRangeOfPoint(playerid, 6.0, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid,-1,"Esta persona esta muy lejos.");
        if(Informacion[playerid][Crack] < cantidad) return SendClientMessage(playerid,-1,"No tienes suficiente crack para vender");
        if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"Necesitas estar afuera del vehiculo.");
        new oname[MAX_PLAYER_NAME];
        GetPlayerName(cmdid, oname, sizeof(oname));
        format(msg, sizeof(msg), "Le as ofrecido %i gramo(s) de crack a %s por el precio de $%i.",cantidad,oname,precio);
        print(string);
        Teofrecieron[cmdid] = 1;
        SetPVarInt(cmdid, "Persona", playerid);
        SetPVarInt(cmdid, "Cantidad", cantidad);
        SetPVarInt(cmdid, "Precio", precio);
        format(string2, sizeof(string2), "%s te a ofrecido %i gramo(s) de crack por $%i. Usa /aceptar crack si aceptas.", name,cantidad,precio);
        SendClientMessage(playerid,-1, msg);
        SendClientMessage(cmdid,-1, string2);
    }
    else SendClientMessage(playerid, -1, "Opcion invalida!");
    return 1;
}
Reply
#3

no sirve man, pongo la cantidad y el precio y me sale "Opcion invalida!"
Reply
#4

Quote:
Originally Posted by JGomez97
Посмотреть сообщение
no sirve man, pongo la cantidad y el precio y me sale "Opcion invalida!"
Prueba esto:
pawn Код:
CMD:vender(playerid, params[])
{
    new string[144], option[128], null name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    if(sscanf(params, "s[128]i", option, null)) return SendClientMessage(playerid, -1, "/vender (opciones: crack).");

    if(strcmp(option, "crack", true) == 0)
    {
        if(sscanf(params, "{s}uii", cmdid, cantidad, precio)) return SendClientMessage(playerid,-1,"Uso: /vender crack [id] [cantidad] [precio]");

        if(cmdid == playerid) return SendClientMessage(playerid,-1,"No puedes venderte a ti mismo.");
        if(IsPlayerNPC(cmdid)) return SendClientMessage(playerid, COLOR_ROJO, "Esa id es de un NPC!");
        if(!IsPlayerConnected(cmdid) || cmdid == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ID Invalido.");
        new Float:Pos[3];
        GetPlayerPos(cmdid, Pos[0], Pos[1], Pos[2]);
        if(!IsPlayerInRangeOfPoint(playerid, 6.0, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid,-1,"Esta persona esta muy lejos.");
        if(Informacion[playerid][Crack] < cantidad) return SendClientMessage(playerid,-1,"No tienes suficiente crack para vender");
        if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"Necesitas estar afuera del vehiculo.");
        new oname[MAX_PLAYER_NAME];
        GetPlayerName(cmdid, oname, sizeof(oname));
        format(msg, sizeof(msg), "Le as ofrecido %i gramo(s) de crack a %s por el precio de $%i.",cantidad,oname,precio);
        print(string);
        Teofrecieron[cmdid] = 1;
        SetPVarInt(cmdid, "Persona", playerid);
        SetPVarInt(cmdid, "Cantidad", cantidad);
        SetPVarInt(cmdid, "Precio", precio);
        format(string2, sizeof(string2), "%s te a ofrecido %i gramo(s) de crack por $%i. Usa /aceptar crack si aceptas.", name,cantidad,precio);
        SendClientMessage(playerid,-1, msg);
        SendClientMessage(cmdid,-1, string2);
    }
    else SendClientMessage(playerid, -1, "Opcion invalida!");
    return 1;
}
Reply
#5

Ahora si, muchas gracias.
Reply
#6

їPodria utilizar el comando en mi GM? si no es mucha molestia...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)