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(playerid, Vermelho, "Voce nao tem o valor da esmola para doar"); Esmola[playerid] = 0; } } else { SendClientMessage(playerid, Cinza, "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(playerid, Vermelho, "Voce nao tem o valor da esmola para doar"); Esmola[playerid] = 0; } } else { SendClientMessage(playerid, Cinza, "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
|