←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Tekst na dźwięk

Locked

  • +
  • -
Ircu's Photo Ircu 11.08.2011

Witam. Otóż chciałbym aby w kodzie (raczej jego kawałku .x ), który zamieszczam niżej znalazły się modyfikacje:
a) Każdy może używać dźwięków,
B) Gdy ktoś już go użyje trzeba odczekać 5 sek. by móc ponownie (anty spam),
c) Po wpisaniu "/cisza" gracz nie będzie słyszał tych dźwięków.

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Tekst Na Dzwiek"
#define VERSION "0.1"
#define AUTHOR "Inferno"

#define FLAG ADMIN_LEVEL_B

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /doh","doh")
register_clcmd("say_team /doh","doh")
register_clcmd("say /haha","haha")
register_clcmd("say_team /haha","haha")
}

public doh(id)
{
if( get_user_flags(id) & FLAG)

client_cmd(0,"mp3 play sound/misc/doh")
}


public haha(id)
{
if( get_user_flags(id) & FLAG)

client_cmd(0,"mp3 play sound/misc/haha")
}


public plugin_precahce()
{
precache_generic("sound/misc/doh.wav")
precache_generic("sound/misc/haha.wav")
}

Bardzo proszę o pomoc.
Pozdrawiam!
Edited by Ircu, 11.08.2011 22:52.
Quote

  • +
  • -
sebul's Photo sebul 12.08.2011

#include <amxmodx>

#define PLUGIN "Tekst Na Dzwiek"
#define VERSION "0.1"
#define AUTHOR "Sebul"


#define FOLDER "misc"
#define NO_SPAM 5.0 // czas przez jaki gracz nie moze ponownie odtworzyc dzwieku

new const g_say[][] = {
"/doh",
"/haha",
"/heh" // po przecinku dodajemy nowe dźwięki
}

new bool:g_hear[33],
bool:g_notspam[33],
g_maxplayers,
g_num_say;

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("say", "sayhook");
register_clcmd("say_team", "sayhook");

g_maxplayers = get_maxplayers();
g_num_say = sizeof(g_say);
}

public plugin_precache() {
new prec[48];
for(new i=0; i<sizeof(g_say); ++i) {
formatex(prec, 47, "sound/%s%s.mp3", FOLDER, g_say[i]);
precache_generic(prec);
}
}

public client_connect(id) {
g_hear[id] = true;
g_notspam[id] = false;
}

public sayhook(id) {
new info[32];
read_argv(1, info, 31);

if(equal(info, "/cisza")) {
g_hear[id] = !g_hear[id];

return PLUGIN_CONTINUE;
}

if(g_notspam[id])
return PLUGIN_CONTINUE;

for(new a=0; a<g_num_say; ++a) {
if(equal(info, g_say[a])) {
for(new i=1; i<=g_maxplayers; ++i) {
if(is_user_connected(i) && g_hear[i])
client_cmd(i, "mp3 play sound/%s%s", FOLDER, g_say[a]);
}

g_notspam[id] = true;

set_task(NO_SPAM, "spam_off", id);

break;
}
}

return PLUGIN_CONTINUE;
}

public spam_off(id)
g_notspam[id] = false;

Muzyka musi być w formacie mp3, no i nazwa pliku musi być taka sama jak tekst, którym się ten plik odtwarza. Nie testowałem, to też nie wiem czy działa.
Quote

  • +
  • -
Ircu's Photo Ircu 12.08.2011

Nie jestem w stanie tego sprawdzić. Teraz wychodzę, a po południu idę po nowego PCta, więc tak wieczorkiem się odezwę czy działa.
Dzięki za pomoc.
@UP
Wszystko ładnie działa, tylko w tym momencie muszę szukać innych dźwięków.
Leci duży plusik. Można zamknąć.
Edited by Ircu, 14.08.2011 16:00.
Quote

  • +
  • -
sebul's Photo sebul 14.08.2011

tylko w tym momencie muszę szukać innych dźwięków.

A czemu? Jeśli masz jakieś pliki wav, to można je skonwertować na mp3, to nie jest żaden problem.
Quote
Locked