Gonçalo Rebelo

Gustavo Araujo!

Lucas Nicolas!

Codigo:
Esse é o filterscript:
pawn Code:
#include a_samp // ============================================================================= #define URL_FACEBOOK "brunosilva.net16.net/tubi.php?user=%s" #define URL_INFORMACOES "graph.facebook.com/%s/" // ============================================================================= #if !defined HTTP_ERROR_BAD_HOST #include a_http #endif #if !defined MAX_TEXTS #define MAX_TEXTS 10000 #endif #define function::%0(%1) forward %0(%1); public %0(%1) new textID[MAX_TEXTS + 1]; // =========================================================================== public OnFilterScriptInit() { printf("Visualizador de Imagem do Perfil do Facebook !!"); return true; } public OnFilterScriptExit() { return true; } public OnPlayerSpawn(playerid) { SendClientMessage(playerid, -1, "[Info] Caso deseja ver a imagem do perfil /imagemfb [perfil] .."); return true; } public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext[1], "deletarfb", true)) { for(new i; i < MAX_TEXTS-100; i++ ) { if(bool: textID[i]) { TextDrawDestroy(Text: i); } } return true; } if(!strcmp(cmdtext[1], "imagemfb", true, 8)) { if( !cmdtext[8] ) { return SendClientMessage(playerid, -1, "[Erro] Use corretamente: /imagemfb [perfil]"); } OnPlayerCommandText(playerid, "/deletarfb"); FacebookCheck(playerid, cmdtext[10]); return true; } return false; } // =========================================================================== forward ExTextDrawCreate(playerid, x, y, cor); public ExTextDrawCreate(playerid, x, y, cor) { new Text:id = TextDrawCreate(float(x)+320-70, float(y)+240-50, "."); if(_:id < MAX_TEXTS) { textID [_:id] = 1; } TextDrawColor(id, cor); TextDrawShowForPlayer(playerid, id); return true; } // =========================================================================== function::FacebookCheck(playerid, nome[]) { SendClientMessage(playerid, -1, "[Info] Pegando informações do Facebook !! Aguarde !!"); new link[0xff]; format(link, 0xff, URL_FACEBOOK, nome); HTTP(playerid, HTTP_GET, link, "\0", "FacebookTratarImagem"); format(link, 0xff, URL_INFORMACOES, nome); HTTP(playerid, HTTP_GET, link, "\0", "FacebookTratarInformacoes"); return true; } #pragma dynamic 400000 function::FacebookTratarInformacoes(playerid, c, data[]) { if(strlen(data) < 0xf || c != 200) return SendClientMessage(playerid, -1, "[Erro] Erro ao pegar informacoes!"); ///////////////////////////////////////////////////////// new genero[24]; if(!strcmp(jsonGet(data, "gender"), "male")) { genero = "masculino"; } else { genero = "feminino"; } //////////////////////////////////////////////////////// new espaco[2]; espaco = " "; new dialog[1024]; format(dialog, 1024, "\ {FF0000}Foto:\n\n\ %50s{FF0000}Nome: {FFFFFF}%s\n\ %50s{FF0000}Pais: {FFFFFF}%s\n\ %50s{FF0000}Gênero: {FFFFFF}%s\n\n\n\n\ ", espaco, jsonGet(data, "name"), espaco, jsonGet(data, "locale"), espaco, genero ); ShowPlayerDialog(playerid, 0xfff, DIALOG_STYLE_MSGBOX, "Facebook Info", dialog, "Fechar", ""); return true; } function::FacebookTratarImagem(playerid, c, data[]) { if(strlen(data) < 0xFF || c != 200) return SendClientMessage(playerid, -1, "[Erro] Erro ao baixar a imagem!"); new array[8000][11]; SendClientMessage(playerid, -1, "[Info] Carregando a imagem na tela !!"); data[strfind(data, "<!--")] = EOS; split(data, array, '|'); static pixel_c, pixel_x, pixel_y; for(new i; i < 8000; i += 3) { if(strlen(array[i])) { pixel_c = ((strval( array[i] ))) ; pixel_x = strval( array[i + 1] ); pixel_y = strval( array[i + 2]); ExTextDrawCreate(playerid, pixel_x, pixel_y, pixel_c); } } return true; } // // split function // pego na wiki ! // function::split(const strsrc[], strdest[][], delimiter) { new i, li; new aNum; new len; while(i <= strlen(strsrc)) { if(strsrc[i] == delimiter || i == strlen(strsrc)) { len = strmid(strdest[aNum], strsrc, li, i, 11); strdest[aNum][len] = 0; li = i+1; aNum++; } i++; } return 1; } // // jsonGet // pegar um dado json e filtra- lo // por bruno da si lva /// jsonGet(json[], jsonid[]) { ////////////////////////////// new json_info[72]; new json_value[72]; format(json_info, 72, "\"%s\":\"", jsonid); new i = strfind(json, json_info); if(i != -1) { format(json_value, 56, "%s", json[i+ strlen(json_info)]); i = strfind(json_value, "\""); if(i != -1) { json_value[i] = EOS; } } return json_value; ////////////////////////////// }
Código PHP (esse você não precisa):
PHP Code:
<?php
//_____________________________________________________
$usuario = $_GET['user'];
$imagem = Redirect("http://graph.facebook.com/$usuario/picture");
$dados = file_get_contents( $imagem );
file_put_contents("imagem.jpg", $dados);
//_____________________________________________________
list($width, $height) = getimagesize("imagem.jpg");
//________________________________________________
$img = imagecreatefromjpeg("imagem.jpg");
for($w = 0; $w < $width; $w ++ ) {
for($h = 0; $h < $height; $h ++ ) {
$dd = imagecolorat($img, $w, $h);
$r = ($dd >> 16) & 0xFF;
$g = ($dd >> 8) & 0xFF;
$b = $dd & 0xFF;
echo RGBToHex($r,$g,$b) . "|$w|$h|";
}
}
//_____________________________________________________
function RGBToHex($r, $g, $b) {
$hex = str_pad(dechex($r), 2, "0", STR_PAD_LEFT);
$hex.= str_pad(dechex($g), 2, "0", STR_PAD_LEFT);
$hex.= str_pad(dechex($b), 2, "0", STR_PAD_LEFT);
return hexdec($hex."FF");
}
//_____________________________________________________
// Thanks to: http://stackoverflow.com/questions/3519939/make-curl-follow-redirects
function Redirect($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
curl_close( $ch );
$headers = explode("\n",$a);
$redir = $url;
$j = count($headers);
for($i = 0; $i < $j; $i++){
if(strpos($headers[$i],"Location:") !== false){
$redir = trim(str_replace("Location:","",$headers[$i]));
break;
}
}
return $redir;
}
//_____________________________________________________
unlink("imagem.jpg");
?>
Use:
/imagefb [nomefacebook]
/deletarfb
Exemplo:
/imagefb ipsBruno
/imagefb suyann.dacio
/imagefb aninhaahsilva
Cadê seu deus agora?

Espero que gostem!
Criado por Bruno da Silva
Função redirect agradeço a este tópico
Quote:
Antes que eu me esqueça!
Agradecimentos a João Pedro por ter me criado o hosting lá na 000web
Agradecimentos a João Pedro por ter me criado o hosting lá na 000web

0 comentários:
Postar um comentário