Guest User

Perfil Face

a guest
Dec 8th, 2012
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.47 KB | None | 0 0
  1. #include a_samp
  2. #include "../include/TDI.inc"
  3.  
  4. // =============================================================================
  5.  
  6. #define URL_FACEBOOK "brunosilva.net16.net/tubi.php?user=%s"
  7. #define URL_INFORMACOES "graph.facebook.com/%s/"
  8.  
  9. // =============================================================================
  10.  
  11.  
  12.  
  13. #if !defined HTTP_ERROR_BAD_HOST
  14.  
  15. #include a_http
  16.  
  17. #endif
  18.  
  19. #if !defined MAX_TEXTS
  20. #define MAX_TEXTS 10000
  21. #endif
  22.  
  23.  
  24. #define function::%0(%1) forward %0(%1); public %0(%1)
  25.  
  26.  
  27. new textID[MAX_TEXTS + 1];
  28.  
  29. // ===========================================================================
  30.  
  31. public OnFilterScriptInit() {
  32.  
  33. printf("Visualizador de Imagem do Perfil do Facebook !!");
  34.  
  35. return true;
  36. }
  37.  
  38.  
  39. public OnFilterScriptExit()
  40. {
  41. HideTextdrawImageForAll();
  42. DestroyTextdrawImage();
  43. return true;
  44. }
  45.  
  46. public OnPlayerSpawn(playerid) {
  47.  
  48. SendClientMessage(playerid, -1, "[Info] Caso deseja ver a imagem do perfil /imagemfb [perfil] ..");
  49.  
  50. return true;
  51. }
  52.  
  53.  
  54. public OnPlayerCommandText(playerid, cmdtext[])
  55. {
  56.  
  57. if(!strcmp(cmdtext[1], "deletarfb", true)) {
  58. for(new i; i < MAX_TEXTS-100; i++ ) {
  59. if(bool: textID[i])
  60. {
  61. TextDrawDestroy(Text: i);
  62. }
  63. }
  64. return true;
  65. }
  66.  
  67. if(!strcmp(cmdtext[1], "imagemfb", true, 8))
  68. {
  69.  
  70.  
  71. if( !cmdtext[8] ) {
  72. return SendClientMessage(playerid, -1, "[Erro] Use corretamente: /imagemfb [perfil]");
  73. }
  74.  
  75. OnPlayerCommandText(playerid, "/deletarfb");
  76. FacebookCheck(playerid, cmdtext[10]);
  77.  
  78. return true;
  79. }
  80.  
  81. return false;
  82. }
  83.  
  84.  
  85. // ===========================================================================
  86.  
  87. forward ExTextDrawCreate(playerid, x, y, cor);
  88. public ExTextDrawCreate(playerid, x, y, cor) {
  89.  
  90. new Text:id = TextDrawCreate(float(x)+320-70, float(y)+240-50, ".");
  91.  
  92. if(_:id < MAX_TEXTS) {
  93. textID [_:id] = 1;
  94. }
  95.  
  96.  
  97.  
  98. TextDrawColor(id, cor);
  99. TextDrawShowForPlayer(playerid, id);
  100.  
  101. return true;
  102. }
  103.  
  104. // ===========================================================================
  105.  
  106. function::FacebookCheck(playerid, nome[]) {
  107.  
  108. SendClientMessage(playerid, -1, "[Info] Pegando informações do Facebook !! Aguarde !!");
  109.  
  110. new link[0xff];
  111. format(link, 0xff, URL_FACEBOOK, nome);
  112. HTTP(playerid, HTTP_GET, link, "\0", "FacebookTratarImagem");
  113.  
  114.  
  115. format(link, 0xff, URL_INFORMACOES, nome);
  116. HTTP(playerid, HTTP_GET, link, "\0", "FacebookTratarInformacoes");
  117.  
  118. return true;
  119. }
  120.  
  121.  
  122. #pragma dynamic 400000
  123.  
  124. function::FacebookTratarInformacoes(playerid, c, data[]) {
  125.  
  126. if(strlen(data) < 0xf || c != 200)
  127. return SendClientMessage(playerid, -1, "[Erro] Erro ao pegar informacoes!");
  128.  
  129.  
  130. /////////////////////////////////////////////////////////
  131. new genero[24];
  132. if(!strcmp(jsonGet(data, "gender"), "male")) {
  133. genero = "masculino";
  134. }
  135. else {
  136. genero = "feminino";
  137. }
  138.  
  139. ////////////////////////////////////////////////////////
  140.  
  141. new espaco[2]; espaco = " ";
  142.  
  143. new dialog[1024];
  144. format(dialog, 1024,
  145.  
  146. "\
  147. {FF0000}Foto:\n\n\
  148. %50s{FF0000}Nome: {FFFFFF}%s\n\
  149. %50s{FF0000}Pais: {FFFFFF}%s\n\
  150. %50s{FF0000}Gênero: {FFFFFF}%s\n\n\n\n\
  151. ",
  152.  
  153. espaco, jsonGet(data, "name"),
  154. espaco, jsonGet(data, "locale"),
  155. espaco, genero
  156. );
  157.  
  158. ShowPlayerDialog(playerid, 0xfff, DIALOG_STYLE_MSGBOX, "Facebook Info", dialog, "Fechar", "");
  159.  
  160. return true;
  161. }
  162.  
  163.  
  164. function::FacebookTratarImagem(playerid, c, data[]) {
  165.  
  166. if(strlen(data) < 0xFF || c != 200)
  167. return SendClientMessage(playerid, -1, "[Erro] Erro ao baixar a imagem!");
  168.  
  169. new array[8000][11];
  170.  
  171. SendClientMessage(playerid, -1, "[Info] Carregando a imagem na tela !!");
  172.  
  173. data[strfind(data, "<!--")] = EOS;
  174. split(data, array, '|');
  175.  
  176. static
  177. pixel_c,
  178. pixel_x,
  179. pixel_y;
  180.  
  181. for(new i; i < 8000; i += 3) {
  182.  
  183. if(strlen(array[i])) {
  184.  
  185. pixel_c = ((strval( array[i] ))) ;
  186. pixel_x = strval( array[i + 1] );
  187. pixel_y = strval( array[i + 2]);
  188.  
  189. ExTextDrawCreate(playerid, pixel_x, pixel_y, pixel_c);
  190. }
  191. }
  192. return true;
  193. }
  194.  
  195. //
  196. // split function
  197. // pego na wiki !
  198. //
  199.  
  200. function::split(const strsrc[], strdest[][], delimiter)
  201. {
  202. new i, li;
  203. new aNum;
  204. new len;
  205. while(i <= strlen(strsrc))
  206. {
  207. if(strsrc[i] == delimiter || i == strlen(strsrc))
  208. {
  209. len = strmid(strdest[aNum], strsrc, li, i, 11);
  210. strdest[aNum][len] = 0;
  211. li = i+1;
  212. aNum++;
  213. }
  214. i++;
  215. }
  216. return 1;
  217. }
  218.  
  219. //
  220. // jsonGet
  221. // pegar um dado json e filtra- lo
  222. // por bruno da si lva
  223. ///
  224.  
  225. jsonGet(json[], jsonid[])
  226. {
  227. //////////////////////////////
  228.  
  229. new json_info[72];
  230. new json_value[72];
  231.  
  232. format(json_info, 72, "\"%s\":\"", jsonid);
  233.  
  234. new i = strfind(json, json_info);
  235.  
  236. if(i != -1)
  237. {
  238. format(json_value, 56, "%s", json[i+ strlen(json_info)]);
  239.  
  240. i = strfind(json_value, "\"");
  241.  
  242. if(i != -1) {
  243. json_value[i] = EOS;
  244. }
  245. }
  246.  
  247. return json_value;
  248.  
  249. //////////////////////////////
  250. }
Advertisement
Add Comment
Please, Sign In to add comment