block sound..

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Tetusis

block sound..

Post by Tetusis »

ka gi pasidariau koda kuris blokuotu mano norimus sound, tik dabar iskilo klausimas, kodel sis kodas blokuoja rnd msg kaip round draw terrorist win, ir pan? kodel turiu naudoti papildomus eventus kaip emit sound kad galeciau uzblokuoti

Code: Select all

    Neveikiantys        "go.wav",    "letsgo.wav",    "locknload.wav",    "moveout.wav",
taip pat nezinau su kokiu event'u galeciau uzhookinti hostig'u sound'us ir juos uzblokuoti.

Code: Select all

#include <amxmodx>#include <amxmisc>#include <fakemeta> new const sound_list[][]=  {    // nebutina full path    "die1.wav",    "die2.wav",    "die3.wav",    "death6.wav",    "MRAD_GO",    "MRAD_LETSGO",    "MRAD_LOCKNLOAD",    "MRAD_MOVEOUT"    /*        Neveikiantys        "go.wav",    "letsgo.wav",    "locknload.wav",    "moveout.wav",            "hos1.wav",    "hos2.wav",    "hos3.wav",    "hos4.wav",    "hos5.wav",         */} public plugin_init() {    // Hook'ai    register_message(get_user_msgid("SendAudio"),"block_sound")    register_forward(FM_EmitSound, "block_sound")    register_forward(FM_EmitAmbientSound, "block_sound")}  public block_sound(id, channel, const sound[]) {    /*        equali blokuoja visus kaip gunswitch, drop!!!    containi nuo contain skiriasi - containi atpazysta dIe1 ir pan tas pats su equal ir equali        */            for(new i = 0;i< sizeof(sound_list);i++) {        if(containi(sound, sound_list[i]) != -1 && is_user_connected(id)) {            return FMRES_SUPERCEDE        }    }    return FMRES_IGNORED}

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: block sound..

Post by aaarnas »

Biški kodo korekcija:

Code: Select all

public block_sound(id, channel, const sound[]) {    /*        equali blokuoja visus kaip gunswitch, drop!!!    containi nuo contain skiriasi - containi atpazysta dIe1 ir pan tas pats su equal ir equali        */        if (!is_user_connected(id))        return FMRES_SUPERCEDE     client_print(id, print_console, sound) // Galima užsidebugint    static i;    for(i = 0;i< sizeof(sound_list);i++) {        if(containi(sound, sound_list[i]) != -1) {            return FMRES_SUPERCEDE        }    }    return FMRES_IGNORED}
Gali pasidaryti debug šiokį tokį ir konsolėje rodys garso pavadinimą, kai jis suskambės. Taip atsirinksi tada kame problema. Gal sutampa su kažkokiu ar panašiai.
Be to, visi tie 3 hookai grąžina vienodus tokius parametrus: (id, channel, const sound[]) ?
Nes register_message tai visai ką kitą grąžina, tai taip gali gauti neteisingas reikšmes dėl ko tau blokuoja ne tą ką reikia.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest