SA-MP Forums Archive
[Ajuda] Strings Comparaзхes - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Strings Comparaзхes (/showthread.php?tid=628278)



Strings Comparaзхes - dudu_Insane - 08.02.2017

Abaixo o code com problema.
Код:
if(strcmp(nomeclan, DOF2_GetString(arquivo2, "NomeClan"), true) == 0)
				{
					SendClientMessage(playerid, COR_GRAD2, "Jб tem um Clan com esse nome, Troque-o!");
					DOF2_RemoveFile(arquivo2);
					return 1;
				}
Sempre aparece que existe um clan com o mesmo nome mesmo nгo existindo, eu tenho o mesmo code em um gamemode que nгo usa zcmd, e la funciona perfeitamente.

Comando Inteiro
Код:
CMD:criarclan(playerid, params[])
{
	new nomeclan[64], tagclan[6], stringclan[128];
    if(sscanf(params, "s[6]s[64]", tagclan, nomeclan)) return SendClientMessage(playerid, -1, " Use: /criarclan [TAG] [Nome] ");
    if(PlayerInfo[playerid][pLevel] <= 49) return SendClientMessage(playerid,azul,"Seu Lvl deve ser maior que 50 para poder criar um Clan!");
    format(stringclan, sizeof(stringclan), "{00688B}[SERVER CLAN]:{FFFFFF} [{00688B}%s{FFFFFF}] [{00688B}%s{FFFFFF}] Criado Com Sucesso Por %s", tagclan, nomeclan, GetName(playerid));
    SendClientMessageToAll(-1, stringclan);
    for(new count = 1;count<MAX_CLANS;count++)
	{
		format(fileZ, sizeof(fileZ),"Clans/Clan_%d.ini",count);
		if(!DOF2_FileExists(fileZ))
		{
			for(new x = 1; x < MAX_CLANS; x++)
			{
		   	 	new arquivo2[128];
				format(arquivo2, sizeof(arquivo2), "Clans/Clan_%d.ini",x);
				if(strcmp(nomeclan, DOF2_GetString(arquivo2, "NomeClan"), true) == 0)
				{
					SendClientMessage(playerid, COR_GRAD2, "Jб tem um Clan com esse nome, Troque-o!");
					DOF2_RemoveFile(arquivo2);
					return 1;
				}
			}
			if(strcmp(InfoClan[count][Lider],"Ninguem",true)==0)
			{
				ConviteInfoClan(GetName(playerid), count, 6);
			}
			PlayerInfo[playerid][pClan] = count;
			PlayerInfo[playerid][pLClan] = count;
			strmid(InfoClan[count][NomeClan], "Ninguem", 0, strlen("Ninguem"), 255);
			DOF2_SetString(fileZ,"NomeClan",(nomeclan));
			DOF2_SetString(fileZ,"TagClan",(tagclan));
			DOF2_SaveFile();
			return 1;
		}
	}
    return 1;
}



Re: Strings Comparaзхes - biell - 08.02.2017

tente fazer isso
PHP код:
if(strcmp(nomeclanDOF2_GetString(arquivo2"NomeClan"), true) == && strlen(nomeclan) > 0)
{
            
SendClientMessage(playeridCOR_GRAD2"Jб tem um Clan com esse nome, Troque-o!");
            
DOF2_RemoveFile(arquivo2);
            return 
1;

o strlen irб verificar se contem caracteres no nome do clг, caso nгo haja a comparaзгo e verdadeira


Re: Strings Comparaзхes - dudu_Insane - 08.02.2017

Quote:
Originally Posted by biell
Посмотреть сообщение
tente fazer isso
PHP код:
if(strcmp(nomeclanDOF2_GetString(arquivo2"NomeClan"), true) == && strlen(nomeclan) > 0)
{
            
SendClientMessage(playeridCOR_GRAD2"Jб tem um Clan com esse nome, Troque-o!");
            
DOF2_RemoveFile(arquivo2);
            return 
1;

o strlen irб verificar se contem caracteres no nome do clг, caso nгo haja a comparaзгo e verdadeira
Continua Parando Ai.


Re: Strings Comparaзхes - biell - 08.02.2017

Quote:
Originally Posted by dudu_Insane
Посмотреть сообщение
Continua Parando Ai.
Cara, o cуdigo se torna complicado, recomendo que organize-o com arrays muito melhor para trabalhar, nгo lк o arquivo o tempo todo e o cуdigo fica muito mais rapido.
Vocк terб menos problemas

#topic
como se trata de um valor MAX, vocк pode nгo estar lendo nada
portanto
PHP код:
format(arquivo2sizeof(arquivo2), "Clans/Clan_%d.ini",x);
if(
strcmp(nomeclanDOF2_GetString(arquivo2"NomeClan"), true) == && strlen(nomeclan) &&strlen(DOF2_GetString(arquivo2"NomeClan")) ) 



Re: Strings Comparaзхes - dudu_Insane - 08.02.2017

Quote:
Originally Posted by biell
Посмотреть сообщение
Cara, o cуdigo se torna complicado, recomendo que organize-o com arrays muito melhor para trabalhar, nгo lк o arquivo o tempo todo e o cуdigo fica muito mais rapido.
Vocк terб menos problemas
Tava Organizadinho, mas ai deu o bug, fui tentando resolver e deu que ficou assim, e mesmo assim nao pegou kk.

@Topic, agora estб passando, mesmo existindo um nome igual..


Re: Strings Comparaзхes - biell - 08.02.2017

Quote:
Originally Posted by dudu_Insane
Посмотреть сообщение
Continua Parando Ai.
Quote:
Originally Posted by dudu_Insane
Посмотреть сообщение
Tava Organizadinho, mas ai deu o bug, fui tentando resolver e deu que ficou assim, e mesmo assim nao pegou kk.

@Topic, agora estб passando, mesmo existindo um nome igual..
perdгo, sempre que tive problemas com comparaзгo era na questгo dos caracteres, mas acho que se vocк organizar em arrays sua vida vai melhorar kkkk, se eu encontrar uma soluзгo dou edit


Re: Strings Comparaзхes - lucas_mdr1235 - 09.02.2017

Mano olha como faz uma verificaзгo de arquivo
PHP код:
    format(arquivo2sizeof(arquivo2), "Clans/Clan_%d.ini",x);
    if(
DOF2_FileExists(arquivo2))
    {
         
SendClientMessage(playeridCOR_GRAD2"Jб tem um Clan com esse nome, Troque-o!");
           return 
1;
    } 
@EDIT nгo se faz comparaзгo onde se vai verificar a existencia de um arquivo !


Re: Strings Comparaзхes - biell - 09.02.2017

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
Mano olha como faz uma verificaзгo de arquivo
PHP код:
    format(arquivo2sizeof(arquivo2), "Clans/Clan_%d.ini",x);
    if(
DOF2_FileExists(arquivo2))
    {
         
SendClientMessage(playeridCOR_GRAD2"Jб tem um Clan com esse nome, Troque-o!");
           return 
1;
    } 
@EDIT nгo se faz comparaзгo onde se vai verificar a existencia de um arquivo !
Nem se quer percebi isso kkk, como fiz minha include estou meio afastado de DOF2


Re: Strings Comparaзхes - dudu_Insane - 09.02.2017

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
Mano olha como faz uma verificaзгo de arquivo
PHP код:
    format(arquivo2sizeof(arquivo2), "Clans/Clan_%d.ini",x);
    if(
DOF2_FileExists(arquivo2))
    {
         
SendClientMessage(playeridCOR_GRAD2"Jб tem um Clan com esse nome, Troque-o!");
           return 
1;
    } 
@EDIT nгo se faz comparaзгo onde se vai verificar a existencia de um arquivo !
Ai eu iria comparar o ID...

@EDIT Valeu galera resolvi, o erro acontecia, pq nгo tinha todos os arquivos dos clans criados, ai o DOF2 pegava um valor vazio, e mostrava ser igual (o pq nгo sei)... Assim que coloquei todos os arquivos ele comeзou a funcionar normalmente..