[Ajuda] Problema com comando /Transferir
#1

Meu comando :
pawn Код:
CMD:transferir(playerid, params[])
{
new giveid, value, str[128], Nome1[MAX_PLAYER_NAME];
if(sscanf(params, "ui", giveid, value))
return SendClientMessage(playerid, Amarelo, "Use: /transferir [ID do jogador] [Quantia]");
if (GetPlayerMoney(playerid) < value)
return SendClientMessage(playerid, Vermelho, "Voce nгo tem esse dinheiro!");
GivePlayerMoney(playerid, -value);
GivePlayerMoney(giveid, value);
GetPlayerName(giveid, Nome1, MAX_PLAYER_NAME);
format(str,128,"Voce transferiu $%d para %s !", value, Nome1);
SendClientMessage(playerid, Amarelo, str);
GetPlayerName(playerid, Nome1, MAX_PLAYER_NAME);
format(str,128,"%s transferiu $%d para voce !", Nome1, value);
SendClientMessage(giveid, Amarelo, str);
return 1;
}
se eu por /transferir [meu id] [quantia que eu quiser]

queria por assim se eu por : /transferir [meu id] [quantia que eu quiser]
gostaria que aparecer assim : voce nao pode transferir dinheiro para voce mesmo !

e tambem gostaria que se o player da : /transferir [id do player] [quantia 0]
aparecer assim : Digite uma quantia a ser transferida !


alguem me ajuda ? dou +rep para quem ajudar !
Reply
#2

Faзa a verificaзгo de nъmeros.
O playerid й como uma variбvel que armazena um valor, que й seu id. E no seu comando a variбvel giveid armazena o id do jogador digitado.
Entгo й sу verificar se o id do jogador que usou o comando й igual ao id digitado.
Exemplo:
pawn Код:
new variavel1 = 5; //crie uma variбvel e jб setei o valor 5
new variavel2 = 6; //crie uma variбvel e jб setei o valor 6
if(variavel1 == variavel2) return print("O valor da variбvel 1 й igual ao valor da variбvel 2");
// ele verifica se o valor da variбvel 1 й igual a da variбvel 2 e se for igual ele retorna enviando a mensagem no console.
//E seria mesmo que:
if(if(5 == 6) return print("5 й igual a 6");
Reply
#3

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Faзa a verificaзгo de nъmeros.
O playerid й como uma variбvel que armazena um valor, que й seu id. E no seu comando a variбvel giveid armazena o id do jogador digitado.
Entгo й sу verificar se o id do jogador que usou o comando й igual ao id digitado.
Exemplo:
pawn Код:
new variavel1 = 5; //crie uma variбvel e jб setei o valor 5
new variavel2 = 6; //crie uma variбvel e jб setei o valor 6
if(variavel1 == variavel2) return print("O valor da variбvel 1 й igual ao valor da variбvel 2");
// ele verifica se o valor da variбvel 1 й igual a da variбvel 2 e se for igual ele retorna enviando a mensagem no console.
//E seria mesmo que:
if(if(5 == 6) return print("5 й igual a 6");
Amigo nao entendi muito poderia me explicar mais ?

Fiz assim meu comando :
pawn Код:
new valor1 = playerid;
new valor2 = playerid;
new giveid, value, str[128], Nome1[MAX_PLAYER_NAME];
if(sscanf(params, "ui", giveid, value))
return SendClientMessage(playerid, Amarelo, "Use: /transferir [ID do jogador] [Quantia]");
if (GetPlayerMoney(playerid) < value)
return SendClientMessage(playerid, Vermelho, "Voce nгo tem esse dinheiro!");
if(valor1 == valor2) return SendClientMessage(playerid, Vermelho, "Voce nao pode transferir dinheiro a voce mesmo !");
GivePlayerMoney(playerid, -value);
GivePlayerMoney(giveid, value);
GetPlayerName(giveid, Nome1, MAX_PLAYER_NAME);
format(str,128,"Voce transferiu $%d para %s !", value, Nome1);
SendClientMessage(playerid, Amarelo, str);
GetPlayerName(playerid, Nome1, MAX_PLAYER_NAME);
format(str,128,"%s transferiu $%d para voce !", Nome1, value);
SendClientMessage(giveid, Amarelo, str);
return 1;
}
esta correto ?
Reply
#4

O id dos jogadores ficam armazenadas em playerid, mas com isso eu nгo poderia ver o id de outros jogadores.
Entгo no cуdigo acima vocк tem que verificar se o id do jogador que usou o comando й o mesmo do id digitado que й armazenado na variбvel giveid no seu comando.
Entгo eu verifico se player id й igual a variбvel do jogador que eu digitei o id.
Vamos dizer que a variбvel playerid estб armazenando o valor 5, e o o giveid armazena o valor 10.
Como verifico se 5 й igual a 10?
Simples eu uso se(if) e o operador ==.
Ficando:
pawn Код:
if(5 == 10)
Ai й sу retornar a alguma funзгo se 5 for igual a 10.
A duas formas de retornar:
pawn Код:
if(5 == 10) return Funзгo...
pawn Код:
if(5 == 10)
{
    Funзгo..
}
Entгo й sу fazer a verificaзгo de player id й igual a giveid e se for retornar a alguma funзгo.

@Edit
Й da forma que o iTzDemon respondeu aqui embaixo. Sу nгo de dei o cуdigo, porque queria que vocк aprende-se a verificar se uma variбvel й igual a outra.
Reply
#5

basta adicionares isso. Existe tutos aqui no forum que te pode ajudar muito.
pawn Код:
if(giveid == playerid) return SendClientMessage(playerid,-1,"Erro: nao podes transferir para ti");
Reply
#6

Quote:
Originally Posted by iTzDemon
Посмотреть сообщение
basta adicionares isso. Existe tutos aqui no forum que te pode ajudar muito.
pawn Код:
if(giveid == playerid) return SendClientMessage(playerid,-1,"Erro: nao podes transferir para ti");
Hum obrigado por me ajudar darei rep para os 2
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)