[Ajuda] Comando retorna valor errado
#1

Olб galera do fуrum, queria a ajuda de vocкs com um comando.

Estou tendo um problema com um comando para pegar certa quantidade de pontos, porйm acontece isso





Comando:
pawn Код:
CMD:pegarpontos(playerid, params[])
{
    new quantidade;
    if(sscanf(params, "u", quantidade)) return SendClientMessage(playerid, -1, "[ERRO]Use /pegarpontos [Pontos]");
    if ((quantidade < 0) && (quantidade > 23) && (quantidade == 23)) return SendClientMessage(playerid, -1, "[ERRO]A quantida de pontos tem quer ser no mбximo 23!");
    if(quantidade < 22) return AData[Carteira] = false;
    AData[Pontos] = quantidade;
    format(String, sizeof(String), "Vocк pegou %d pontos", quantidade);
    SendClientMessage(playerid, -1, String);
    format(String, sizeof(String), "O player %s estб agora com %d pontos!", Nome(playerid), AData[Pontos]);
    SendClientMessageToAll(-1, String);
    AData[Carteira] = true;
    return 1;
}
Serб que vocкs poderiam me ajudar?
Reply
#2

PHP код:
if(sscanf(params"d"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]"); 
Reply
#3

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
PHP код:
if(sscanf(params"d"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]"); 
Nгo funciona, sempre que coloco "d" para armazenar o valor da variбvel, o servidor retorna o comando como nгo existente.
Reply
#4

PHP код:
if(sscanf(params"i"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]"); 
Entгo coloque "i" que tem a mesma funзгo do "d".

Quando vocк utiliza "u", significa que vocк quer pegar nome ou ID do jogador.
Reply
#5

Quote:
Originally Posted by Gguiz
Посмотреть сообщение
PHP код:
if(sscanf(params"i"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]"); 
Entгo coloque "i" que tem a mesma funзгo do "d".

Quando vocк utiliza "u", significa que vocк quer pegar nome ou ID do jogador.
Eu nгo sabia que "u" tambйm era pra armazenar caracteres nominais tambйm, pensei que fosse somente "s".

@OnToppic
Ainda continua retornando como se o comando nгo existisse.
Reply
#6

Quote:
Originally Posted by DarthVeider
Посмотреть сообщение
Eu nгo sabia que "u" tambйm era pra armazenar caracteres nominais tambйm, pensei que fosse somente "s".

@OnToppic
Ainda continua retornando como se o comando nгo existisse.
Код:
Specifier(s)			Name				Example values
	i, d			Integer				1, 42, -10
	c			Character			a, o, *
	l			Logical				true, false
	b			Binary				01001, 0b1100
	h, x			Hex				1A, 0x23
	o			Octal				045 12
	n			Number				42, 0b010, 0xAC, 045
	f			Float				0.7, -99.5
	g			IEEE Float			0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
	u			User name/id (bots and players)	******, 0
	q			Bot name/id			ShopBot, 27
	r			Player name/id			******, 42
@Topic

No caso, quando vocк utiliza o comando ele dar como inexistente no servidor?
Reply
#7

Tenta assim..
PHP код:
CMD:pegarpontos(playeridparams[])
{
    new 
quantidade;
    if(
sscanf(params"i"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]");
    if ( 
<= quantidade >= 23) return SendClientMessage(playerid, -1"[ERRO]A quantida de pontos tem quer ser no mбximo 23!");
    if(
quantidade 22) return AData[Carteira] = false;
    
AData[Pontos] = quantidade;
    
format(Stringsizeof(String), "Vocк pegou %d pontos"quantidade);
    
SendClientMessage(playerid, -1String);
    
format(Stringsizeof(String), "O player %s estб agora com %d pontos!"Nome(playerid), AData[Pontos]);
    
SendClientMessageToAll(-1String);
    
AData[Carteira] = true;
    return 
1;

Reply
#8

O problema estб no seu comando.

Tente:
PHP код:
CMD:pegarpontos(playeridparams[])
{
    new 
quantidade;
    if(
sscanf(params"d"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]");
    if(
quantidade || quantidade 23) return SendClientMessage(playerid, -1"[ERRO]A quantida de pontos tem quer ser no mбximo 23!");
    
AData[Pontos] = quantidade;
    
format(Stringsizeof(String), "Vocк pegou %d pontos"quantidade);
    
SendClientMessage(playerid, -1String);
    
format(Stringsizeof(String), "O player %s estб agora com %d pontos!"Nome(playerid), AData[Pontos]);
    
SendClientMessageToAll(-1String);
    
    if(
quantidade 22AData[Carteira] = false;
    else 
AData[Carteira] = true;
    return 
1;

Reply
#9

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
O problema estб no seu comando.

Tente:
PHP код:
CMD:pegarpontos(playeridparams[])
{
    new 
quantidade;
    if(
sscanf(params"d"quantidade)) return SendClientMessage(playerid, -1"[ERRO]Use /pegarpontos [Pontos]");
    if(
quantidade || quantidade 23) return SendClientMessage(playerid, -1"[ERRO]A quantida de pontos tem quer ser no mбximo 23!");
    
AData[Pontos] = quantidade;
    
format(Stringsizeof(String), "Vocк pegou %d pontos"quantidade);
    
SendClientMessage(playerid, -1String);
    
format(Stringsizeof(String), "O player %s estб agora com %d pontos!"Nome(playerid), AData[Pontos]);
    
SendClientMessageToAll(-1String);
    
    if(
quantidade 22AData[Carteira] = false;
    else 
AData[Carteira] = true;
    return 
1;

Vlw funcionou, agora que eu vi que tinha sido falta de atenзгo minha na hora de fazer o comando, +REP
Reply
#10

Cara esse seu nick machuca os olhos sabia?
"Veider" espero que tenha colocado na zueira ..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)