←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Komunikat dźwiękowy po wybraniu drużyny

Zablokowany

  • +
  • -
ciemny - zdjęcie ciemny 30.07.2009

Witam,
Potrzebuję pluginu, który odtwarzał by plik dźwiękowy (najlepiej, choć niekoniecznie mp3) zaraz po tym jak gracz wybierze drużynę. W sumie nie musi być to dokładnie ten moment, chodzi mi o to aby każdy gracz (najlepiej tylko raz) usłyszał ten dźwięk.
Odpowiedz

  • +
  • -
naven - zdjęcie naven 30.07.2009

Za każdym razem jak ktoś wchodzi to wszyscy słyszą?
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 30.07.2009

Nie, słyszeć powinien tylko gracz który wchodzi na serwer.
Odpowiedz

  • +
  • -
naven - zdjęcie naven 30.07.2009

Spróbuj:
#include <amxmodx>
public plugin_init() {
	register_plugin("Joinsound", "1.0", "naven")
}
public client_putinserver(id){
	client_cmd(id, "mp3 play sound/misc/nazwa.mp3")
}
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 30.07.2009

Niestety nie działa, nie odtwarza dźwięku. (podmieniłem adres do pliku)
Odpowiedz

  • +
  • -
naven - zdjęcie naven 30.07.2009

oj, zapomniałem o precache:
#include <amxmodx>
public plugin_init() {
	register_plugin("Joinsound", "1.0", "naven")
}
public client_putinserver(id){
	client_cmd(id, "mp3 play sound/misc/nazwa.mp3")
}
public plugin_precache(){
	precache_sound("misc/nazwa.mp3")
}
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 30.07.2009

Plik się pobiera ale nie odtwarza. Wnioskując z kodu powinien się odtworzyć w chwili wyświetlenia planszy motd, tak?
Odpowiedz

  • +
  • -
naven - zdjęcie naven 30.07.2009

Chyba wiem dlaczego, pewnie nie można użyć client_cmd przed jakimś poziomem, nie wiem tylko którym
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 30.07.2009

Pluginów do amxx nie piszę i powiem ci szczerze, że nie mam pojęcia o czym mówisz :P więc zadam pytanie: Da się to naprawić?


Edit.
Miczu napisał poradnik o eventach, był tam jeden "zmiana teamu", oto kod:
#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
    register_event("TeamInfo","team_assign","a")
}

public team_assign()
{
    static old_team[33]
    new tid
    new id = read_data(1)
    new Team[32]
    read_data(2,Team,31)    //UNASSIGNED
                //TERRORIST
                //CT
                //SPECTATOR
    if(equal(Team,"UNASSIGNED")) tid = 0
    else if(equal(Team,"TERRORIST")) tid = 1
    else if(equal(Team,"CT")) tid = 2
    else if(equal(Team,"SPECTATOR")) tid = 3
   
    if(old_team[id]==tid) return PLUGIN_CONTINUE    //jesli druzyna sie nie zmienila to przerywamy event
   
    old_team[id] = tid                //zapisujemy nowy team
   
    /*code
   
    //koniec code */
    return PLUGIN_CONTINUE         // skoro juz uzylismy returna to musimy tez na koniec go dac
}

Może dało by się to wykorzystać bo jeżeli dobrze zrozumiałem powinno zadziałać także przy dołączaniu do teamu.
Odpowiedz

Seba - zdjęcie Seba 30.07.2009

/* Plugin generated by AMXX-Studio */



#include <amxmodx>

#include <amxmisc>



#define PLUGIN "Nowy Plugin"

#define VERSION "1.0"

#define AUTHOR "Sn!ff3r"



new joined[33]

static const sound[] = "sound/misc/siema.mp3"



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_event("TeamInfo","join_team","a","2=TERRORIST","2=CT")

	// Add your code here...

}



public plugin_precache()

	precache_generic(sound)

	

public client_disconnect(id)

	joined[id] = 0



public join_team()

{		

	// pobrano z cs-puchatek.pl

	new id = read_data(1)

		

	joined[id]++

	

	if(joined[id] != 2) // check for first join

		return PLUGIN_CONTINUE	

	

	client_cmd(id, "mp3 play %s", sound)

	

	return PLUGIN_CONTINUE

}
Odpowiedz

  • +
  • -
ciemny - zdjęcie ciemny 30.07.2009

Seba jesteś wielki, naven ty też.
Obaj macie po pomógł.
Odpowiedz
Zablokowany