[Ajuda] Problema com SSCANF
#1

Como eu pego 2 string ao mesmo tempo? 2 palavra:

if(sscanf(params,"SS",params[0],params[1]))
return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");

tentei assim mas nгo funcionou
Reply
#2

Se fosse integer era differente, mas como sscanf faz gravaзгo de valores terias que criar novos vars.
pawn Код:
new texto1[64 char],texto2[64 char];
if(sscanf(params,"s[64]s[64]",texto1,texto2)) return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");
print(texto1);
print(texto2);
Reply
#3

pawn Код:
new Nome,Tema;
if(sscanf(params,"s[64]s[64]", Nome, Tema))
return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");
Se for um texto use cйlulas, se for nome use MAX_PLAYER_NAME quando for definir a variбvel e use isso.

pawn Код:
new Nome[MAX_PLAYER_NAME],Tema;
if(sscanf(params,"ss[64]", Nome, Tema))
return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");
Reply
#4

cria 2 variaveis pra receber o texto, por exemplo:
pawn Код:
new nome[32], tema[32];
if(sscanf(params,"s[32]s[32]", nome, tema))// se vc por em letra maiuscula o "SS" ambos textos serгo optativos e vc n vai receber a mensagem.
    return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");
Reply
#5

pawn Код:
if(sscanf(params,"ss[64]", Nome, Tema))
Seu cуdigo estб incorreto Shick
Reply
#6

Quote:
Originally Posted by Shickcard
Посмотреть сообщение
pawn Код:
new Nome,Tema;
if(sscanf(params,"s[64]s[64]", Nome, Tema))
return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");
Irб aparecer buffer overflow.
[/quote]
Se for um texto use cйlulas, se for nome use MAX_PLAYER_NAME quando for definir a variбvel e use isso.

pawn Код:
new Nome[MAX_PLAYER_NAME],Tema;
if(sscanf(params,"ss[64]", Nome, Tema))
return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use /gcriar [NOME] [TEMA]");
Correcto! (:
Reply
#7

olha oque eu fiz:
Код:
	#pragma unused help
	new gnome[128], glema[128];
	if(sscanf(params,"S[64]S[64]",gnome,glema))
    return SendClientMessage(playerid,COR_MENSAGENS_GANG," Use -> /gcriar [NOME] [LEMA]");
    
    if(strlen(gnome) > 3)
    {
		new arquivo[128];
		format(arquivo,128, "Gangs/%s.ini", gnome);
		new INI:pConta = INI_Open(arquivo);
		INI_WriteString(pConta,"Dono",pNome(playerid));
		INI_WriteString(pConta,"Nome",gnome);
		INI_WriteString(pConta,"Lema",glema);
		INI_Close(pConta);
	}
	else
	{
	    SendClientMessage(playerid, COR_MENSAGENS_GANG, " Digite um nome maior que 3 caracteres");
	}
sу retorna o Else, oque esta errado?
Reply
#8

alguem pode me ajudar?
Reply
#9

Tente Ai Nao Sei Se Vai Dar Certo
pawn Код:
CMD:criarg(playerid,params[])
{
    new NomeP[MAX_PLAYER_NAME],GNOME[24],GLEMA[24],arquivo[60];
    if(sscanf(params, "ss[24]",GNOME,GLEMA))
    {
        SendClientMessage(playerid,-1,"Uso: /criarg [nome] [lema]");
    }
    else
    {
    GetPlayerName(playerid,NomeP,sizeof(NomeP));
    format(arquivo, sizeof(arquivo),"Gangs/%s.ini",GNOME);
    if(!fexist(arquivo)) INI_Create(arquivo);
    INI_Open(arquivo);
    INI_WriteString("Nome",GNOME);
    INI_WriteString("Lema",GLEMA);
    INI_WriteString("Dono",NomeP);
    INI_Save();
    INI_Close();
    }
    return 1;
}
Reply
#10

ReDKill nгo funciona, sу funciona se eu usar params[0] para pegar o nome da gang..
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)