Advertisement
Guest User

[SA-MP] h_Translate - Include

a guest
Jan 28th, 2014
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.24 KB | None | 0 0
  1. //Criado por Mr.Hardy do SA:MP Forum, usem avontade! Mais ao menos coloquem meus créditos!
  2.  
  3. //URL do tradutor
  4. #define URL_Tradutor "localhost/tradutor.php" //Só funciona se for sem http:// ! Ex: Incorreto:
  5.                                                                                               //Correto: site.com/tradutor.php
  6. //Linguas
  7. #define portugues "pt"
  8. #define ingles "en"
  9. #define espanhol "es"
  10. //Existem dezenas linguas disponíveis! Ache você mesmo ou aguarde as próximas atualizaçãoes.
  11.  
  12. new String_Translated[256];
  13.  
  14. stock SendClientMessageEx(playerid, color, text[], entrada[], saida[]) SendClientMessage(playerid, color, TranslateText(text, entrada, saida));
  15. stock SendClientMessageToAllEx(color, text[], entrada[], saida[]) SendClientMessageToAll(color, TranslateText(text, entrada, saida));
  16. stock SendPlayerMessageToPlayerEx(recipient, sender, text[], entrada[], saida[]) SendPlayerMessageToPlayer(recipient, sender, TranslateText(text, entrada, saida));
  17. stock GameTextForPlayerEx(playerid, text[], ms, style, entrada[], saida[]) GameTextForPlayer(playerid, TranslateText(text, entrada, saida), ms, style);
  18. stock GameTextForAllEx(text[], ms, style, entrada[], saida[]) GameTextForAll(TranslateText(text, entrada, saida), ms, style);
  19. stock CreatePlayerTextDrawEx(playerid, Float:X, Float:Y, text[], entrada[], saida[]) CreatePlayerTextDraw(playerid, X, Z, TranslateText(text, entrada, saida));
  20. stock PlayerTextDrawSetStringEx(playerid, textdrawid, text[]) PlayerTextDrawSetString(playerid, textdrawid, TranslateText(text, entrada, saida));
  21. stock PlayerText3D:CreatePlayer3DTextLabelEx(playerid, text[], color, Float:X, Float:Y, Float:Z, Float:DrawDistance, entrada[], saida[], attachedplayer=INVALID_PLAYER_ID, attachedvehicle=INVALID_VEHICLE_ID, testLOS=0) CreatePlayer3DTextLabel(playerid, TranslateText(text, entrada, saida), color, Float:X, Float:Y, Float:Z, Float:DrawDistance, attachedplayer=INVALID_PLAYER_ID, attachedvehicle=INVALID_VEHICLE_ID, testLOS=0);
  22.  
  23. stock TranslateText(text[], entrada[], saida[]) /* '-' Duas stocks para fazer funcionar pois não dava tempo do código                                                 Executar e pegar a tradução ao mesmo tempo */
  24. {
  25.     Work_TranslateText(text, entrada, saida);
  26.     return String_Translated;
  27. }
  28.  
  29. stock Work_TranslateText(text[], entrada[], saida[])
  30. {
  31.     new string[256];
  32.     format(string, 256, "%s?texto=%s&de=%s&para=%s", URL_Tradutor, urlencode(text), entrada, saida);
  33.     HTTP(-1, HTTP_GET, string, "", "GetTextTranslate");
  34.    
  35.     print(string);
  36.     return true;
  37. }
  38.  
  39. stock ResponseCode(id)
  40. {
  41.     new string[32];
  42.     switch (id) {
  43.         case 1: format(string, 32, "HTTP_ERROR_BAD_HOST");
  44.         case 2: format(string, 32, "HTTP_ERROR_NO_SOCKET");
  45.         case 3: format(string, 32, "HTTP_ERROR_CANT_CONNECT");
  46.         case 4: format(string, 32, "HTTP_ERROR_CANT_WRITE");
  47.         case 5: format(string, 32, "HTTP_ERROR_CONTENT_TOO_BIG");
  48.         case 6: format(string, 32, "HTTP_ERROR_MALFORMED_RESPONSE");
  49.         default: format(string, 32, "Desconhecido"); }
  50.     return string;
  51. }
  52.  
  53.  
  54. forward GetTextTranslate(index, response_code, data[]);
  55. public GetTextTranslate(index, response_code, data[])
  56. {
  57.     if  (response_code == 200)
  58.     {
  59.         strdel(data, -3, 0);
  60.         format(String_Translated, 256, data);
  61.     } else {
  62.         format(String_Translated, 256, "Falha na conexão ! Resposta do Sistema: [%i]%s", response_code,ResponseCode(response_code));
  63.     }
  64.     print(String_Translated);
  65. }
  66.  
  67. //urlencode - Criado por DracoBlue
  68. stock urlencode(string[]) {
  69.     new ret[0xff];
  70.     ret[0] = 0;
  71.     new i = 0;
  72.     new p = 0;
  73.     new s = 0;
  74.     while (string[i] != 0) {
  75.         if  (
  76.                 (string[i] >= 'A' && string[i] <='Z')
  77.                 || (string[i] >= 'a' && string[i] <='z')
  78.                 || (string[i] >= '0' && string[i] <='9')
  79.                 || (string[i] == '-')
  80.                 || (string[i] == '_')
  81.                 || (string[i] == '.')
  82.             ) {
  83.                 ret[p] = string[i];
  84.             } else {
  85.                 //
  86.                 ret[p] = '%';
  87.                 p++;
  88.                 s = (string[i] % 16); //
  89.                 ret[p+1] = (s>9) ? (55+s) : (48+s); // 64 - 9 = 55
  90.                 s = floatround((string[i] - s)/16);
  91.                 ret[p] = (s>9) ? (55+s) : (48+s); // 64 - 9 = 55
  92.                 p++;
  93.             }
  94.         p++;
  95.         i++;
  96.     }
  97.     return ret;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement