[Ajuda] Sobre ShowPlayerDialog
#2

voce pode fazeer de duas formas! Variavel global ou variavel do player! a diferenзa й que a global fica salva na memoria do servidor, enquanto a do player fica na memoria do player
vou dar os dois exemplos

pawn Код:
//coloque isto no topo do GM depois das include e dos #define
new plyvende[MAX_PLAYERS];



CMD:verderak(playerid, params[])
{
    new idP;

    if(sscanf(params, "i", idP)) return SCM(playerid, -1,"{F40000}››{FFFFFF} Uso correto: /venderak [id]");

    if(plyvende[idP] != INVALID_PLAYER_ID) return SCM(playerid, -1,"Esse player ja tem uma oferta!");

    format(formato, sizeof(formato),"{FFFFFF}%s estб lhe vendendo uma Ak-47 pelo valor de R$1000, aceitar?", VerNome(playerid));
    ShowPlayerDialog(idP, 658, DIALOG_STYLE_MSGBOX, "Venda de Arma", formato, "Aceitar", "Cancelar");
    plyvende[idP] = playerid;
    return 1;
}

if(dialogid == 658) // Venda de Armas
{
    if(response)
    {
        SCM(playerid, 0x6895FFAA,"Vocк aceitou comprar uma Ak47 pelo preзo de R$1000.");
        GivePlayerWeapon(playerid, 30, 1000);
        GivePlayerMoney(plyvende[playerid], 1000);
        GivePlayerMoney(playerid, - 1000);
        plyvende[playerid] = INVALID_PLAYER_ID;
    }
    else
    {
        SCM(playerid, -1,"Vocк recusou a oferta ilegal de arma.");
    }
}


//ou

//voce tem de colocar isso em OnPlayerConnect porque a funcao GetPVarInt quando nao tem um valor atribuido retorna a 0, mas no caso, 0 й o id do primeiro player, entao nao funcionaria corretamente!

SetPVarInt(playerid,"plyvende",INVALID_PLAYER_ID);



CMD:verderak(playerid, params[])
{
    new idP;

    if(sscanf(params, "i", idP)) return SCM(playerid, -1,"{F40000}››{FFFFFF} Uso correto: /venderak [id]");

    if(GetPVarInt(idP,"plyvende") != INVALID_PLAYER_ID) return SCM(playerid, -1,"Esse player ja tem uma oferta!");

    format(formato, sizeof(formato),"{FFFFFF}%s estб lhe vendendo uma Ak-47 pelo valor de R$1000, aceitar?", VerNome(playerid));
    ShowPlayerDialog(idP, 658, DIALOG_STYLE_MSGBOX, "Venda de Arma", formato, "Aceitar", "Cancelar");
    SetPVarInt(idP,"plyvende",playerid);
    return 1;
}

if(dialogid == 658) // Venda de Armas
{
    if(response)
    {
        SCM(playerid, 0x6895FFAA,"Vocк aceitou comprar uma Ak47 pelo preзo de R$1000.");
        GivePlayerWeapon(playerid, 30, 1000);
        GivePlayerMoney(GetPVarInt(playerid,"plyvende"), 1000);
        GivePlayerMoney(playerid, - 1000);
        SetPVarInt(playerid,"plyvende",INVALID_PLAYER_ID);
    }
    else
    {
        SCM(playerid, -1,"Vocк recusou a oferta ilegal de arma.");
    }
}
outra coisa, voce estava mostrando a dialog para o player que digita o comando
Reply


Messages In This Thread
Sobre ShowPlayerDialog - by Ley - 02.08.2013, 06:44
Respuesta: Sobre ShowPlayerDialog - by DartakousLien - 02.08.2013, 09:52

Forum Jump:


Users browsing this thread: 1 Guest(s)