←  Artykuły i Instrukcje

AMXX.pl: Support AMX Mod X i SourceMod

»

Wszystko o RoundSound - Własny RoundSound

Dj ^^ d(-.-)b - zdjęcie Dj ^^ d(-.-)b 08.05.2010

Witam ! W tym temacie spróbuję przybliżyć wam wszystko o RoundSound i rozszerzeniu .wav


1. Zaczniemy od przygotowania Sobie muzyki:

A więc aby skrócić swoją muzykę i przekonwertować ją na rozszerzenie .wav potrzebujemy programu. Ja używam Virtual Dj 5.0 i WavePad 3.05, ale można to tylko zrobić tym programem http://www.dobreprog...dows,13104.html
Ściągasz programik instalujesz, odpalasz muzykę poprzez WavePad. Gdy ją otworzysz poprostu zaznaczasz myszką i wciskasz klawisz Delete muzykę którą chcesz wyciąć. Gdy już skróciłeś swoją muzykę na roudnsound klikasz File>Save File As...>wybierasz gdzie ma być zapisany ten plik i w jakim formacie ma być (czyli wav) Następnie wyświetli Ci się tabelka w której wybierzesz takie ustawienia:
Nazwa: (bez nazwy)
Format: PCM
Atrybut: 22,050 kHz; bitów 16; Mono 43 kb/s - Jeżeli weźmiesz na więcej nie będzie działało, a jeżeli na mniej to będzie gorsza jakość!
(Dodam jeszcze, że w tym programie możesz dodać echo i dużo dużo więcej - naprawdę fajny program.)
Teraz kliknij na twój plik PPM>Właściwości>Podsumowanie>Zaawansowane i teraz twój plik powinien wyglądać tak:
Szybkość transmisji bitów: 352 kb/s
Rozmiar próbki audio: 16 bitów
Kanały: 1 (mono)
Częstotliwość próbkowania audio: 22 kHz
Format dźwięku: PCM


2. Teraz przejdę do pliku .sma o rozszerzeniu .wav



#include <amxmodx>

public plugin_init()
{
register_plugin("RoundSound","1.0","PaintLancer")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}

public t_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"spk misc/TT1")
case 1: client_cmd(0,"spk misc/TT2")
case 2: client_cmd(0,"spk misc/TT3")
case 3: client_cmd(0,"spk misc/TT4")
case 4: client_cmd(0,"spk misc/TT5")
}

return PLUGIN_HANDLED
}

public ct_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"spk misc/CT1")
case 1: client_cmd(0,"spk misc/CT2")
case 2: client_cmd(0,"spk misc/CT3")
case 3: client_cmd(0,"spk misc/CT4")
case 4: client_cmd(0,"spk misc/CT5")
}

return PLUGIN_HANDLED
}

public plugin_precache()
{
precache_sound("misc/CT1.wav")
precache_sound("misc/CT2.wav")
precache_sound("misc/CT3.wav")
precache_sound("misc/CT4.wav")
precache_sound("misc/CT5.wav")
precache_sound("misc/TT1.wav")
precache_sound("misc/TT2.wav")
precache_sound("misc/TT3.wav")
precache_sound("misc/TT4.wav")
precache_sound("misc/TT5.wav")

return PLUGIN_CONTINUE
}



2. Teraz przejdę do pliku .sma Rozszerzenie .mp3


#include <amxmodx>

public plugin_init()
{
register_plugin("RoundSound","1.0","PaintLancer")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}

public t_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play sound/misc/TT1")
case 1: client_cmd(0,"mp3 play sound/misc/TT2")
case 2: client_cmd(0,"mp3 play sound/misc/TT3")
case 3: client_cmd(0,"mp3 play sound/misc/TT4")
case 4: client_cmd(0,"mp3 play sound/misc/TT5")
}

return PLUGIN_HANDLED
}

