Page 1 of 1

block sound..

Posted: 2013 Jan 05 19:13
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}

Re: block sound..

Posted: 2013 Jan 06 23:44
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.