[Ajuda] Comando e aceitar com uma dialog
#1

Comando interativo com dialog
Tipo eu dou o comando pro cara e ele pode aceitar ou nгo com aqueles dialogs q tem em varios svs, como faz?
pawn Код:
CMD:vendercarro(playerid, params[]) {
        new valor;
        if(sscanf(params,"ui", valor)) {
            SendClientMessage(playerid, -1, "Use: /vendercarro [player-id] [price]");
            return 1;
        }
        // Mandar um dialog pro cara, vc aceita essa parada? Sim, Nгo!
    }
Reply
#2

Quote:
Originally Posted by oliverarrow
Посмотреть сообщение
Comando interativo com dialog
Tipo eu dou o comando pro cara e ele pode aceitar ou nгo com aqueles dialogs q tem em varios svs, como faz?
pawn Код:
CMD:vendercarro(playerid, params[]) {
        new valor;
        if(sscanf(params,"ui", valor)) {
            SendClientMessage(playerid, -1, "Use: /vendercarro [player-id] [price]");
            return 1;
        }
        // Mandar um dialog pro cara, vc aceita essa parada? Sim, Nгo!
    }
Sу vocк usar PVars.. Por exemplo:

pawn Код:
YCMD:vendercarro(playerid, params[], help)
{
    new id, valor;
    if(sscanf(params, "ui", id, valor)) return SendClientMessage(playerid, -1, "Uso: /vendercarro [id] [valor]");
    if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Jogador nгo conectado ou invбlido.");
    if(valor < 0 || valor > 500000) return SendClientMessage(playerid, -1, "Use valores entre 0 - 500000");
    SetPVarInt(id, "playerid", playerid);
    SetPVarInt(id, "valor", valor);
    ShowPlayerDialog(id, /*DialogoIDAqui*/, DIALOG_STYLE_MSGBOX, "Vender", "O Jogador estб oferecendo um carro para vocк, deseja aceitar?", "Sim", "Nгo");
    return 1;
}

//No Dialogo

if(!response)//se ele apertar nгo
{
    SendClientMessage(GetPVarInt(playerid, "playerid"), -1, "Ele recusou o seu carro.");
}
if(response)//se ele apertar sim
{
    SendClientMessage(GetPVarInt(playerid, "playerid"), -1, "Ele aceitou o seu carro.");
    GivePlayerMoney(playerid, -GetPVarInt(playerid, "valor");
    GivePlayerMoney(GetPVarInt(playerid, "playerid"), GetPVarInt(playerid, "valor");
}

Sу pegar como base...
Reply
#3

Erros
pawn Код:
GivePlayerMoney(playerid, -GetPVarInt(playerid, "valor"); // error 001: expected token: ",", but found ";"
            GivePlayerMoney(GetPVarInt(playerid, "playerid"), GetPVarInt(playerid, "valor"); // error 001: expected token: ",", but found ";"
Essa seria melhor forma de fazer isso? Pesquisei sobre Pvars e sу me falaram mal e pra eu nгo usar!

https://sampforum.blast.hk/showthread.php?tid=373326
Reply
#4

Quote:
Originally Posted by oliverarrow
Посмотреть сообщение
Erros
pawn Код:
GivePlayerMoney(playerid, -GetPVarInt(playerid, "valor"); // error 001: expected token: ",", but found ";"
            GivePlayerMoney(GetPVarInt(playerid, "playerid"), GetPVarInt(playerid, "valor"); // error 001: expected token: ",", but found ";"
Essa seria melhor forma de fazer isso? Pesquisei sobre Pvars e sу me falaram mal e pra eu nгo usar!

https://sampforum.blast.hk/showthread.php?tid=373326
Altera essas linhas para:
pawn Код:
GivePlayerMoney(playerid, -GetPVarInt(playerid, "valor")); // error 001: expected token: ",", but found ";"
            GivePlayerMoney(GetPVarInt(playerid, "playerid"), GetPVarInt(playerid, "valor")); // error 001: expected token: ",", but found ";"
Ele sу esqueceu uns ), nada demais...

Nesse caso, nгo tem a necessidade de armazenar o id do player. Portando SetPVarInt(id, "playerid", playerid); й desnecessбrio.
Mas vale lembrar que ele fez apenas uma base e sobre a sua pergunta, as Pvars sгo bem mais lentas, contudo, em eventos simples como esse o uso se encaixa bem.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)