Advertisement
Guest User

Untitled

a guest
May 16th, 2013
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. /*************************************************************************************************************
  2. Autor - m4a_X
  3. Version - 1.0.0
  4. *************************************************************************************************************/
  5.  
  6. #include <a_samp>
  7. #include <a_http>
  8.  
  9. forward UpdateTranslator(playerid, response_code, data[]);
  10. enum {
  11. GUI_SPEAKCHANGE = 8000,
  12. };
  13.  
  14. stock translateOnPlayerCommandText(playerid, cmdtext[]){
  15. if(strcmp(cmdtext, "/translator", true) == 0){
  16. if(!GetPVarInt(playerid,"pVarTrans")){
  17. SendClientMessage(playerid,-1,">> Benutze erneut /translator um wieder aus dem Übersetzungsmodus rauszukommen. <<");
  18. SendClientMessage(playerid,-1,">> Mit /sprachen kannst du deine Sprache Auswählen. <<");
  19. StartTranslator(playerid);
  20. }else{
  21. SendClientMessage(playerid,-1,">> Der Translator wurde Abgeschalten. <<");
  22. StopTranslator(playerid);
  23. }
  24. return 1;
  25. }
  26. if(strcmp(cmdtext, "/sprachen", true) == 0){
  27. if(GetPVarInt(playerid,"pVarTrans") == 1){
  28. new string[500];
  29. strcat(string,"{FFCC00}DEUTSCH {CCFF00}\"DE\"\n");
  30. strcat(string,"{FFCC00}ENGLISCH {CCFF00}\"EN\"\n");
  31. strcat(string,"{FFCC00}TÜRKISCH {CCFF00}\"TR\"\n");
  32. strcat(string,"{FFCC00}FRANZÖSISCH {CCFF00}\"FR\"\n");
  33. ShowPlayerDialog(playerid, GUI_SPEAKCHANGE, DIALOG_STYLE_LIST, "Wähle deine Sprache", string, "Auswählen", "Abbrechen");
  34. }else{
  35. SendClientMessage(playerid,-1,"Du kannst dir erst eine Sprache Auswählen wenn du im Übersetzungsmodus bist, nutze dafür /translator");
  36. }
  37. return 1;
  38. }
  39. return 1;
  40. }
  41.  
  42. stock translateOnDialogResponse(playerid, dialogid, response, listitem){
  43. if(dialogid == GUI_SPEAKCHANGE){
  44. if(response){
  45. new lang[5],
  46. str[128];
  47. switch(listitem){
  48. case 0:SetPVarString(playerid,"sprache","de");
  49. case 1:SetPVarString(playerid,"sprache","en");
  50. case 2:SetPVarString(playerid,"sprache","tr");
  51. case 3:SetPVarString(playerid,"sprache","fr");
  52. }
  53. GetPVarString(playerid,"sprache",lang,5);
  54. format(str,sizeof(str),"Deine Sprache ist nun '%s'", AlleSprachen(lang));
  55. SendClientMessage(playerid,-1,str);
  56. }
  57. return 1;
  58. }
  59. return 1;
  60. }
  61.  
  62. stock AlleSprachen(sprachen[]){
  63. new text[20];
  64. if(!strcmp(sprachen, "de")) text = "Deutsch";
  65. else if(!strcmp(sprachen, "en")) text = "Englisch";
  66. else if(!strcmp(sprachen, "tr")) text = "Türkisch";
  67. else if(!strcmp(sprachen, "fr")) text = "Französisch";
  68. return text;
  69. }
  70.  
  71. stock Translate(playerid,to[],text[]){
  72. new translatorLink[1200];
  73. format(translatorLink,sizeof(translatorLink),"api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=6635D742380CF583FEE16FF83E80BC8238F166E3&to=%s&text=%s",to,text); // appID nicht von mir (m4a_X)
  74. for(new c; c < strlen(translatorLink)+1; c++){
  75. if(translatorLink[c] == ' ') translatorLink[c] = '+';
  76. }
  77. HTTP(playerid, HTTP_GET, translatorLink, "", "UpdateTranslator");
  78. return 1;
  79. }
  80.  
  81. stock StartTranslator(playerid) {
  82. SetPVarInt(playerid,"pVarTrans",1);
  83. SetPVarString(playerid,"sprache","de");
  84. return 1;
  85. }
  86.  
  87. stock StopTranslator(playerid) {
  88. DeletePVar(playerid,"pVarTrans");
  89. DeletePVar(playerid,"sprache");
  90. return ;
  91. }
  92.  
  93. stock transMessage(playerid, color, string[]) {
  94. if(GetPVarInt(playerid,"pVarTrans") == 1) {
  95. new lang[5],
  96. str[128];
  97. GetPVarString(playerid,"sprache",lang,5);
  98. Translate(playerid,lang,string);
  99. format(str,sizeof(str),"%s",AlleSprachen(lang));
  100. SendClientMessage(playerid,color,str);
  101. } else {
  102. SendClientMessage(playerid,color,string);
  103. }
  104. return 1;
  105. }
  106.  
  107. stock transMessageToAll(playerid, color, string[]) {
  108. if(GetPVarInt(playerid,"pVarTrans") == 1) {
  109. new lang[5],
  110. str[128];
  111. GetPVarString(playerid,"sprache",lang,5);
  112. Translate(playerid,lang,string);
  113. format(str,sizeof(str),"%s",AlleSprachen(lang));
  114. SendClientMessageToAll(color,str);
  115. } else {
  116. SendClientMessageToAll(color,string);
  117. }
  118. return 1;
  119. }
  120.  
  121. public UpdateTranslator(playerid, response_code, data[]){
  122. new string[1028],
  123. lang[5],
  124. strp[128];
  125. if(response_code == 200){
  126. if(strfind(data, "", true) != -1) strdel(data,0,3);
  127. format(string, sizeof(string), "%s", data);
  128. SendClientMessage(playerid,-1,string);
  129. GetPVarString(playerid,"sprache",lang,5);
  130. format(strp,sizeof(strp),"http://translate.google.com/translate_tts?tl=%s&q=%s",lang,data);
  131. PlayAudioStreamForPlayer(playerid,strp);
  132. }else{
  133. format(string, sizeof(string), "The request failed! The response code was: %d", response_code);
  134. SendClientMessage(playerid, 0xFFFFFFFF, string);
  135. }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement