[TUT] Algumas Funзхes de String (Super Ъtil)
#1

[TUT] Algumas Funзхes de String




[TUT] strfind
Introduзгo
Bem neste Tutorial Ensinarei como usar 'Strfind' usada para pesquisar uma String em outras String Veja um Exemplo:

pawn Код:
if(strfind("Nossa String", "Nossa", true) != -1)
{
    SendClientMessageToAll(0xFFFFFFFF, "Eu Encontrei a Palavra Nossa...");
}
EXPLICAЗГO:

if( = Nesta Condicional colocaremos a 'strfind' no qual executarб a funзгo de buscar o texto
strfind("Nossa String", "Nossa", true) = Agora ele procura a Palavra 'Nossa' na Frase 'Nossa String' e retorna true) != -1) = Indicando 'Verdadeiro' (true) isto й, se encontrou a Palavra

O Mesmo podemos usar em diversas funзхes tais como GetPlayerName

pawn Код:
public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME], string[44];
    GetPlayerName(playerid, name, sizeof(name));
    if(strfind(name, "gay", true) != -1)
    {
        format(string, sizeof(string), " Oi%s no seu Nick tem a palavra gay kkkkkkkkk .",name);
        SendClientMessageToAll(0xFFFF00AA, string);
    }
    return 1;
}
Ou Atй mesmo procurar palavrхes (palavras de baixo calгo) em texto..



