[Ajuda] Funзхes nгo sгo executadas
#1

Estou fazendo um sistema de drogas, porйm as funзхes que estгo dentro do check de paramentros nгo estб executando... O que pode ser?

pawn Код:
CMD:vender(playerid, params[])
{
    new droga[9], id, quantia, preco;
    if(sscanf(params, "u[9]ddd", droga, id, quantia, preco)) return SendClientMessage(playerid, COR_USOCORRETO, "Uso correto: /vender [maconha/cocaina] [id do player] [quantia] [preзo]");

    if(quantia < 1 || quantia > 99)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Venda somente atй 100 gramas.");

    if(preco < 1 || preco > 300)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Preзo minimo de 1 e mбximo 300.");

    //if(id == playerid)
    //  return SendClientMessage(playerid, COR_ERRO, "ERRO: Nгo pode vender para vocк mesmo!");
       
    if(strcmp(droga, "maconha", true)==0)
    {
        // Aqui nгo executa
        if(quantia > PlayerInfo[playerid][Maconha])
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de maconha por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de maconha por R$%d, para comprar use: /aceitar [maconha]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
    }
   
    if(strcmp(droga, "cocaina", true)==0)
    {
         // Aqui nгo executa
        if(quantia > PlayerInfo[playerid][Cocaina])
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de cocaina por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de cocaina por R$%d, para comprar use: /aceitar [cocaina]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
    }
    return 1;
}
Reply
#2

Tenta Ae Lek:

pawn Код:
CMD:vender(playerid, params[])
{
    new droga[9], id, quantia, preco;
    if(sscanf(params, "u[9]ddd", droga, id, quantia, preco)) return SendClientMessage(playerid, COR_USOCORRETO, "Uso correto: /vender [maconha/cocaina] [id do player] [quantia] [preзo]");

    if(quantia < 1 || quantia > 99)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Venda somente atй 100 gramas.");

    if(preco < 1 || preco > 300)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Preзo minimo de 1 e mбximo 300.");

    //if(id == playerid)
    //  return SendClientMessage(playerid, COR_ERRO, "ERRO: Nгo pode vender para vocк mesmo!");

    if(strcmp(droga, "maconha", true) == 0 )
    {
        // Aqui nгo executa
        if(quantia > PlayerInfo[playerid][Maconha])
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de maconha por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de maconha por R$%d, para comprar use: /aceitar [maconha]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
       
        return true;
    }

    if(strcmp(droga, "cocaina", true)==0)
    {
         // Aqui nгo executa
        if(quantia > PlayerInfo[playerid][Cocaina])
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de cocaina por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de cocaina por R$%d, para comprar use: /aceitar [cocaina]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
       
        return true;
    }
    return 1;
}
Reply
#3

Quote:
Originally Posted by iDreak
Посмотреть сообщение
Tenta Ae Lek:

pawn Код:
CMD:vender(playerid, params[])
{
    new droga[9], id, quantia, preco;
    if(sscanf(params, "u[9]ddd", droga, id, quantia, preco)) return SendClientMessage(playerid, COR_USOCORRETO, "Uso correto: /vender [maconha/cocaina] [id do player] [quantia] [preзo]");

    if(quantia < 1 || quantia > 99)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Venda somente atй 100 gramas.");

    if(preco < 1 || preco > 300)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Preзo minimo de 1 e mбximo 300.");

    //if(id == playerid)
    //  return SendClientMessage(playerid, COR_ERRO, "ERRO: Nгo pode vender para vocк mesmo!");

    if(strcmp(droga, "maconha", true) == 0 )
    {
        // Aqui nгo executa
        if(quantia > PlayerInfo[playerid][Maconha])
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de maconha por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de maconha por R$%d, para comprar use: /aceitar [maconha]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
       
        return true;
    }

    if(strcmp(droga, "cocaina", true)==0)
    {
         // Aqui nгo executa
        if(quantia > PlayerInfo[playerid][Cocaina])
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de cocaina por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de cocaina por R$%d, para comprar use: /aceitar [cocaina]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
       
        return true;
    }
    return 1;
}
Mesmo jeito, jб tinha tentado por return ali '-'
Reply
#4

Tentou retirar?

pawn Код:
if(quantia > PlayerInfo[playerid][Maconha])
          return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");
Reply
#5

Quote:
Originally Posted by Baiano
Посмотреть сообщение
Tentou retirar?

