hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 12:17



Jelenlévő felhasználók

Jelenleg 231 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 231 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 20 hozzászólás ]  Oldal 1 2 Következő
Szerző Üzenet
 Hozzászólás témája: Funny Sounds
HozzászólásElküldve: 2016.04.20. 20:12 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Plugin Neve:
Funny Sounds
Plugint készitette:
mforce
Játék:
Mind
Kategória:
Szórakoztató
Eredeti link:
Jóváhagyó:


Funny Sounds
v1.0 by mforce


Leírás:
Vicces hangok játszhatók le a chaten (.wav és mp3 egyaránt).
Egy konfigurációs fájlban megadhatók a parancsok és a kívánt hang elérési út hozzá.
Megadható akár, hogy csak jogokra lehessen használni és akkor milyen jogra.
2 hang lejátszása közti idő.
Egyénileg ki és bekapcsolható hanglejátszási funkció, ha valakit zavarnak a hangok.

Parancsok:
/sounds - Ki - vagy bekapcsolja a chathangok lejátszását. (A játékos kliensébe mentődik a kiválasztás).

Konfiguráció:
Szerverprefix módosítható az .sma-n belül a 9. sorban:
  1. new const PREFIX[] = "Funny Sounds";


A jogkör akik a hangok lejátszhatják, módosítható a 11. sorban (alap ADMIN_KICK, tehát "c" jog):
  1. #define ACCESS_FLAG ADMIN_KICK

[Ha ez a sor ki van kommentelve, akkor nem jogra működik a plugin, hanem bárki használhatja.

A hangok lejátszása közti idő (másodpercben) módosítható a 12. sorban.
  1. #define TIME_BETWEEN_SOUNDS     30


A "configs/funny_sounds.ini" fájlban megadhatók a chat parancsok és a kívánt hang elérési útja hozzá (sounds/).
Kód:
"valami" "valami_mappa/valami.mp3"



SMA
AMXX
Tömörített fájl
*A fordítás a aghl.ru oldalon történik.

    _________________
    GitHub - mforce

    Ők köszönték meg mforce nek ezt a hozzászólást (összesen 2): jokypapa (2016.04.23. 13:54) • elit (2016.06.19. 10:18)
      Népszerűség: 4.55%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.04.20. 20:16 
    Offline
    Nagyúr
    Avatar

    Csatlakozott: 2014.08.24. 18:28
    Hozzászólások: 584
    Megköszönt másnak: 122 alkalommal
    Megköszönték neki: 120 alkalommal
    Mennyivel egyszerűbb mint a Sank Sounds forráskódja. :lol:


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.04.20. 20:35 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    A gyengébbek kedvéért jó colorchat.inc

    https://raw.githubusercontent.com/mforc ... orchat.inc

    (A linkre mentés másként)

    _________________
    GitHub - mforce


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.04.20. 20:44 
    Offline
    Félisten
    Avatar

    Csatlakozott: 2015.03.12. 18:30
    Hozzászólások: 975
    Megköszönt másnak: 67 alkalommal
    Megköszönték neki: 136 alkalommal
    Esetleg még azt meglehetett volna csinálni, hogy admin korlátlanul tudja nyomni, a player meg x időként.

    _________________
    Fórumi aktivitásom véget ért: 2017.09.07.
    Innentől esetleg steamen vagyok elérhető.


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.04.23. 14:51 
    Offline
    Jómunkásember

    Csatlakozott: 2014.10.30. 10:18
    Hozzászólások: 468
    Megköszönt másnak: 235 alkalommal
    Megköszönték neki: 34 alkalommal
    kengurumancs írta:
    Esetleg még azt meglehetett volna csinálni, hogy admin korlátlanul tudja nyomni, a player meg x időként.


    Tedd ki kérdésbe! Hátha lesz valaki olyan jó fej hogy megcsinálja :)


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.05.07. 22:58 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    Arrayos megoldás, mert menüt szeretett volna valaki, hogy listázza.
    https://github.com/mforce95/AMXX_plugin ... 051a33a75a
    https://github.com/mforce95/AMXX_plugin ... ced9a51174
    (menüben is hangok közötti időkorlát, megoldva)

    /soundlist - hangok menüje.

    1. #include <amxmodx>
    2. #include <colorchat>
    3.  
    4. new const PLUGIN[] = "Funny Sounds";
    5. new const VERSION[] = "1.0";
    6. new const AUTHOR[] = "mforce";
    7.  
    8.  
    9. new const PREFIX[] = "Funny Sounds";
    10.  
    11. #define ACCESS_FLAG             ADMIN_KICK          // - Type // before # if you want it for all players.
    12. #define TIME_BETWEEN_SOUNDS     30                  // - in seconds
    13.  
    14. new Array:musicname, Array:musicpath;
    15. new g_aSize;
    16. new g_iTimeExpired[33], bool:g_iSwitchOff[33];
    17.  
    18. public plugin_init() {
    19.     register_plugin(PLUGIN, VERSION, AUTHOR);
    20.     register_dictionary("funny_sounds.txt");
    21.    
    22.     register_clcmd("say", "sayhandler");
    23.     register_clcmd("say_team", "sayhandler");
    24.     register_clcmd("say /sounds", "sound_switchoff");
    25.     register_clcmd("say /soundlist", "musicmenu");
    26.     set_task(300.0, "toswitchoff", 0, .flags="b")
    27. }
    28.  
    29. public toswitchoff() {
    30.     ColorChat(0, NORMAL, "^4[%s]^1 %L ^3/sounds", PREFIX, LANG_SERVER, "TO_SWTICH_OFF");
    31. }
    32.  
    33. public plugin_precache() {
    34.     musicname = ArrayCreate(32);
    35.     musicpath = ArrayCreate(64);
    36.    
    37.     new sBuffer[256], sFile[64], sSoundName[32], sSoundPath[64], pFile;
    38.  
    39.     get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
    40.     format(sFile, charsmax(sFile), "%s/funny_sounds.ini", sFile);
    41.  
    42.     pFile = fopen(sFile, "rt");
    43.  
    44.     if(pFile) {    
    45.         while(!feof(pFile)) {
    46.             fgets(pFile, sBuffer, charsmax(sBuffer));
    47.             trim(sBuffer);
    48.             if(sBuffer[0] == ';' || sBuffer[0] == ' ') continue;
    49.  
    50.             parse(sBuffer, sSoundName, charsmax(sSoundName), sSoundPath, charsmax(sSoundPath));
    51.  
    52.             if(containi(sSoundPath, ".mp3") != -1 || containi(sSoundPath, ".wav") != -1) {
    53.                 precache_sound(sSoundPath);
    54.                 ArrayPushString(musicname, sSoundName);
    55.                 ArrayPushString(musicpath, sSoundPath);
    56.             }
    57.         }
    58.         fclose(pFile);
    59.         g_aSize = ArraySize(musicname);
    60.     }
    61.     else write_file(sFile, ";^"anything^" ^"any_dir/anything.mp3^"^n");
    62. }
    63.  
    64. public sayhandler(id) {
    65.     #if defined ACCESS_FLAG
    66.     if(~get_user_flags(id) & ACCESS_FLAG) return;
    67.     #endif
    68.  
    69.     new message[190]; read_args(message, charsmax(message));
    70.     remove_quotes(message);
    71.     new sSoundName[32];
    72.    
    73.     for(new i; i<g_aSize; i++) {
    74.         ArrayGetString(musicname, i, sSoundName, charsmax(sSoundName));
    75.         if(equali(message, sSoundName)) {
    76.             expirecheck(id, i);
    77.         }
    78.     }
    79. }
    80.  
    81. expirecheck(id, item) {
    82.     new usrtime = get_user_time(id);
    83.        
    84.     if(usrtime >= g_iTimeExpired[id]) {
    85.         playsound(item);
    86.         g_iTimeExpired[id] = (usrtime + TIME_BETWEEN_SOUNDS);
    87.     }
    88.     else
    89.         ColorChat(id, NORMAL, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "YOU_HAVE_TO_WAIT" , (g_iTimeExpired[id] - usrtime));
    90. }
    91.  
    92. playsound(item) {
    93.     new szSound[64]; ArrayGetString(musicpath, item, szSound, charsmax(szSound));
    94.     new makesound[128];
    95.     if(containi(szSound, ".mp3") != -1)
    96.         formatex(makesound, charsmax(makesound), "mp3 play ^"sound/%s^"", szSound);
    97.     else
    98.         formatex(makesound, charsmax(makesound), "spk ^"%s^"", szSound);
    99.  
    100.  
    101.     new players[32], num, tempid;
    102.     get_players(players, num, "c");
    103.     for(new i; i<num; i++) {
    104.         tempid = players[i];
    105.         if(!g_iSwitchOff[tempid])
    106.             client_cmd(tempid, "%s", makesound);
    107.     }
    108. }
    109.  
    110. public sound_switchoff(id) {
    111.     switch(g_iSwitchOff[id]) {
    112.         case false: {
    113.             g_iSwitchOff[id] = true;
    114.             client_cmd(id, "setinfo _funnysoundsoff 1");
    115.             ColorChat(id, NORMAL, "^4[%s]^3 %L", PREFIX, LANG_SERVER, "SOUNDS_SWITCHED_OFF");
    116.         }
    117.         case true: {
    118.             g_iSwitchOff[id] = false;
    119.             client_cmd(id, "setinfo _funnysoundsoff 0");
    120.             ColorChat(id, NORMAL, "^4[%s]^3 %L", PREFIX, LANG_SERVER, "SOUNDS_SWITCHED_ON");
    121.         }
    122.     }
    123. }
    124.  
    125. public client_putinserver(id) {
    126.     if(is_user_sounds_off(id))
    127.         g_iSwitchOff[id] = true;
    128. }
    129.  
    130. public client_disconnect(id) {
    131.     g_iTimeExpired[id] = 0;
    132.     g_iSwitchOff[id] = false;
    133. }
    134.  
    135. public plugin_end() {
    136.     ArrayDestroy(musicname);
    137.     ArrayDestroy(musicpath);
    138. }
    139.  
    140. stock bool:is_user_sounds_off(id) {
    141.     new switcher[8];
    142.     get_user_info(id, "_funnysoundsoff", switcher, charsmax(switcher));
    143.     if(equal(switcher, "1")) return true;
    144.     return false;
    145. }
    146.  
    147. public musicmenu(id) {
    148.     #if defined ACCESS_FLAG
    149.     if(~get_user_flags(id) & ACCESS_FLAG) return;
    150.     #endif
    151.    
    152.     new s_MenuName[128]; formatex(s_MenuName, charsmax(s_MenuName), "%s^nby \r%s \y", PLUGIN, AUTHOR);
    153.     new menu = menu_create(s_MenuName, "musicmenu_h");
    154.     new sSoundName[32];
    155.     for(new i; i<g_aSize;i++) {
    156.         ArrayGetString(musicname, i, sSoundName, charsmax(sSoundName));
    157.         menu_additem(menu, sSoundName, "", 0)
    158.     }
    159.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    160.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
    161.     menu_setprop(menu, MPROP_NEXTNAME, "Következő");
    162.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
    163.     menu_display(id, menu, 0);
    164. }
    165.  
    166. public musicmenu_h(id, menu, item) {
    167.     if(item == MENU_EXIT) {
    168.         menu_destroy(menu);
    169.         return PLUGIN_HANDLED;
    170.     }
    171.    
    172.     expirecheck(id, item);
    173.    
    174.     menu_destroy(menu);
    175.     return PLUGIN_HANDLED;
    176. }

    _________________
    GitHub - mforce


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.05.31. 23:13 
    Offline
    Őstag
    Avatar

    Csatlakozott: 2015.07.27. 22:56
    Hozzászólások: 1367
    Megköszönt másnak: 28 alkalommal
    Megköszönték neki: 351 alkalommal
    Ötlet: adminoknak időlimit figyelmen kívül hagyása lehetőség

    ► Spoiler mutatása


    Tudom nem nagy dolog, de nálunk örültek az adminok, hogy egy kicsit tudnak "rosszalkodni" :D


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.05.31. 23:49 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    Pont nem így kéne hozzáadni, de oks.

    _________________
    GitHub - mforce


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.09.30. 21:06 
    Offline
    Félisten
    Avatar

    Csatlakozott: 2015.03.12. 18:30
    Hozzászólások: 975
    Megköszönt másnak: 67 alkalommal
    Megköszönték neki: 136 alkalommal
    32 játékos fent van a szerveren, és egyszerre nyomnak be chathangot, kicsit idegesítő.
    A korlát nem egy tagra kéne szóljon, ha nem az összesre.

    _________________
    Fórumi aktivitásom véget ért: 2017.09.07.
    Innentől esetleg steamen vagyok elérhető.


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Funny Sounds
    HozzászólásElküldve: 2016.09.30. 21:16 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    kengurumancs írta:
    32 játékos fent van a szerveren, és egyszerre nyomnak be chathangot, kicsit idegesítő.
    A korlát nem egy tagra kéne szóljon, ha nem az összesre.


    Jogos, szivi :)
    1. #include <amxmodx>
    2. #include <colorchat>
    3.  
    4. new const PLUGIN[] = "Funny Sounds";
    5. new const VERSION[] = "1.0";
    6. new const AUTHOR[] = "mforce";
    7.  
    8.  
    9. new const PREFIX[] = "Funny Sounds";
    10.  
    11. #define ACCESS_FLAG             ADMIN_KICK          // - Type // before # if you want it for all players.
    12. #define TIME_BETWEEN_SOUNDS     30                  // - in seconds
    13.  
    14.  
    15. new Trie:musiclist
    16. new g_iTime, bool:g_iSwitchOff[33];
    17.  
    18. public plugin_init() {
    19.     register_plugin(PLUGIN, VERSION, AUTHOR);
    20.     register_dictionary("funny_sounds.txt");
    21.    
    22.     register_clcmd("say", "sayhandler");
    23.     register_clcmd("say_team", "sayhandler");
    24.     register_clcmd("say /sounds", "sound_switchoff");
    25.     set_task(300.0, "toswitchoff", 0, .flags="b")
    26. }
    27.  
    28. public toswitchoff() {
    29.     ColorChat(0, NORMAL, "^4[%s]^1 %L ^3/sounds", PREFIX, LANG_SERVER, "TO_SWTICH_OFF");
    30. }
    31.  
    32. public plugin_precache() {
    33.     musiclist = TrieCreate()
    34.    
    35.     new sBuffer[256], sFile[64], sData[2][32], pFile;
    36.  
    37.     get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
    38.     add((sFile, charsmax(sFile), "/funny_sounds.ini");
    39.  
    40.     pFile = fopen(sFile, "rt");
    41.  
    42.     if(pFile) {    
    43.         while(!feof(pFile)) {
    44.             fgets(pFile, sBuffer, charsmax(sBuffer));
    45.             trim(sBuffer);
    46.             if(sBuffer[0] == ';') continue;
    47.  
    48.             parse(sBuffer, sData[0], charsmax(sData[]), sData[1], charsmax(sData[]));
    49.  
    50.             if((containi(sData[1], ".mp3") != -1 || containi(sData[1], ".wav") != -1) && !TrieKeyExists(musiclist, sData[0])) {
    51.                 precache_sound(sData[1])
    52.                 TrieSetString(musiclist, sData[0], sData[1]);
    53.             }
    54.         }
    55.         fclose(pFile);
    56.     }
    57.     else write_file(sFile, ";^"anything^" ^"any_dir/anything.mp3^"^n");
    58. }
    59.  
    60. public sayhandler(id) {
    61.     #if defined ACCESS_FLAG
    62.     if(~get_user_flags(id) & ACCESS_FLAG) return;
    63.     #endif
    64.  
    65.     new message[190]; read_args(message, charsmax(message));
    66.     remove_quotes(message);
    67.    
    68.     if(TrieKeyExists(musiclist, message)) {
    69.         new srvtime = get_systime();
    70.        
    71.         if(srvtime >= g_iTime) {
    72.             new szSound[64];
    73.             TrieGetString(musiclist, message, szSound, charsmax(szSound));
    74.             playsound(szSound);
    75.             g_iTime = (srvtime + TIME_BETWEEN_SOUNDS);
    76.         }
    77.         else
    78.             ColorChat(id, NORMAL, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "YOU_HAVE_TO_WAIT" , (g_iTime - srvtime));
    79.     }
    80. }
    81.  
    82. playsound(const szSound[]) {
    83.     new makesound[256];
    84.     if(containi(szSound, ".mp3") != -1)
    85.         formatex(makesound, charsmax(makesound), "mp3 play ^"sound/%s^"", szSound);
    86.     else
    87.         formatex(makesound, charsmax(makesound), "spk ^"%s^"", szSound);
    88.  
    89.  
    90.     new players[32], num, tempid;
    91.     get_players(players, num, "c");
    92.     for(new i; i<num; i++) {
    93.         tempid = players[i];
    94.         if(!g_iSwitchOff[tempid])
    95.             client_cmd(tempid, "%s", makesound);
    96.     }
    97. }
    98.  
    99. public sound_switchoff(id) {
    100.     switch(g_iSwitchOff[id]) {
    101.         case false: {
    102.             g_iSwitchOff[id] = true;
    103.             client_cmd(id, "setinfo _funnysoundsoff 1");
    104.             ColorChat(id, NORMAL, "^4[%s]^3 %L", PREFIX, LANG_SERVER, "SOUNDS_SWITCHED_OFF");
    105.         }
    106.         case true: {
    107.             g_iSwitchOff[id] = false;
    108.             client_cmd(id, "setinfo _funnysoundsoff 0");
    109.             ColorChat(id, NORMAL, "^4[%s]^3 %L", PREFIX, LANG_SERVER, "SOUNDS_SWITCHED_ON");
    110.         }
    111.     }
    112. }
    113.  
    114. public client_putinserver(id) {
    115.     if(is_user_sounds_off(id))
    116.         g_iSwitchOff[id] = true;
    117. }
    118.  
    119. public client_disconnect(id) {
    120.     g_iSwitchOff[id] = false;
    121. }
    122.  
    123. public plugin_end() {
    124.     TrieDestroy(musiclist);
    125. }
    126.  
    127. stock bool:is_user_sounds_off(id) {
    128.     new switcher[8];
    129.     get_user_info(id, "_funnysoundsoff", switcher, charsmax(switcher));
    130.     if(equal(switcher, "1")) return true;
    131.     return false;
    132. }

    _________________
    GitHub - mforce


    Hozzászólás jelentése
    Vissza a tetejére
       
    Hozzászólások megjelenítése:  Rendezés  
    Új téma nyitása  Hozzászólás a témához  [ 20 hozzászólás ]  Oldal 1 2 Következő


    Ki van itt

    Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 5 vendég


    Nem nyithatsz témákat ebben a fórumban.
    Válaszolhatsz egy témára ebben a fórumban.
    Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
    Nem törölheted a hozzászólásaidat ebben a fórumban.
    Nem küldhetsz csatolmányokat ebben a fórumban.

    Keresés:
    Ugrás:  
    Powered by phpBB® Forum Software © phpBB Limited
    Magyar fordítás © Magyar phpBB Közösség
    Portal: Kiss Portal Extension © Michael O'Toole