HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2.  
  3. #define PLUGIN "Hirdetesek"
  4. #define VERSION "1.1"
  5. #define AUTHOR "DeRoiD"
  6.  
  7. #define MAXUZENETEK 20
  8. #define UZENETID 933207
  9.  
  10. #pragma semicolon 1
  11.  
  12. new OsszesHirdetes[MAXUZENETEK][512], ElozoHirdetes = UZENETID;
  13. new FajlUt[] = "addons/amxmodx/configs/hirdetesek.cfg";
  14. new HirdetesiEffectHang[] = "hirdetesek/effect";
  15. new OsszesSor, KovetkezoSor = 0;
  16.  
  17. new HirdetesiIdo, HirdetesiEffect;
  18.  
  19. public plugin_precache() {
  20. new Hang[64];
  21. format(Hang, 63, "%s.wav", HirdetesiEffectHang);
  22. precache_sound(Hang);
  23. }
  24. public plugin_init() {
  25. register_plugin(PLUGIN, VERSION, AUTHOR);
  26. if(file_exists(FajlUt))
  27. {
  28. HirdetesiIdo = register_cvar("HirdetesiIdo", "120.0");
  29. HirdetesiEffect = register_cvar("HirdetesiEffect", "1");
  30. HirdetesekBetoltese();
  31. }
  32. else
  33. {
  34. set_fail_state("HIBA: Nem talalhato a hirdetesek.cfg fajl!");
  35. }
  36. }
  37. public HirdetesekBetoltese() {
  38. new Sor, Lekeres[512], SorEllenorzes[32];
  39. OsszesSor = file_size(FajlUt, 1);
  40. for(new SorSzam; SorSzam < OsszesSor; SorSzam++)
  41. {
  42. read_file(FajlUt, SorSzam, Lekeres, 511, Sor);
  43. format(SorEllenorzes, 1, "%s", Lekeres);
  44. if(equal(";", SorEllenorzes) || equal("", SorEllenorzes))
  45. {
  46. continue;
  47. }
  48. remove_quotes(Lekeres);
  49. KovetkezoSor++;
  50. format(OsszesHirdetes[KovetkezoSor], 511, "%s", Lekeres);
  51. }
  52. if(KovetkezoSor > 0)
  53. {
  54. set_task(get_pcvar_float(HirdetesiIdo), "Hirdetesek", UZENETID, _, _, "b");
  55. log_amx("Hirdetesek v1.0 by: DeRoiD");
  56. log_amx("Hirdetesek szama: %d | Hirdetesi Ido: %3.1f", KovetkezoSor, get_pcvar_float(HirdetesiIdo));
  57. }
  58. }
  59. public Hirdetesek() {
  60. new VeletlenszeruSzam = random_num(1, KovetkezoSor);
  61. if(VeletlenszeruSzam == ElozoHirdetes || equal(OsszesHirdetes[KovetkezoSor], ""))
  62. {
  63. set_task(0.1, "Hirdetesek");
  64. }
  65. else
  66. {
  67. ElozoHirdetes = VeletlenszeruSzam;
  68. new OsszesJatekos[32], Jatekosok;
  69. get_players(OsszesJatekos, Jatekosok, "c");
  70. for(new Jatekos; Jatekos < Jatekosok; Jatekos++)
  71. {
  72. HirdetesUzenetek(OsszesJatekos[Jatekos], OsszesHirdetes[VeletlenszeruSzam], get_pcvar_num(HirdetesiEffect));
  73. }
  74. }
  75. }
  76. public HirdetesUzenetek(id, const UzenetAdat[], Hang) {
  77. if(Hang == 1)
  78. {
  79. new Hang[64];
  80. format(Hang, 63, "%s.wav", HirdetesiEffectHang);
  81. client_cmd(id, "spk %s", Hang);
  82. }
  83. static Uzenet[512];
  84. vformat(Uzenet, 511, UzenetAdat, 3);
  85. replace_all(Uzenet, 511, "!z", "^4");
  86. replace_all(Uzenet, 511, "!s", "^1");
  87. replace_all(Uzenet, 511, "!cs", "^3");
  88. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, id);
  89. write_byte(id);
  90. write_string(Uzenet);
  91. message_end();
  92. }
  93. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  94. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  95. */
  96.