domingo, 10 de março de 2013

0 Baixar Website

[Plugin] Baixar Website. Por rjjj ou Ken





Créditos a:


* rjjj ou Ken pelo plugin.
* Desenvolvedores do SA-MP pelo suporte aos plugins.







Informações:



Inspirei-me a fazer este plugin devido ao fato de obter informações de sites da internet ter sido uma tarefa muito difícil, requerendo conhecimentos de bancos de dados, entre outros temas complexos de programação .



A função dele é baixar o código-fonte de websites para a pasta scriptfiles do servidor, tornando possível o uso de dados presentes nos mesmos no jogo.



O plugin cria um arquivo denominado BaixarWebsite.vbs quando o SA-MP Server é ligado, e, por meio dele, baixa os sites. Para que não ocorra travamentos durante o jogo nem nada do tipo, adicionei um sistema de multithreading para a execução do arquivo .






Notas Importantes:



O download de vários sites ao mesmo tempo não é permitido. Caso queira baixar um depois de outro, espere a callback ConteudoWebsite ser acionada para este antes.



Nem todos os sites podem ter seu código-fonte capturado, então é necessário que sejam realizados testes para determinar se um site específico é ou não compatível com o plugin .






Instalação do Plugin:



Após efetuar o download no final do tópico, coloque o arquivo BaixarWebsite.inc que veio com ele na subpasta include da sua pasta pawno. Depois disso coloque o arquivo BaixarWebsite.dll na pasta plugins .



Em seguida adicione isto ao seu arquivo server.cfg:



Code:
plugins BaixarWebsite


E isto ao topo do seu GM/FS:



pawn Code:
#include <BaixarWebsite>



Finalmente, instalação concluída .






Como Usar:



A função BaixarWebsite programa o download do código-fonte de determinado website. Seus parâmetros são :



pawn Code:
BaixarWebsite(site[], tempo);



Ao primeiro parâmetro deve-se passar uma string igual ao endereço do website do qual se quer obter o código-fonte, e, ao segundo parâmetro, o tempo em milissegundos (número) que se deve passar para que a callback ConteudoWebsite seja executada .



Essa callback serve para facilitar a leitura do arquivo no qual for armazenado o conteúdo do site. Como dependendo do site esse arquivo pode demorar para ficar pronto, especificar o tempo é algo de suma importância.



Se quiserem que ela seja lida após o tempo mínimo necessário, façam testes com os sites que escolherem .



Exemplo de uso:



pawn Code:
main() {     BaixarWebsite("http://www.horariodebrasilia.org/", 5000); } public ConteudoWebsite(File:arquivo)  //Trate "arquivo" como uma referência ao arquivo no qual for colocado o código do site. {     new STR[128];     while(fread(arquivo, STR))     {         print(STR);     }     fclose(arquivo);     return 1; }



No código acima, após 5 segundos se passarem desde o momento que a função BaixarWebsite foi chamada no main, será mostrado na janela do samp-server.exe o código-fonte do site especificado .






Download:



http://www.solidfiles.com/d/1823c1a0f8/download/ - Plugin + Source.





Obs: Não exclua o arquivo BaixarWebsite.vbs (diretório do samp-server.exe) nem o arquivo Site.txt (diretório scriptfiles), que são gerados pelo plugin.



Obs 2: Como o plugin usa um arquivo .vbs, que é rodado por um programa interno do Windows, não há uma versão para Linux.



Obs 3: Não retire os créditos !!!.




Espero ter ajudado .

0 comentários: