hlmod.hu
https://hlmod.hu/

Hang lejátszó menü
https://hlmod.hu/viewtopic.php?f=29&t=24376
Oldal: 1 / 1

Szerző:  PikHácsúú# [2016.03.22. 16:54 ]
Hozzászólás témája:  Hang lejátszó menü

Hali, kéne nekem egy olyan plugin, ami előhoz egy menüt, és ha kiválasztok egy menüpontot
Pl 1. Majom
Akkor lejátszik egy hangot, amit én megvágok. Csak ennek elkezdését kérem, a többit folytatom én.
:) Csak hangot nem tudok lekérni, meg, hogy lejátsza az embereknek mikor rányomok.

(u.i: Mikor rányomok a menüpontra a hangot mindenkine lejátsza, mint például az amxmodmenu-ben, a Beszéd Menü, ahol a Yup, Nope, Hello, és ilyen hangok vannak.! :)
De ha valaki tudja, hogy azt milyen módon tudom átirni, + hangot cserélni akkor inkább azt a verziót választanám. :)

Előre is köszönöm. Nem felejtem el megköszönni. :)

Szerző:  mforce [2016.03.22. 19:13 ]
Hozzászólás témája:  Re: Hang lejátszó menü

https://www.youtube.com/watch?v=9EAr9VXCqY0

Szerző:  mforce [2016.03.24. 22:26 ]
Hozzászólás témája:  Re: Hang lejátszó menü

Még kapott 10 perc melót, teszteld légyszíves.

configs/hangok.ini-be legyenek a hangok...

"valami" "hangok/valami.mp3"


a cs által támogatott wav fájlokat is lejátsza.
Dinamikus tömbbe kezel mindent, úgyhogy nem foglal feleslegesen.

  1. #include <amxmodx>
  2.  
  3.  
  4. new const PLUGIN[] = "Hangok";
  5. new const VERSION[] = "1.0";
  6. new const AUTHOR[] = "mforce";
  7.  
  8.  
  9. #define ACCESS_FLAG ADMIN_KICK
  10.  
  11. enum _:types {nev[32], eleres[32]};
  12. new Array:musiclist
  13. new hangok[types];
  14.  
  15. public plugin_init() {
  16.     register_plugin(PLUGIN, VERSION, AUTHOR);
  17.    
  18.     register_clcmd("say", "sayhandler", ACCESS_FLAG);
  19.     register_clcmd("say_team", "sayhandler", ACCESS_FLAG);
  20.    
  21.     register_clcmd("say /hangmenu", "hangmenu", ACCESS_FLAG); // mivel ez volt a kérés :)
  22.    
  23.     musiclist = ArrayCreate(types)
  24. }
  25.  
  26. public plugin_precache() {
  27.     new sBuffer[256], sFile[64], sData[2][32], pFile;
  28.  
  29.     get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
  30.     format(sFile, charsmax(sFile), "%s/hangok.ini", sFile);
  31.  
  32.     pFile = fopen(sFile, "rt");
  33.  
  34.     if(pFile) {    
  35.         while(!feof(pFile)) {
  36.             fgets(pFile, sBuffer, charsmax(sBuffer));
  37.             trim(sBuffer);
  38.             if(sBuffer[0] == ';') continue;
  39.  
  40.             parse(sBuffer, sData[0], charsmax(sData[]), sData[1], charsmax(sData[]));
  41.  
  42.             if(containi(sData[1], ".mp3") != -1 || containi(sData[1], ".wav") != -1) {
  43.                 precache_sound(sData[1])
  44.                 copy(hangok[nev], charsmax(hangok[nev]), sData[0]);
  45.                 copy(hangok[eleres], charsmax(hangok[eleres]), sData[1]);
  46.                 ArrayPushArray(musiclist, hangok);
  47.             }
  48.         }
  49.         fclose(pFile);
  50.     }
  51.     else fprintf(pFile, ";^"valami^" ^"hangok/valami.mp3^"^n");
  52. }
  53.  
  54. public sayhandler(id) {
  55.     new message[32]; read_args(message, charsmax(message));
  56.     remove_quotes(message);
  57.    
  58.     new size = ArraySize(musiclist);
  59.     for(new i = 0; i < size; i++) {
  60.         ArrayGetString(musiclist, i, hangok[nev], charsmax(hangok[nev]))
  61.         if(equali(message, hangok[nev]))
  62.             playsound(i);
  63.     }
  64. }
  65.  
  66. public hangmenu(id) {
  67.     new s_MenuName[128]; formatex(s_MenuName, charsmax(s_MenuName), "%s^nby \r%s \y", PLUGIN, AUTHOR);
  68.     new menu = menu_create(s_MenuName, "hangmenu_h");
  69.     new size = ArraySize(musiclist);
  70.     for(new i = 0; i < size; i++) {
  71.         ArrayGetString(musiclist, i, hangok[nev], charsmax(hangok[nev]))
  72.         menu_additem(menu, hangok[nev], "", 0)
  73.     }
  74.    
  75.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  76.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  77.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  78.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  79.     menu_display(id, menu, 0);
  80. }
  81.  
  82. public hangmenu_h(id, menu, item) {
  83.     if(item == MENU_EXIT) {
  84.         menu_destroy(menu);
  85.         return PLUGIN_HANDLED;
  86.     }
  87.    
  88.     playsound(item);
  89.    
  90.     menu_destroy(menu);
  91.     return PLUGIN_HANDLED;
  92. }
  93.  
  94. stock playsound(item) {
  95.     ArrayGetString(musiclist, item, hangok[eleres], charsmax(hangok[eleres]))
  96.    
  97.     if(containi(hangok[eleres], ".mp3") != -1)
  98.         client_cmd(0, "mp3 play ^"sound/%s^"", hangok[eleres]);
  99.     else
  100.         client_cmd(0, "spk ^"%s^"", hangok[eleres]);
  101. }
  102.  
  103. public plugin_end() {
  104.     ArrayDestroy(musiclist)
  105. }
  106.  
  107.  
  108. // Ennyi lenne a történet :)

Szerző:  mforce [2016.03.26. 19:04 ]
Hozzászólás témája:  Re: Hang lejátszó menü

Jóje?

Szerző:  PikHácsúú# [2016.03.26. 19:27 ]
Hozzászólás témája:  Re: Hang lejátszó menü

Yap, Thank You Master. :DDD :xicon_e_biggrin: :xicon_e_biggrin:

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/