Portal SAMP
[Ajuda] CMD ESMOLA - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] CMD ESMOLA (/showthread.php?tid=805)



CMD ESMOLA - Smith - 22/02/2021

galera estou tentando cria um sistema de esmola alguem pode me ajuda?
o codico conssiste em enviar uma menssage em dialog para a pessoa com valor pedido na esmola oque to quebrando a cabeça e oque vo coloca na response do dialog para o dinhero que o mendigo pediu va para ele se o player aceitar dar a esmola
Código:
CMD:esmola(playerid, params[])
{
new id, valor, str[256];
if(sscanf(params, "ui", id, valor)) return SendClientMessage(playerid, 0xFF0000AA, "|MGT|: Use: /Esmola [ID][Valor]");
format(str, sizeof(str), "O %s|%s esta pedindo %i $ de esmola", NomeOrg(playerid), pNome(playerid), valor);
ShowPlayerDialog(id, DIALOG_ESMOLA, DIALOG_STYLE_MSGBOX, "{00FF00}Mendigo{CCCCCC}", str, "Dar esmola", "Vai Cata Latinha");
Esmola[id] = valor;
format(str, sizeof(str), "Voce pediu esmola para %s|%s", NomeCargo(id), pNome(id), valor);
SendClientMessage(playerid, Cinza, str);
return 1;
}
oque coloco na responsse podem me ajudar
Código:
if(dialogid == DIALOG_ESMOLA){

if(response){

if(GetPlayerMoney(playerid) >= Esmola[playerid])
{
GivePlayerMoney(playerid, - Esmola[playerid]);
Esmola[playerid] = 0;
}
else
{
SendClientMessage(playerid, Vermelho, "Voce nao tem o valor da esmola para doar");
Esmola[playerid] = 0;
}

}
else
{

}

return true;
}



RE: CMD ESMOLA - Flenex - 22/02/2021

(22/02/2021 18:25)Smith Escreveu: galera estou tentando cria um sistema de esmola alguem pode me ajuda?
o codico conssiste em enviar uma menssage em dialog para a pessoa com valor pedido na esmola oque to quebrando a cabeça e oque vo coloca na response do dialog para o dinhero que o mendigo pediu va para ele se o player aceitar dar a esmola
Código:
CMD:esmola(playerid, params[])
{
new id, valor, str[256];
if(sscanf(params, "ui", id, valor)) return SendClientMessage(playerid, 0xFF0000AA, "|MGT|: Use: /Esmola [ID][Valor]");
format(str, sizeof(str), "O %s|%s esta pedindo %i $ de esmola", NomeOrg(playerid), pNome(playerid), valor);
ShowPlayerDialog(id, DIALOG_ESMOLA, DIALOG_STYLE_MSGBOX, "{00FF00}Mendigo{CCCCCC}", str, "Dar esmola", "Vai Cata Latinha");
Esmola[id] = valor;
format(str, sizeof(str), "Voce pediu esmola para %s|%s", NomeCargo(id), pNome(id), valor);
SendClientMessage(playerid, Cinza, str);
return 1;
}
oque coloco na responsse podem me ajudar
Código:
if(dialogid == DIALOG_ESMOLA){

if(response){

if(GetPlayerMoney(playerid) >= Esmola[playerid])
{
GivePlayerMoney(playerid, - Esmola[playerid]);
Esmola[playerid] = 0;
}
else
{
SendClientMessage(playerid, Vermelho, "Voce nao tem o valor da esmola para doar");
Esmola[playerid] = 0;
}

}
else
{

}

return true;
}

coloque no respose: 


Código PHP:
if(dialogid == DIALOG_ESMOLA) {
    if(
response) {
        if(
GetPlayerMoney(playerid) >= Esmola[playerid]) {
            
GivePlayerMoney(playerid, -Esmola[playerid]);
            
Esmola[playerid] = 0;
        }
        else {
            
SendClientMessage(playeridVermelho"Voce nao tem o valor da esmola para doar");
            
Esmola[playerid] = 0;
        }
    }
    else {        
        
SendClientMessage(playeridCinza"Você mandou o mendingo catar latinha");
    }

tente isso, ele não da o dinheiro para o mendigo, pq vc não colocou isso.


RE: CMD ESMOLA - Smith - 22/02/2021

(22/02/2021 20:15)Flenex Escreveu:
(22/02/2021 18:25)Smith Escreveu: galera estou tentando cria um sistema de esmola alguem pode me ajuda?
o codico conssiste em enviar uma menssage em dialog para a pessoa com valor pedido na esmola oque to quebrando a cabeça e oque vo coloca na response do dialog para o dinhero que o mendigo pediu va para ele se o player aceitar dar a esmola
Código:
CMD:esmola(playerid, params[])
{
new id, valor, str[256];
if(sscanf(params, "ui", id, valor)) return SendClientMessage(playerid, 0xFF0000AA, "|MGT|: Use: /Esmola [ID][Valor]");
format(str, sizeof(str), "O %s|%s esta pedindo %i $ de esmola", NomeOrg(playerid), pNome(playerid), valor);
ShowPlayerDialog(id, DIALOG_ESMOLA, DIALOG_STYLE_MSGBOX, "{00FF00}Mendigo{CCCCCC}", str, "Dar esmola", "Vai Cata Latinha");
Esmola[id] = valor;
format(str, sizeof(str), "Voce pediu esmola para %s|%s", NomeCargo(id), pNome(id), valor);
SendClientMessage(playerid, Cinza, str);
return 1;
}
oque coloco na responsse podem me ajudar
Código:
if(dialogid == DIALOG_ESMOLA){

if(response){

if(GetPlayerMoney(playerid) >= Esmola[playerid])
{
GivePlayerMoney(playerid, - Esmola[playerid]);
Esmola[playerid] = 0;
}
else
{
SendClientMessage(playerid, Vermelho, "Voce nao tem o valor da esmola para doar");
Esmola[playerid] = 0;
}

}
else
{

}

return true;
}

coloque no respose: 


Código PHP:
if(dialogid == DIALOG_ESMOLA) {
    if(
response) {
        if(
GetPlayerMoney(playerid) >= Esmola[playerid]) {
            
GivePlayerMoney(playerid, -Esmola[playerid]);
            
Esmola[playerid] = 0;
        }
        else {
            
SendClientMessage(playeridVermelho"Voce nao tem o valor da esmola para doar");
            
Esmola[playerid] = 0;
        }
    }
    else {        
        
SendClientMessage(playeridCinza"Você mandou o mendingo catar latinha");
    }

tente isso, ele não da o dinheiro para o mendigo, pq vc não colocou isso.


mis ja esta assim



RE: CMD ESMOLA - xbruno1000x - 22/02/2021

Use o GivePlayerMoney(playerid, -valor) para o donatário e o GivePlayerMoney(id, valor) para o mendigo. O ideal seria verificar a distância do mendigo pro outro player, para que os mendigos não fiquem floodando o comando em todos jogadores do server.


RE: CMD ESMOLA - Smith - 22/02/2021

(22/02/2021 20:48)xbruno1000x Escreveu: Use o GivePlayerMoney(playerid, -valor) para o donatário e o GivePlayerMoney(id, valor) para o mendigo. O ideal seria verificar a distância do mendigo pro outro player, para que os mendigos não fiquem floodando o comando em todos jogadores do server.

Código:
/*=================================| DIALOG ESMOLA |================================*/

if(dialogid == DIALOG_ESMOLA){

if(response){
ShowPlayerDialog(playerid, CONFIRMA_ESMOLA, DIALOG_STYLE_INPUT, "DAR ESMOLA", "Digite o (ID) do mendigo para confirmar a esmola", "Confirmar", "Vai cata latinha");
}
else
{
}

return true;
}

/*=================================| CONFIRMA_ESMOLA |================================*/

if(dialogid == CONFIRMA_ESMOLA){

if(response){

if(GetPlayerMoney(playerid) >= Esmola[playerid])
{
new id;
id = strval(inputtext);
GivePlayerMoney(playerid, - Esmola[playerid]);
GivePlayerMoney(id, + Esmola[playerid]);
Esmola[playerid] = 0;
}
else
{
SendClientMessage(playerid, Vermelho, "Voce nao tem o valor da esmola para doar");
Esmola[playerid] = 0;
}
eu nao estou consseguindo e manda o dinheiro para o mendigo tentei usar dessa forma mais da erro no 

Código:
new id;
id = strval(inputtext);


GivePlayerMoney(id, + Esmola[playerid]);//aqui da erro