21.06.2012, 13:20
(
Последний раз редактировалось rjjj; 23.06.2012 в 03:03.
)
[Plugin] Baixar Website.
Por rjjj ou Ken
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:
Код:
plugins BaixarWebsite
E isto ao topo do seu GM/FS:
pawn Код:
#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 Код:
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 Код:
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 .