y_extra_languages.inc 930 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #if defined _INC_y_extra_languages
  2. #endinput
  3. #endif
  4. #define _INC_y_extra_languages
  5. // Include pretty much 90% of YSI in one fell swoop!
  6. loadtext core[ysi_langs];
  7. YCMD:language(playerid, params[], help)
  8. {
  9. if (help)
  10. {
  11. Text_Send(playerid, $YSI_LANGS_HELP);
  12. }
  13. else
  14. {
  15. new
  16. lang;
  17. if (sscanf(params, "i", lang))
  18. {
  19. new
  20. c = _:Langs_GetLanguageCount(),
  21. Language:i = Language:0;
  22. while (c)
  23. {
  24. new
  25. code[3];
  26. strcpy(code, Langs_GetCode(i));
  27. if (!isnull(code))
  28. {
  29. // They may not be in order.
  30. Text_Send(playerid, $YSI_LANGS_DISP, _:i, Langs_GetName(i), code);
  31. --c;
  32. }
  33. ++i;
  34. }
  35. Text_Send(playerid, $YSI_LANGS_SET, YCMD:language);
  36. }
  37. else if (Langs_SetPlayerLanguage(playerid, Language:lang) == NO_LANGUAGE)
  38. {
  39. Text_Send(playerid, $YSI_LANGS_INV);
  40. }
  41. else
  42. {
  43. Text_Send(playerid, $YSI_LANGS_DONE, lang, Langs_GetName(Language:lang));
  44. }
  45. }
  46. return 1;
  47. }