Плагин, куда посылается натив:
- Код: Выделить всё
#include <amxmodx>
#define PLUGIN "Send Audio Native System"
#define VERSION "1.0"
#define AUTHOR "Grusha :D"
public plugin_init()
register_plugin(PLUGIN, VERSION, AUTHOR);
public plugin_natives()
{
register_native("SendAudio", "native_SendAudio", 1);
}
public native_SendAudio(id, const sound[], const bool:emit, const bool:stopsound)
{
log_amx("Native SendAudio SHOPSOUND= %s", sound);
if(containi(sound, ".wav"))
{
if(emit)
{
log_amx("Native if(emit) SendAudio SHOPSOUND= %s", sound);
emit_sound(id, CHAN_ITEM, sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}
//else
// client_cmd(id, "%sspk %s", stopsound ? "mp3 stop; stopsound; " : "", sound);
}
//else if(containi(sound, ".mp3"))
// client_cmd(id, "%smp3 play %s", stopsound ? "mp3 stop; stopsound; " : "", sound);
}
Натив из плагина:
- Код: Выделить всё
native SendAudio(id, const sound[], bool:emit, bool:stopsound);
public effects(id, bool:anim, bool:beam, bool:sound)
{
if(anim)
animation(id);
if(beam)
{
static Float:originF[3];
pev(id, pev_origin, originF);
create_beam(originF, 255, 25, 25);
}
if(sound)
//emit_sound(id, CHAN_ITEM, SHOPSOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
{
log_amx("SendAudio SHOPSOUND= %s", SHOPSOUND);
SendAudio(id, SHOPSOUND, true, false); //SendAudio(id, sound, bool:emit, bool:stopsound)
}
}
В логах при попытке воспроизвести звук в консоле пишется всякое разное:
- Код: Выделить всё
L 03/31/2017 - 18:58:30: [deathrun_shop_items. amxx] SendAudio SHOPSOUND= items/gunpickup2.wav
L 03/31/2017 - 18:58:30: [SendAudioV1.amxx] Native SendAudio SHOPSOUND= AGENTA
L 03/31/2017 - 18:58:30: [SendAudioV1.amxx] Native if(emit) SendAudio SHOPSOUND= AGENTA
L 03/31/2017 - 19:02:43: [deathrun_shop_items.amxx] SendAudio SHOPSOUND= items/gunpickup2.wav
L 03/31/2017 - 19:02:43: [SendAudioV1.amxx] Native SendAudio SHOPSOUND= eAPI]: Api major version mismatch; expected %d, real %d
L 03/31/2017 - 19:02:43: [SendAudioV1.amxx] Native if(emit) SendAudio SHOPSOUND= eAPI]: Api major version mismatch; expected %d, real %d
SV_BuildSoundMsg: eAPI]: Api major version mismatch; expected %d, real %d not precached (0)
L 03/31/2017 - 19:40:21: [deathrun_shop_items.amxx] SendAudio SHOPSOUND= items/gunpickup2.wav
L 03/31/2017 - 19:40:21: [SendAudioV1.amxx] Native SendAudio SHOPSOUND=
L 03/31/2017 - 19:40:21: [SendAudioV1.amxx] Native if(emit) SendAudio SHOPSOUND=
SV_BuildSoundMsg: not precached (0)
L 03/31/2017 - 21:02:59: [deathrun_shop_items.amxx] SendAudio SHOPSOUND= items/gunpickup2.wav
L 03/31/2017 - 21:02:59: [SendAudioV1.amxx] Native SendAudio SHOPSOUND= ns
L 03/31/2017 - 21:02:59: [SendAudioV1.amxx] Native if(emit) SendAudio SHOPSOUND= ns
SV_BuildSoundMsg: ns not precached (0)