public ct_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play sound/misc/CT1")
case 1: client_cmd(0,"mp3 play sound/misc/CT2")
case 2: client_cmd(0,"mp3 play sound/misc/CT3")
case 3: client_cmd(0,"mp3 play sound/misc/CT4")
case 4: client_cmd(0,"mp3 play sound/misc/CT5")
}

return PLUGIN_HANDLED
}

public plugin_precache()
{
precache_sound("misc/CT1.mp3")
precache_sound("misc/CT2.mp3")
precache_sound("misc/CT3.mp3")
precache_sound("misc/CT4.mp3")
precache_sound("misc/CT5.mp3")
precache_sound("misc/TT1.mp3")
precache_sound("misc/TT2.mp3")
precache_sound("misc/TT3.mp3")
precache_sound("misc/TT4.mp3")
precache_sound("misc/TT5.mp3")

return PLUGIN_CONTINUE
}


Można dodać więcej piosenek niż 5 dla każdej z drużyn.

Wtedy trzeba zmienić new rand = random_num(0,4) - na ilość ile mamy w case

3. Kompilacja pluginu.

Aby Skompilować nasz plik .sma na .amxx wchodzimy tutaj Kompilator - Nieoficjalny polski support AMX Mod X


Myślę że wam pomogłem :) Jeżeli ktoś coś nie rozumie czegoś niech napisze pod Tematem ;)

Pozdrawiam Dj ^^ d(-.-)b
Użytkownik Abes Mapper edytował ten post 10.05.2010 18:50
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 08.05.2010

Zapomniałeś napisać o:

new rand = random_num(0,2)

Bo w twoim przypadku powinno być (0,4)
Odpowiedz

Dj ^^ d(-.-)b - zdjęcie Dj ^^ d(-.-)b 08.05.2010

Zapomniałeś napisać o:

new rand = random_num(0,2)

Bo w twoim przypadku powinno być (0,4)


a no tak dzięki :)
Odpowiedz

  • +
  • -
sbstn - zdjęcie sbstn 08.05.2010

Wszystko ok, przydatne dla początkujących... Ale chyba nie ten dział ;)
Scripting->Tutoriale

EDIT: Dopisz, że jeśli ktoś chce mieć lepszą jakość i koniecznie *.mp3 to kod wygląda tak:
#include <amxmodx>

public plugin_init()
{
register_plugin("RoundSound","1.0","PaintLancer")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}

public t_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play misc/TT1")
case 1: client_cmd(0,"mp3 play misc/TT2")
case 2: client_cmd(0,"mp3 play misc/TT3")
case 3: client_cmd(0,"mp3 play misc/TT4")
case 4: client_cmd(0,"mp3 play misc/TT5")
}

return PLUGIN_HANDLED
}

public ct_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play misc/CT1")
case 1: client_cmd(0,"mp3 play misc/CT2")
case 2: client_cmd(0,"mp3 play misc/CT3")
case 3: client_cmd(0,"mp3 play misc/CT4")
case 4: client_cmd(0,"mp3 play misc/CT5")
}

return PLUGIN_HANDLED
}

public plugin_precache()
{
precache_sound("misc/CT1.mp3")
precache_sound("misc/CT2.mp3")
precache_sound("misc/CT3.mp3")
precache_sound("misc/CT4.mp3")
precache_sound("misc/CT5.mp3")
precache_sound("misc/TT1.mp3")
precache_sound("misc/TT2.mp3")
precache_sound("misc/TT3.mp3")
precache_sound("misc/TT4.mp3")
precache_sound("misc/TT5.mp3")

return PLUGIN_CONTINUE
}


Użytkownik sbstn edytował ten post 08.05.2010 11:49
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 08.05.2010

case 0: client_cmd(0,"mp3 play sound/misc/CT1")
itd...


Użytkownik Abes Mapper edytował ten post 08.05.2010 13:02
Odpowiedz

  • +
  • -
sbstn - zdjęcie sbstn 08.05.2010

Ee, a przypadkiem folder sound nie jest pomijany?

