[INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
[VGS]Protioso - 10.11.2009
Dae turtas!
Notando a necessidade, de algumas funзхes no campo de string's (cadeia de caracteres/textos), de minha parte e principalmente de uns amigos, achei interessante criar um include com funзхes essenciais que lidassem com string, para ajudar a todos no geral.
O include й ao todo formado por funзхes simples e muito ъteis, mas tambйm existem funзхes que eu acho abismofodas, como й o caso do meu utilitбrio de codificaзгo, o PCOD. Seu uso й focado para codificaзгo de senhas, podendo codificar string's com tamanho mбximo definнvel no arquivo PSF_USER_DEF.inc (MAX_PCOD_CHAR). Ao codificar uma string ela pode retornar a 4 tamanhos padrхes que vocк informa na funзгo, esses tamanhos se chamam TAXA DE COMPRESSГO:
TAXA_BAIXA - Retorna uma senha codificada com 14 caracteres;
TAXA_MEDIANA - Retorna uma senha codificada com 26 caracteres;
TAXA_ALTA - Retorna uma senha codificada com 38 caracteres;
TAXA_MAXIMA - Retorna uma senha codificada com 50 caracteres.
Funзгo: psf_PCODStr(str[], taxa);
Outras trкs funзхes que acho interessantes sгo:
psf_CopiarStr(str_recebe[], str_origem[])
Copia o conteъdo de uma string para a string recebedora.
psf_CopiarStrL(str_recebe[], str_origem[], pos_inicial_origem, pos_final_origem)
Copia o conteъdo, limitado entre posiзхes (inicial e final), de uma string para uma string recebedora.
psf_FormatarStrTexto(str[])
Padroniza o texto para formato de TextDraw/GameText, ou seja os acentos serгo modificados por caracteres correspondentes para o formato citado anteriormente.
Quote:
Funзхes nativas (natives):
psf_PCODStr(str[], taxa = TAXA_MEDIANA);
psf_PCODNumero(numeral);
psf_CopiarStr(str_recebe[], str_origem[]);
psf_CopiarStrL(str_recebe[], str_origem[], pos_inicial_origem, pos_final_origem);
psf_ParteExiste(str[], parte[]);
psf_CharStr(c );
psf_FloatStr(Float:f);
psf_IntStr(i);
psf_CharFiltrado(c[3]);
psf_Filtrar(str[]);
psf_ReverterFiltro(str[]);
psf_SubstituirChar(str[], cs[], ct[], bool:ler_case_sensitive = true);
psf_ContagemChar(str[], cC[], bool:ler_case_sensitive = true);
psf_PosChar(str[], cC[], quantia_procurada, bool:ler_case_sensitive = true);
psf_FormatarStrTexto(str[]);
psf_LimparStr(str[]);
psf_strtokCI(str[], casa_inicial, charseparador[] = " ");
psf_strtokCL(str[], casa_inicial, casa_final, charseparador[] = " ");
psf_strtok(str[], &casa_inicial, charseparador[] = " ");
psf_PegarValorEntreCharStr(str[], c[MAX_psf_char_separador], vezesbuscarprimeirochar, vezesbuscarsegundochar);
psf_PegarValorEntreCharFloat(str[], c[MAX_psf_char_separador], vezesbuscarprimeirochar, vezesbuscarsegundochar);
psf_PegarValorEntreCharInt(str[], c[MAX_psf_char_separador], vezesbuscarprimeirochar, vezesbuscarsegundochar);
psf_PegarValorEntreCharBool(str[], c[MAX_psf_char_separador], vezesbuscarprimeirochar, vezesbuscarsegundochar);
psf_PegarValorStr(str[], pos_inicial, pos_final);
psf_PegarValorFloat(str[], pos_inicial, pos_final);
psf_PegarValorInt(str[], pos_inicial, pos_final);
psf_PegarValorBool(str[], pos_inicial, pos_final)
psf_StrNumerica(str[]);
psf_InverterStr(str[256]);
|
Instalaзгo:
1°- Extraia o arquivo compactado na pasta do seu PAWNO;
2°- Se vocк
nгo tem o include PGD definido no seu script й necessбrio escrever #include "PSF" no inнcio de seu script para poder usar as funзхes do include.
Configuraзгo:
Vocк pode configurar o arquivo PSF_USER_DEF.inc com valores que vocк preferir.
Informaзгo e ajuda:
Se vocк tem dъvida em alguma funзгo, procure-a no arquivo PSF Manual.txt que fica dentro da pasta include/PSF. Lб todas as funзхes estгo listadas com uma breve explicaзгo.
Download (PSF 1.2F3 - 4* dezembro 2009):
Possнvel falha de seguranзa corrigida.
Atualizaзгo fortemente recomendada.
* Leves modificaзхes nas datas 06/12/09 e 08/12/09
AVISO: nгo me responsabilizo por scripts obtidos por outras referкncias! Os originais e garantidos sгo apenas no link acima!
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
Toribio - 11.11.2009
Ficou bom, bem diversificado.
Mas eu achei uma coisinha que ta deixando os cуdigos um pouco lento:
pawn Код:
for(new c; c < sizeof(string); c++)
Isso verifica o tamanho mбximo da string a cada execuзгo do loop, chamando uma funзгo todo instante.
Agora, existe uma forma de verificar se й o final de uma string, sem precisar a funзгo strlen/keyword sizeof, basta verificar, se o caractere atual, й EOS (0, NULL, '\0' sгo todos iguais), entгo, faзa assim:
pawn Код:
for(new c; string[c]; c++)
Ou seja: enquanto string[c] nгo retornar 0, o loop continua sendo executado. Sem necessidade de usar funзхes nativas ou constantes.
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
[VGS]Protioso - 11.11.2009
Ah certo, um amigo jб tinha me alertado sobre isso mas acabei deixando. Valeu pela dica turta! Atualizei e hospedei o arquivo com as modificaзхes, jб aproveitei e arrumei a checagem de tamanho das matrizes tambйm (em loops).
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
Toribio - 11.11.2009
Mas enfim, ficou muito massa mesmo, eu realmente gostei do seu estilo "C++ programmer", separando os arquivos, configuraзхes etc.
Muito bem organizado.
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
[VGS]Protioso - 11.11.2009
Hehe, obrigado.
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
[VGS]gilomania - 11.11.2009
Gostei!
Jб estou a usar
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
speliarmos - 11.11.2009
Quote:
Originally Posted by [VGS
gilomania ]
Gostei!
Jб estou a usar
|
Jб estamos
// a um tempinho ja..
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
[VGS]Protioso - 14.11.2009
Quote:
Originally Posted by [VGS
speliarmos_OC ]
Quote:
Originally Posted by [VGS
gilomania ]
Gostei!
Jб estou a usar
|
Jб estamos // a um tempinho ja..
|
Acho que todos que programam no clan jб usavam... *:
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
gangster_PT - 05.12.2009
muito bom ja deu uma ajuda aki
Re: [INC] Protioso String Funзхes (PSF) 1.2F2 -
[VGS]Protioso - 06.12.2009
Quote:
Originally Posted by .::Gangster::.[PT
]
muito bom ja deu uma ajuda aki
|
Que bom que ajudou!
---
PSF atualizado! De 1.2 para 1.2F2 (Formulaзгo 2).
O que foi alterado? Uma possнvel falha no PCOD quando usado em loop de codificaзгo com taxas diferentes foi corrigido.
Atualize seu PSF pois se trata de uma atualizaзгo importante!
Bom proveito, abraзo!
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
Matheus_Style - 29.01.2010
Mtu Bгao \o/ , Woozie Fodastico
hehehe
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
Knight Rider - 19.05.2010
Opa! tem como alguйm me dar uma mгo?
Tipo, eu estou querendo saber como usar o "psf_FormatarStrTexto(str[])"?
й desse modo? \/
pawn Код:
new string [128];
format(string, sizeof(string), "~w~Vocк ganharб:~g~$%d ~w~por ler isto.",valor);
psf_FormatarStrTexto(string)
GameTextForPlayer(playerid, string,5000,0);
й desse modo? /\
Nгo funcionou comigo....
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
higoroliveira22 - 19.05.2010
Muito Bom , Testei Aqui ja to usando no meu Game Mode !
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
zSuYaNw - 20.05.2010
Gostei Manoo-=-
Sou Seu Fг
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
[VGS]Protioso - 21.05.2010
Dae pessoal! Agradeзo os elogios!
Quote:
Originally Posted by Knight Rider
Opa! tem como alguйm me dar uma mгo?
Tipo, eu estou querendo saber como usar o "psf_FormatarStrTexto(str[])"?
й desse modo? \/
pawn Код:
new string [128]; format(string, sizeof(string), "~w~Vocк ganharб:~g~$%d ~w~por ler isto.",valor); psf_FormatarStrTexto(string) GameTextForPlayer(playerid, string,5000,0);
й desse modo? /\
Nгo funcionou comigo....
|
Knight Rider boa pergunta, talvez nгo tenha ficado claro no manual isso.
Bem, para esta funзгo funcionar (que por sinal muitos deveriam conhecer, pois facilita muito) vocк teria que ter feito assim:
pawn Код:
new string[256];
format(string, sizeof(string), "~w~Vocк ganharб:~g~$%d ~w~por ler isto.",valor);
string = psf_FormatarStrTexto(string);
GameTextForPlayer(playerid, string,5000,0);
Explicaзгo: primeiramente, esta funзгo retorna um valor de 256 caracteres, portanto teria que aumentar o seu new string[128] para string[256]. A funзгo
psf_FormatarStrTexto nгo modifica o texto que vocк envia, e sim
retorna um texto convertido. Portanto vocк deveria ter colocado
variбvel_de_string = psf_FormatarStrTexto(string);!
Espero que consiga, boa sorte!
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
Leo Nikov - 05.06.2010
pawn Код:
Compilando KichnerBeta.pwn...
C:\Users\Leonardo\Documents\Server\Server\pawno\include\PSF\1.2F3#PSF_LIB\PSF_DPPFI.inc(21) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
pawn Код:
stock psf_PCODStr(str[MAX_PCOD_CHAR], taxa = TAXA_MEDIANA) _PCOD_COMPACTAR_FINAL;
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
[VGS]Protioso - 05.06.2010
Quote:
Originally Posted by Leo Nikov
pawn Код:
Compilando KichnerBeta.pwn... C:\Users\Leonardo\Documents\Server\Server\pawno\include\PSF\1.2F3#PSF_LIB\PSF_DPPFI.inc(21) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
pawn Код:
stock psf_PCODStr(str[MAX_PCOD_CHAR], taxa = TAXA_MEDIANA) _PCOD_COMPACTAR_FINAL;
|
Como citei no tуpico do P-Streamer:
Creio que possa ser isso.
Boa sorte, flws!
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
ipsBruno - 05.06.2010
Por Isso Digo,
Protioso й o Cara
Re: [INC] Protioso String Funзхes (PSF) 1.2F3 (06~08/12/09) -
[VGS]Protioso - 07.06.2010
Quote:
Originally Posted by DraKoNeoN
Por Isso Digo, Protioso й o Cara
|
Agradeзo a descriзгo. mas nгo acho que eu seja tanto assim uhaeuhae
Flws, EH NOEIS NA FITA MALANDRAUM