[TUT] strcmp
Introduзгo
Bem neste Tutorial Ensinarei como usar 'strcmp' usada para comparar uma String em outra String,bastante usada para comandos..
Veja um Exemplo:
pawn Код:
if(!strcmp("Dracu", "DraKoN", true, 6)
{
    SendClientMessageToAll(0xFFFFFFFF, "Vocк nгo й o DraKoN");
}
EXPLICAЗГO:

if( = Nesta Condicional colocaremos a 'strcmp' no qual executarб a funзгo de comparar os 2 (dois) textos
strcmp("Dracu", "DraKoN" = Agora ele comparar a Palavra 'DraCu' com a 'DraKoN' e retorna diferente de true Indicando 'Falso' (Falso) isto й, se й diferente de DraKoN
3 = Esse 3 (Trкs) й usado para colocar o tamanho da segunda String (DraKoN)
tambйm como algumas pessoas conhecem por Strlen que veremos Logo Abaixo

O Mesmo podemos usar em diversas funзхes tais como cmdtext

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/me", true, 3))
    {
        if(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, "USE: /me [acao]");
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        return 1;
    }
    return 0;
}
Ou Atй mesmo comparar diversas coisas..

[TUT] Strdel
Introduзгo:
Nesta parte de vosso tutorial vamos aprender como usar Strdel usado para deletar partes de uma String..

Vejamos que nossa String Seja:

pawn Код:
new string[20] = "Esta й Nossa String";
20 Й O Tamanho de nossa String que seria o Vosso Texto

pawn Код:
strdel(string, 0,7);
EXPLICANDO:

strdel(string = Esta Parte Indica que Deletaremos a 'String' que definimos anteriormente
0, 7) = Esta parte indica onde iremos comeзar a deletar e onde terminaremos de deletar, observe que ficou da Seguinte Maneira (0-7)

Esta й Nossa String
Istу й, a parte vermelha (0-7) deletamos ficando 'Nossa String'

Aqui Usando um Conjutno de strfind + strdel
pawn Код:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
new
startpos = strfind(name, "[", true),
endpos = strfind(name, "]", true);
if(startpos != -1 && endpos != -1)
     {
     strdel(name, startpos, endpos + 1);
     if(name[0])
     {
         SetPlayerName(playerid, name);
         new string[128];
         format(string, sizeof(string), "| Seu Nick Foi mudado para '%s', devido o conflito de clans ou suspeita de  Fake Tag", name);
         SendClientMessage(playerid,0x7777FF,string);
      }
}

[TUT] Strlen
Introduзгo:
Pois bem chegando a nossa Ъltima funзгo vou explicar um pouco melhor sobre isto, vejam strlen й usada para Retornar um Tamanho de uma String
Digamos:
'Eu Sou o DraKoN'
Contando o nъmero dessa frase obtivemos 16 Caracteres ( ou to mal de conta -q)
Para usar com strlen podemos usar da seguinte forma:
Em OnPlayerText
pawn Код:
if(strlen(text) > 100) return SendClientMessage(playerid, COLOR_GREY, "Seu Texto tem mais que 100 Caracters")
EXPLICANDO:
if Condicional 'SE'
strlen(text) Lк o tamanho do Texto
> 100 Se for maior que 100 Envia Mensagem Indicando


Bom chegamos ao fim de mais um Tutorial,aqui algumas funзхes de string tambйm usadas

Код:
Strcmp: Compare two strings to check if they are the same.
Strfind: Search for a string in a string.
Strtok: Get the next word/parameter in a string.
Strdel: Delete part of a string.
Strins: Insert text into a string.
Strmid: Extract part of a string into another string.
Strpack: Pack a string into a destination.
Strval: Convert a string into an integer.
Strcat: Concatenate two strings into a destination reference.
Tutorial Criador por DraKoN, Agradecimento a Dark Team PT & Flбvio Toribio
Desculpem me Ausentar no Fуrum,estarei mais Presente agora...
Reply
#2

Muito bom, eu nгo teria paciкncia para isso, mas seria bom citar que o " " (espaзo) tambйm conta. xD
O resto estб 'divino'.
Reply
#3

@SubZero:
Bem Lembrado!

Esqueci de citar sobre uma forma de Otimizar o Cуdigo sem precisar usar funзхes de Strings
pawn Код:
// Essa forma de funзгo й mais otimizada por nгo chamar nenhum funзгo,alйm de poder ser usada como STRFIND,STRCMP, e ainda STRLEN em certas formas

/* EXAMPLE */

if(text[0] == '')// Seu Texto nгo tem Caracteres (strlen)
if(text[0] == 'A')//Seu texto tem "A" (strfind)
Reply
#4

Quote:
Originally Posted by SuB_ZeRo0_
Посмотреть сообщение
Muito bom, eu nгo teria paciкncia para isso, mas seria bom citar que o " " (espaзo) tambйm conta. xD
O resto estб 'divino'.
І
MT ROX
Reply
#5

Parabens emo mostrou + uma vez que com nerds nгo se discute ^^
Reply
#6

nerd e pouco para o drakon '-'
Reply
#7

=D

tenho paciencia pra estudar funзхes nem a pal...

eu apenas as uso pq sei pra que servem mas estudar na raiz o que elas fazem... nгo й comigo!

Agora com o drakon...
Reply
#8

tas a chama-lo de nerd e nem sei porque sabe sequer o significado de nerd? alguma ves tives-te com o drakon na vida real?

pah ja e 3 ou 4 vez que te apanho a armar-se para o pessoal e digo-te ja ou comeзas a te calar e nao tar sempre a dizer "bocas" ou entao vou ser eu que te vou envergonhar...
Reply
#9

Quote:
Originally Posted by DarK TeaM PT
Посмотреть сообщение
tas a chama-lo de nerd e nem sei porque sabe sequer o significado de nerd? alguma ves tives-te com o drakon na vida real?

pah ja e 3 ou 4 vez que te apanho a armar-se para o pessoal e digo-te ja ou comeзas a te calar e nao tar sempre a dizer "bocas" ou entao vou ser eu que te vou envergonhar...
Extressa nгo brunoo ficaa de boa xD
Reply
#10

@Dark

Dark se soubessem como eu sou na vida Real,nгo sou Nerd,Odeio Escola,Adoro Matemбtica,e ja namorei e tenho minas muito gatas -q se vissem meu orkut ou atй mesmo como sou na escola, inclusive os professores ja me chamaram de "Galinha" por eu dar muito encima das gurias,enfim nгo sou um Nerd Normal, e Sim um Nerd-Pegador-OdeiaEscola-AmaMatematica...

@[WinG]BiieL

LoL nгo entendi
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)