CMD:dardinheiro(playerid,params[])
{
new id,
qt,
acstr[100]
;
if(sscanf(params,"dd",id,qt)) return SendClientMessage(playerid,cor_vermelho,"Erro: /dardinheiro [playerid] [quantia]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,cor_vermelho,"Erro: PlayerID desconectado!");
if(GetPlayerMoney(playerid) < qt) return SendClientMessage(playerid,cor_vermelho,"Erro: Vocк nгo tem dinheiro suficiente.");
if(id == playerid) return SendClientMessage(playerid,cor_vermelho,"Erro: Vocк nгo pode enviar dinheiro para vocк mesmo.");
GivePlayerMoney(id,qt);
GivePlayerMoney(playerid,-qt);
format(acstr,sizeof(acstr),"Vocк recebeu %d$ de %s(%d)",qt,nome(playerid),playerid);
SendClientMessage(id,cor_amarelo,acstr);
format(acstr,sizeof(acstr),"Vocк enviou %d$ para %s(%d)",qt,nome(id),id);
SendClientMessage(playerid,cor_amarelo,acstr);
return 1;
}
opa , ta acontecendo um bug muito cabuloso no meu servidor , tipo do nada й setado money maximo para o player , eu jб verifiquei todos os "GivePlayerMoney" e "GetPlayerMoney" , ainda nгo consequir achar...
ai fiquei pensando... sйra que pode ser esse comando: pawn Код:
|
'-' isso й um comando de dar dinheiro de player para player '-'
|
Realmente o comando estб ok.
Deve ser outra coisa .. Recomendo anбlisar os salvamentos, eles podem estar com defeito, ou em determinado momento, o player comeзa a receber o give player money toda hora.. Atenciosamente, |
COMMAND:dardinheiro(playerid, params[])
{
new Msg[128], Name[24], OtherName[24], OtherPlayer, Money;
// Send the command to all admins so they can see it
SendAdminText(playerid, "/dardinheiro", params);
// Check if the player has logged in
if (APlayerData[playerid][LoggedIn] == true)
{
if (sscanf(params, "ui", OtherPlayer, Money)) SendClientMessage(playerid, 0xFF0000AA, "Use: /dardinheiro [id] [quantia]");
else
{
// Check if the otherplayer is online
if (IsPlayerConnected(OtherPlayer))
{
// Get the player-names
GetPlayerName(playerid, Name, sizeof(Name));
GetPlayerName(OtherPlayer, OtherName, sizeof(OtherName));
// Check if the money has a positive value (to prevent stealing money using negative values)
if (Money > 0)
{
// Check if the player has enough money
if (APlayerData[playerid][PlayerMoney] >= Money)
{
// Transfer the money
RewardPlayer(playerid, -Money, 0);
RewardPlayer(OtherPlayer, Money, 0);
// Let the other player know that he has received money
format(Msg, 128, "{00FF00}Voce recebeu {FFFF00}R$%i{00FF00} de {FFFF00}%s.", Money, Name);
SendClientMessage(OtherPlayer, 0xFFFFFFFF, Msg);
// Let the player know he gave money to somebody else
format(Msg, 128, "{00FF00}Voce deu {FFFF00}R$%i{00FF00} para {FFFF00}%s.", Money, OtherName);
SendClientMessage(playerid, 0xFFFFFFFF, Msg);
// Save the player-stats
PlayerFile_Save(playerid);
PlayerFile_Save(OtherPlayer);
}
else
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Voce nao tem dinheiro suficiente.");
}
else
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Voce deve usar valores maiores que 0.");
}
else
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Esse jogador nao esta online.");
}
}
else
return 0;
// Let the server know that this was a valid command
return 1;
}