pawn Код:
if(quantia > PlayerInfo[playerid][Maconha])
          return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");
Jб tinha feito isso tambйm e nгo resultou em nada
Reply
#6

por vezes ao brincar com as coisas da, testa ae

pawn Код:
CMD:vender(playerid, params[])
{
    new droga[9], id, quantia, preco;
    if(sscanf(params, "u[9]ddd", droga, id, quantia, preco)) return SendClientMessage(playerid, COR_USOCORRETO, "Uso correto: /vender [maconha/cocaina] [id do player] [quantia] [preзo]");

    if(quantia < 1 || quantia > 99)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Venda somente atй 100 gramas.");

    if(preco < 1 || preco > 300)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Preзo minimo de 1 e mбximo 300.");

    //if(id == playerid)
    //  return SendClientMessage(playerid, COR_ERRO, "ERRO: Nгo pode vender para vocк mesmo!");
       
    if(strcmp(droga, "maconha", true)==0)
    {
        new testept = PlayerInfo[playerid][Maconha];
        if(quantia > testept)
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de maconha por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de maconha por R$%d, para comprar use: /aceitar [maconha]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
    }
   
    if(strcmp(droga, "cocaina", true)==0)
    {
        new testept2 = PlayerInfo[playerid][Cocaina];
        if(quantia > testept2)
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de cocaina por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de cocaina por R$%d, para comprar use: /aceitar [cocaina]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by PT
Посмотреть сообщение
por vezes ao brincar com as coisas da, testa ae

pawn Код:
CMD:vender(playerid, params[])
{
    new droga[9], id, quantia, preco;
    if(sscanf(params, "u[9]ddd", droga, id, quantia, preco)) return SendClientMessage(playerid, COR_USOCORRETO, "Uso correto: /vender [maconha/cocaina] [id do player] [quantia] [preзo]");

    if(quantia < 1 || quantia > 99)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Venda somente atй 100 gramas.");

    if(preco < 1 || preco > 300)
        return SendClientMessage(playerid, COR_ERRO, "ERRO: Preзo minimo de 1 e mбximo 300.");

    //if(id == playerid)
    //  return SendClientMessage(playerid, COR_ERRO, "ERRO: Nгo pode vender para vocк mesmo!");
       
    if(strcmp(droga, "maconha", true)==0)
    {
        new testept = PlayerInfo[playerid][Maconha];
        if(quantia > testept)
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de maconha por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de maconha por R$%d, para comprar use: /aceitar [maconha]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
    }
   
    if(strcmp(droga, "cocaina", true)==0)
    {
        new testept2 = PlayerInfo[playerid][Cocaina];
        if(quantia > testept2)
            return SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo possui essa quantidade de droga com vocк!");

        SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de cocaina por R$%d", id, quantia, preco);
        SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de cocaina por R$%d, para comprar use: /aceitar [cocaina]", playerid, quantia, preco);
        CocainaOferecer[id] = playerid;
        CocainaPreco[id] = preco;
        CocainaGrama[id] = quantia;
    }
    return 1;
}
Acho que vocк nгo entendeu PT, a parte de checkar se tem a quantidade de drogas estб correta, agora esse resto nгo й executado, nem com a maconha e nem com a cocaina:

pawn Код:
SendFormattedMessage(playerid, COR_PRINCIPAL, "Vocк ofereceu a %s, %d gramas de cocaina por R$%d", id, quantia, preco);
SendFormattedMessage(id, COR_PRINCIPAL, "%s ofereceu a vocк %d gramas de cocaina por R$%d, para comprar use: /aceitar [cocaina]", playerid, quantia, preco);
CocainaOferecer[id] = playerid;
CocainaPreco[id] = preco;
CocainaGrama[id] = quantia;
Reply
#8

Faзa com o prуprio params , isso nгo й sub comandos que vocк quer?
Reply
#9

pawn Код:
if(sscanf(params, "u[9]ddd", droga, id, quantia, preco))
Nao me parece certo, ali onde ta o "u" nao deveria ser "s" ?
Reply
#10

Quote:
Originally Posted by andreasbleck
Посмотреть сообщение
pawn Код:
if(sscanf(params, "u[9]ddd", droga, id, quantia, preco))
Nao me parece certo, ali onde ta o "u" nao deveria ser "s" ?
Era isso mesmo, nem tinha notado
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)