EDIT: chyba, że przy odtwarzaniu mp3 jest potrzebny....
#include <amxmodx>

public plugin_init()
{
register_plugin("RoundSound","1.0","PaintLancer")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}

public t_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play sound/misc/TT1")
case 1: client_cmd(0,"mp3 play sound/misc/TT2")
case 2: client_cmd(0,"mp3 play sound/misc/TT3")
case 3: client_cmd(0,"mp3 play sound/misc/TT4")
case 4: client_cmd(0,"mp3 play sound/misc/TT5")
}

return PLUGIN_HANDLED
}

public ct_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play sound/misc/CT1")
case 1: client_cmd(0,"mp3 play sound/misc/CT2")
case 2: client_cmd(0,"mp3 play sound/misc/CT3")
case 3: client_cmd(0,"mp3 play sound/misc/CT4")
case 4: client_cmd(0,"mp3 play sound/misc/CT5")
}

return PLUGIN_HANDLED
}

public plugin_precache()
{
precache_sound("misc/CT1.mp3")
precache_sound("misc/CT2.mp3")
precache_sound("misc/CT3.mp3")
precache_sound("misc/CT4.mp3")
precache_sound("misc/CT5.mp3")
precache_sound("misc/TT1.mp3")
precache_sound("misc/TT2.mp3")
precache_sound("misc/TT3.mp3")
precache_sound("misc/TT4.mp3")
precache_sound("misc/TT5.mp3")
}


Użytkownik sbstn edytował ten post 08.05.2010 13:14
Odpowiedz

Dj ^^ d(-.-)b - zdjęcie Dj ^^ d(-.-)b 08.05.2010

nie sound nie jest potrzebny bo to odczytuje z misc dziala w 100 % mozna sprawdzic u mnie na 4fun
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 08.05.2010

Przy mp3 sound jest potrzebny.
Przy wav nie jest
Odpowiedz

  • +
  • -
sbstn - zdjęcie sbstn 08.05.2010

Tak więc jak pisałem :
#include <amxmodx>

public plugin_init()
{
register_plugin("RoundSound","1.0","PaintLancer")
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}

public t_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play sound/misc/TT1")
case 1: client_cmd(0,"mp3 play sound/misc/TT2")
case 2: client_cmd(0,"mp3 play sound/misc/TT3")
case 3: client_cmd(0,"mp3 play sound/misc/TT4")
case 4: client_cmd(0,"mp3 play sound/misc/TT5")
}

return PLUGIN_HANDLED
}

public ct_win()
{
new rand = random_num(0,4)

client_cmd(0,"stopsound")

switch(rand)
{
case 0: client_cmd(0,"mp3 play sound/misc/CT1")
case 1: client_cmd(0,"mp3 play sound/misc/CT2")
case 2: client_cmd(0,"mp3 play sound/misc/CT3")
case 3: client_cmd(0,"mp3 play sound/misc/CT4")
case 4: client_cmd(0,"mp3 play sound/misc/CT5")
}

return PLUGIN_HANDLED
}

public plugin_precache()
{
precache_sound("misc/CT1.mp3")
precache_sound("misc/CT2.mp3")
precache_sound("misc/CT3.mp3")
precache_sound("misc/CT4.mp3")
precache_sound("misc/CT5.mp3")
precache_sound("misc/TT1.mp3")
precache_sound("misc/TT2.mp3")
precache_sound("misc/TT3.mp3")
precache_sound("misc/TT4.mp3")
precache_sound("misc/TT5.mp3")
}
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 10.05.2010

Podsumuj to wszystko w pierwszym poście.
Odpowiedz

  • +
  • -
fisiuxxx - zdjęcie fisiuxxx 10.05.2010

Plugin spoko, ja polecam do skracania piosenek AudaCity :)
Odpowiedz

  • +
  • -
Valkolec - zdjęcie Valkolec 10.05.2010

Bardzo fajnie opisane :) repucik leci :)
Odpowiedz

cesik - zdjęcie cesik 13.03.2011

ym zaraz bo niekumam tego to jest Plugin czy w diablo.sma mam dopisac? O.o
Odpowiedz

  • +
  • -
Gufinsky - zdjęcie Gufinsky 14.03.2011

Ja chciałbym dodać, żeby nie robić takich prostych nazw muzyki do rs jak "tt1" "ct1" itp, ponieważ dużo serwerów już takowe nazwy ma i gdy nawet ściągnął od nas muzyke to i tak będą słyszeć to z pierwszego serwera.
Odpowiedz

komandos - zdjęcie komandos 04.06.2011

mi się żadne okienko nie wyświetla po zapisaniu pliku;/
Odpowiedz

  • +
  • -
5gram - zdjęcie 5gram 10.06.2011

ja tam używam MP3 DirectCut do wycinania muzyki, potem sobie konwertuje żeby mniej zajmowała przez program FREE WMA Converter czy jakoś tak i wgrywam pliczek na server w formacie .mp3 dopisuje do roundsound.ini i gotowe mniej paprania się :)
Odpowiedz

  • +
  • -
Jesiu - zdjęcie Jesiu 29.08.2011

mam 2 sprawy

#include <amxmodx>
public plugin_init()
{
    	register_plugin("RoundSound","1.0","PaintLancer")
    	register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
    	register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}
public t_win()
{
    	new rand = random_num(0,10)
    	client_cmd(0,"stopsound")
    	switch(rand)
    	{
            	case 0: client_cmd(0,"spk misc/rs1TT")
            	case 1: client_cmd(0,"spk misc/rs2TT")
            	case 2: client_cmd(0,"spk misc/rs3TT")
            	case 3: client_cmd(0,"spk misc/rs4TT")
            	case 4: client_cmd(0,"spk misc/rs5TT")
case 5: client_cmd(0,"spk misc/rs6TT")
case 5: client_cmd(0,"spk misc/rs7TT")
case 5: client_cmd(0,"spk misc/rs8TT")
case 5: client_cmd(0,"spk misc/rs9TT")
case 5: client_cmd(0,"spk misc/rs10TT")
    	}
    	return PLUGIN_HANDLED
}
public ct_win()
{
    	new rand = random_num(0,10)
    	client_cmd(0,"stopsound")
    	switch(rand)
    	{
            	case 0: client_cmd(0,"spk misc/rs1CT")
            	case 1: client_cmd(0,"spk misc/rs2CT")
            	case 2: client_cmd(0,"spk misc/rs3CT")
            	case 3: client_cmd(0,"spk misc/rs4CT")
            	case 4: client_cmd(0,"spk misc/rs5CT")
case 5: client_cmd(0,"spk misc/rs6CT")
case 5: client_cmd(0,"spk misc/rs7CT")
case 5: client_cmd(0,"spk misc/rs8CT")
case 5: client_cmd(0,"spk misc/rs9CT")
case 5: client_cmd(0,"spk misc/rs10CT")
    	}
    	return PLUGIN_HANDLED
}
public plugin_precache()
{
    	precache_sound("misc/rs1TT.wav")
    	precache_sound("misc/rs2TT.wav")
    	precache_sound("misc/rs3TT.wav")
    	precache_sound("misc/rs4TT.wav")
    	precache_sound("misc/rs5TT.wav")
    	precache_sound("misc/rs6TT.wav")
    	precache_sound("misc/rs7TT.wav")
    	precache_sound("misc/rs8TT.wav")
    	precache_sound("misc/rs9TT.wav")
    	precache_sound("misc/rs10TT.wav")
    	precache_sound("misc/rs1CT.wav")
    	precache_sound("misc/rs2CT.wav")
    	precache_sound("misc/rs3CT.wav")
    	precache_sound("misc/rs4CT.wav")
    	precache_sound("misc/rs5CT.wav")
    	precache_sound("misc/rs6CT.wav")
    	precache_sound("misc/rs7CT.wav")
    	precache_sound("misc/rs8CT.wav")
    	precache_sound("misc/rs9CT.wav")
    	precache_sound("misc/rs10CT.wav")
 
    	return PLUGIN_CONTINUE
}

troszke nie wyszlo to wklejanie ale odstepy są dobre tylko mam problem. działają mi tylko 4 piosenki.
a 2 sprawa : jeżeli mam 10 piosenek to mam wpisać new rand = random_num(0,10) czy new rand = random_num(1,0) ???

ok moje problemy rozwiązane tylko nie wiem jak usunąć post :D
Użytkownik Jesiu edytował ten post 29.08.2011 19:27
Odpowiedz

  • +
  • -
Niscree - zdjęcie Niscree 30.08.2011

lol co ty tu namieszałeś ^^

#include <amxmodx>
public plugin_init()
{
    	register_plugin("RoundSound","1.0","PaintLancer")
    	register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
    	register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
}
public t_win()
{
    	new rand = random_num(0,9)
    	client_cmd(0,"stopsound")
    	switch(rand)
    	{
            	case 0: client_cmd(0,"spk misc/rs1TT")
            	case 1: client_cmd(0,"spk misc/rs2TT")
            	case 2: client_cmd(0,"spk misc/rs3TT")
            	case 3: client_cmd(0,"spk misc/rs4TT")
            	case 4: client_cmd(0,"spk misc/rs5TT")
            	case 5: client_cmd(0,"spk misc/rs6TT")
            	case 6: client_cmd(0,"spk misc/rs7TT")
            	case 7: client_cmd(0,"spk misc/rs8TT")
            	case 8: client_cmd(0,"spk misc/rs9TT")
            	case 9: client_cmd(0,"spk misc/rs10TT")
    	}
    	return PLUGIN_HANDLED
}
public ct_win()
{
    	new rand = random_num(0,9)
    	client_cmd(0,"stopsound")
    	switch(rand)
    	{
            	case 0: client_cmd(0,"spk misc/rs1CT")
            	case 1: client_cmd(0,"spk misc/rs2CT")
            	case 2: client_cmd(0,"spk misc/rs3CT")
            	case 3: client_cmd(0,"spk misc/rs4CT")
            	case 4: client_cmd(0,"spk misc/rs5CT")
            	case 5: client_cmd(0,"spk misc/rs6CT")
            	case 6: client_cmd(0,"spk misc/rs7CT")
            	case 7: client_cmd(0,"spk misc/rs8CT")
            	case 8: client_cmd(0,"spk misc/rs9CT")
            	case 9: client_cmd(0,"spk misc/rs10CT")
    	}
    	return PLUGIN_HANDLED
}
public plugin_precache()
{
    	precache_sound("misc/rs1TT.wav")
    	precache_sound("misc/rs2TT.wav")
    	precache_sound("misc/rs3TT.wav")
    	precache_sound("misc/rs4TT.wav")
    	precache_sound("misc/rs5TT.wav")
    	precache_sound("misc/rs6TT.wav")
    	precache_sound("misc/rs7TT.wav")
    	precache_sound("misc/rs8TT.wav")
    	precache_sound("misc/rs9TT.wav")
    	precache_sound("misc/rs10TT.wav")
    	precache_sound("misc/rs1CT.wav")
    	precache_sound("misc/rs2CT.wav")
    	precache_sound("misc/rs3CT.wav")
    	precache_sound("misc/rs4CT.wav")
    	precache_sound("misc/rs5CT.wav")
    	precache_sound("misc/rs6CT.wav")
    	precache_sound("misc/rs7CT.wav")
    	precache_sound("misc/rs8CT.wav")
    	precache_sound("misc/rs9CT.wav")
    	precache_sound("misc/rs10CT.wav")

    	return PLUGIN_CONTINUE
}
Odpowiedz