Advertisement
Xaviour212

Ulric Multi Language

Mar 10th, 2012
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.04 KB | None | 0 0
  1. //Ulric Multi Language by Xaviour212
  2. #include <a_samp>
  3.  
  4. #if defined _Language_included
  5.     #endinput
  6. #endif
  7. #define _Language_included
  8.  
  9. #if !defined FALSE
  10.     stock bool:FALSE = false;
  11. #endif
  12.  
  13. #define SendMultiLangMsgEx(%0,%1,%2,%3,%4)    do{new str[128]; format(str, 128, ShowWord(%2, %3), %4); SendClientMessage(%0, %1, str);}while(FALSE)
  14.  
  15. stock SetPlayerLanguage(playerid, langname[])
  16.     return SetPVarString(playerid, "Language", langname);
  17.    
  18. stock GetPlayerLanguage(playerid)
  19. {
  20.     new str[50];
  21.     GetPVarString(playerid, "Language", str, 50);
  22.     return str;
  23. }
  24.  
  25. stock SendMultiLangMsg(playerid, colour, langname[], wordcode[])
  26. {
  27.     new str[256];
  28.     format(str, sizeof(str), "%s", ShowWord(langname, wordcode));
  29.     SendClientMessage(playerid, colour, str);
  30.     return 1;
  31. }
  32.  
  33. stock SendMultiLangMsg2(playerid, colour, wordcode[])
  34. {
  35.     new str[50], str2[256];
  36.     format(str, sizeof(str), "%s", GetPlayerLanguage(playerid));
  37.     format(str2, sizeof(str2), "%s", ShowWord(str, wordcode));
  38.     SendClientMessage(playerid, colour, str2);
  39.     return 1;
  40. }
  41.  
  42. stock ShowWord(langname[], wordcode[]) //function gets from Dini by Dracoblue
  43. {
  44.     new tmpres[256];
  45.  
  46.     new key_length = strlen(wordcode);
  47.     if (key_length==0 || key_length+2>256) return tmpres;
  48.  
  49.     new File:Langfile;
  50.     Langfile=fopen(LFile(langname),io_read);
  51.     if (!Langfile) return tmpres;
  52.  
  53.     while (fread(Langfile,tmpres))
  54.     {
  55.         if (tmpres[key_length]=='=' && !strcmp(tmpres, wordcode, true, key_length))
  56.         {
  57.             NewLine(tmpres);
  58.             strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), 256);
  59.             fclose(Langfile);
  60.             return tmpres;
  61.         }
  62.     }
  63.     fclose(Langfile);
  64.     return tmpres;
  65. }
  66.  
  67. stock NewLine(string[]) //from Dini (DINI_StripNewLine)
  68. {
  69.     new len = strlen(string);
  70.     if (string[0]==0) return ;
  71.     if ((string[len - 1] == '\n') || (string[len - 1] == '\r'))
  72.     {
  73.         string[len - 1] = 0;
  74.         if (string[0]==0) return ;
  75.         if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
  76.     }
  77. }
  78.  
  79. stock LFile(langname[])
  80. {
  81.     new asd[64];
  82.     format(asd,64,"Language/%s.txt",langname);
  83.     return asd;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement