SA-MP Forums Archive
[AJUDA] Erro No System de TAG - 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] Erro No System de TAG (/showthread.php?tid=302927)



[AJUDA] Erro No System de TAG - Oakley_TwOPaCk - 11.12.2011

Bom ,

Ah , alguns messes atraz, pedi ajuda, para um Sistema de [TAG] que funcionou perfeitamente ~~ , e Agora parou de Funcionar Derrepente ?

Problema : Quando alguma pessoal Loga no serv com tag [DPS] exem : [DPS]BJODOGORDO ( Nick ) , abre um dialog, para o player, confirma a Senha do Clгn , OBS : da TAG

e quando a pessoa erra a senha , ela altomaticamente, й Kickada, Mais, isso nгo estб mais aconteзendo , e no system tem o Kick(playerid); , Logo abaixo vou postar o Sistema, e espero que me ajudem =D

Sistema :

pawn Код:
new
    corda[128],
    Nome[MAX_PLAYER_NAME]
;
pawn Код:
#define SENHACLA        "exemplo"
#define DialogClaConf   666
pawn Код:
GetPlayerName(playerid, Nome, sizeof(Nome));
    if(strfind(Nome, "[DPS]", true) != -1) return ShowPlayerDialog(playerid, DialogClaConf, 3, "Clгn [DPS]","Insira a senha do clгn: ","Entrar","Sair");
pawn Код:
if(dialogid == DialogClaConf)
    {
        if(response)
        {
            if(strcmp(inputtext, SENHACLA, true))
            {
                format(corda, sizeof(corda), "%s[%i] ¤ DPS ¤ Acertou a Senha do Clгn [DPS] e Logou no Servidor!! ¤ DPS ¤",Nome, playerid);
                SendClientMessageToAll(COR_TAXI, corda);
                SendClientMessage(playerid, -1, "Vocк logou com a tag [DPS]");
                SpawnPlayer(playerid);
                return 1;
            }
            else
            {
                format(corda, sizeof(corda), "%s[%i] ¤ DPS ¤ Errou a Senha , Ou й algum FAKE, e Foi kickado ¤ DPS ¤", Nome, playerid);
                SendClientMessageToAll(0xFFFFFFAA, corda);
                SendClientMessage(playerid, -1, "Vocк foi kickado por errar a senha do clг [DPS]!");
                Kick(playerid);
                return 1;
            }
        }
        else if(!response)
        {
            GetPlayerName(playerid, Nome, sizeof(Nome));
            printf("%s[%i] ¤ DPS ¤ Cancelou a Confirmaзгo de Senha do Clгn ¤ DPS ¤", Nome, playerid);
            Kick(playerid);
        }
    }



Re: [AJUDA] Erro No System de TAG - Lуs - 11.12.2011

Isso pode ter ocorrido caso vocк adicionou outro dialog com o mesmo ID. Jб que parou do nada, isso й o mais provбvel.


Re: [AJUDA] Erro No System de TAG - Oakley_TwOPaCk - 11.12.2011

@Los

Nгo, ja procurei isso no meu GM, e nгo й isto nгo '-'


Re: [AJUDA] Erro No System de TAG - Lуs - 11.12.2011

Mudou alguma coisa que vocк pode ter passado despercebido, nгo tem nada incorreto ali.


Re: [AJUDA] Erro No System de TAG - rjjj - 11.12.2011

Isto deve resolver o seu problema :


Basta trocar essa parte do seu cуdigo :


pawn Код:
if(strcmp(inputtext, SENHACLA, true))

Por:


pawn Код:
if(!strcmp(inputtext, SENHACLA, true))


Espero ter ajudado .


Re: [AJUDA] Erro No System de TAG - Lуs - 11.12.2011

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Isto deve resolver o seu problema :


Basta trocar essa parte do seu cуdigo :


pawn Код:
if(strcmp(inputtext, SENHACLA, true))

Por:


pawn Код:
if(!strcmp(inputtext, SENHACLA, true))


Espero ter ajudado .
Rjjj, me explica strcmp, pois nгo mecho muito com comparaзгo de strings.

!strcmp compara se й igual? Хo

pawn Код:
if(!strcmp/*Compara se й diferente*/(inputtext/*Oque vai comparar*/, SENHACLA/*Com oque vai comparar*/, true/*true = vai comparar se й verdadeiro?*/))



Re: [AJUDA] Erro No System de TAG - Oakley_TwOPaCk - 11.12.2011

@rjjj

vlw manim vou testar aqui jaja edito =)

esqueci de por ali no motivo , tipo, se eu nгo por senha e click Entrar, ai sim o cara toma kick '-'

Vou testar aq

@Topic

Very Good :O

+rep manin, deu certim ^^ , quem derб em um simples ! resolve tudo koppokaskpaossako

Vlw


Re: [AJUDA] Erro No System de TAG - rjjj - 11.12.2011

Quote:
Originally Posted by Los
Посмотреть сообщение
Rjjj, me explica strcmp, pois nгo mecho muito com comparaзгo de strings.

!strcmp compara se й igual? Хo

pawn Код:
if(!strcmp/*Compara se й diferente*/(inputtext/*Oque vai comparar*/, SENHACLA/*Com oque vai comparar*/, true/*true = vai comparar se й verdadeiro?*/))

Strcmp significa String Comparison, ou seja, comparaзгo de strings (textos) .



Os parвmetros dessa funзгo sгo :



pawn Код:
strcmp(/*Primeira string*/, /*Segunda string*/, /*Desconsiderar Case sensitive (diferenзa entre letras maiъsculas e minъsculas),  true ou false.*/, /* Determina o mбximo de caracteres que serгo avaliados de cada string (contando da esquerda pra direita de cada uma)*/);


A mesma retorna 0 se os textos forem iguais e retorna um nъmero diferente de 0 se forem diferentes :



Exemplo :



pawn Код:
printf("Caracteres Diferentes entre abc e abd - Resultado: %d", strcmp("abc", "abd"));  //Retornarб e mostrarб um nъmero diferente de 0, pois os textos nгo sгo iguais.
printf("Caracteres Diferentes entre Los e Lуs - Resultado: %d", strcmp("Los", "Lуs")); //Retornarб e mostrarб um nъmero diferente de 0, pois os textos nгo sгo iguais.
printf("Caracteres Diferentes entre PD e PD - Resultado: %d", strcmp("PD", "PD")); //Retornarб e mostrarб 0, pois os textos sгo iguais.


Quando uso por exemplo :



No tуpico em questгo, o seguinte cуdigo :


pawn Код:
if(!strcmp(inputtext, SENHACLA, true)) //Й o mesmo que if(strcmp(inputtext, SENHACLA, true) == 0)


Checaria se o strcmp entre o texto digitado no dialog pelo jogador e a senha do clг seria igual a 0, caso fosse, as strings seriam iguais .




Espero ter ajudado .


Re: [AJUDA] Erro No System de TAG - Lуs - 11.12.2011

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Strcmp significa String Comparison, ou seja, comparaзгo de strings (textos) .



Os parвmetros dessa funзгo sгo :



pawn Код:
strcmp(/*Primeira string*/, /*Segunda string*/, /*Desconsiderar Case sensitive (diferenзa entre letras maiъsculas e minъsculas),  true ou false.*/, /* Determina o mбximo de caracteres que serгo avaliados de cada string (contando da esquerda pra direita de cada uma)*/);


A mesma retorna 0 se os textos forem iguais e retorna um nъmero diferente de 0 se forem diferentes :



Exemplo :



pawn Код:
printf("Caracteres Diferentes entre abc e abd - Resultado: %d", strcmp("abc", "abd"));  //Retornarб e mostrarб um nъmero diferente de 0, pois os textos nгo sгo iguais.
printf("Caracteres Diferentes entre Los e Lуs - Resultado: %d", strcmp("Los", "Lуs")); //Retornarб e mostrarб um nъmero diferente de 0, pois os textos nгo sгo iguais.
printf("Caracteres Diferentes entre PD e PD - Resultado: %d", strcmp("PD", "PD")); //Retornarб e mostrarб 0, pois os textos sгo iguais.


Quando uso por exemplo :



No tуpico em questгo, o seguinte cуdigo :


pawn Код:
if(!strcmp(inputtext, SENHACLA, true)) //Й o mesmo que if(strcmp(inputtext, SENHACLA, true) == 0)


Checaria se o strcmp entre o texto digitado no dialog pelo jogador e a senha do clг seria igual a 0, caso fosse, as strings seriam iguais .




Espero ter ajudado .
THANKS SO MUCH!

Rjjj faz um bom tempo que vocк nгo faz um release |: