[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:
Postar um comentário