[Ajuda] alguem poderia ajudar nessa logica?
#1

Galera tenho a duvida nessa logica aqui
Код:
 if(sscanf(params[], "i", idskin)) 
return SCM(playerid, -1, "use: /skin <id> ");
Ou seja se a primeira linha for true ou verdade ele vai retornar a mensagem eh isso? Nao entendi direito a logica dessa condicao if. alguem pode ajudar?
Reply
#2

Nгo cara... ali se ele digitar /skin e nгo colocar nada na frente tipo /skin 25 vai dar erro.
Reply
#3

Quando vocк utiliza sscanf, nessa verificaзгo ele retorna falso. Ou seja, sу aparecerб a mensagem de "use: /skin <id>", caso ele nгo digite como estб na verificaзгo.
Reply
#4

ignore... eu disse um bagui mo nada a ver.
Reply
#5

pawn Код:
if(sscanf(params, "i", skinid))return SendClientMessage(playerid, -1, "USO: /skin [ID]");
A funзгo foi chamada, caso o parвmetro skinid nгo seja chamado irб retornar o valor SendClientMessage...

Sу corrigindo o seu modo...

if(sscanf(params[], "i", idskin))
"params[]" nгo se usa, deve-se utilizar params

Temos outros exemplos do modo tambйm que seria:

pawn Код:
if(PlayerLevelAdmin[playerid] < 5)return SendClientMessage(playerid, -1, "Seu nнvel de admin й menor que 5!");
if = Caso
PlayerLevelAdmin[playerid] < 5 = Level Admin seja menor que 5
return sendclientmessage = Deverб retornar a seguinte mensagem:
Reply
#6

Entao essa funcao sscanf retorna falso ??
Reply
#7

Quote:
Originally Posted by moura98
Посмотреть сообщение
Entao essa funcao sscanf retorna falso ??
Retorna o que a funзгo que vc quiser.

Retorna uma msg
Код:
if(sscanf(params, "i", skinid)) return SendClientMessage(playerid, -1, "RETORNA ESSA MENSAGEM");
Retorna a funзгo de setar skin, id do cafetгo.
Код:
if(sscanf(params, "i", skinid)) return SetPlayerSkin(playerid, 249);
E por aн vai...
Reply
#8

Atй onde eu sei й basicamente a checagem da syntax do comando.

Ele verifica o que foi digitado pelo player e se faltar alguma coisa ele completa geralmente com uma mensagem de explicaзгo, exemplo:


Код:
CMD:ban(playerid, params[])
{
     if (sscanf(params, "us[128]", userid, motivo))
	    return SendClientMessage(playerid, COLOR_YELLOW,"USE: /ban [playerid/nome] [motivo]");
Se eu digitasse apenas /ban ele exibiria a mensagem, explicando que deve colocar o ID ou nome e o motivo. Caso eu digite corretamente os itens, com um ID e um motivo, ele continua o cуdigo e realiza o banimento do jogador.
Reply
#9

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Retorna o que a funзгo que vc quiser.

Retorna uma msg
Код:
if(sscanf(params, "i", skinid)) return SendClientMessage(playerid, -1, "RETORNA ESSA MENSAGEM");
Retorna a funзгo de setar skin, id do cafetгo.
Код:
if(sscanf(params, "i", skinid)) return SetPlayerSkin(playerid, 249);
E por aн vai...
Ele quis dizer que o fator comparativo retorna falso caso nгo preencha os parвmetros. Ex: Caso instruзгo x nгo esteja correta (FALSE) retorne isso.

Deste ponto de vista, estб correto. Mas os termos impregnados na explicaзгo, nгo.
Reply
#10

Quote:
Originally Posted by Monotox
Посмотреть сообщение
Ele quis dizer que o fator comparativo retorna falso caso nгo preencha os parвmetros. Ex: Caso instruзгo x nгo esteja correta (FALSE) retorne isso.

Deste ponto de vista, estб correto. Mas os termos impregnados na explicaзгo, nгo.
Exatamente o que quis dizer
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)