Forrs: Fade, www.sampforum.hu
dv.
Ebben a tutorialban lerom hogy hogy kell kezelni Incognito Audio Pluginjt.
(Letlts lap aljn)
Akkor nzzk.
Miutn letlttted a plugint csomagold ki a szerver mappdba.
Ha kicsomagoltad, a server.cfg-be rd be a plugint.
plugins audio
Linux esetn:
plugins audio.so
Hogyha kicsomagoltad lthatsz egy mappt audiopacks nven. Ez trolja a hanganyagokat.
Azon bell default_pack, s another_pack.
Ezeket hagyd figyelmen kvl nem kellenek.
Hozz ltre az audipacksban egy j mappt, mindegy hogy milyen nven.
Vegyk pldnak a custom nevet!
servermappa/audiopacks/custom
Ide msold be a kvnt zenket, amiket a szerverre fel akarsz tenni.
Ajnlatos, hogy a nevket lervidtsd, mert kezelni nehezebb ha hossz.
Ha ez megvolt, akkor a szerver mappdban lvo audio.ini fjlt nyisd meg.
itt alapbl ezeket tallod:
; audio.ini
;
; Notes:
; ------
; 1. The section names (text enclosed in brackets) correspond to the
; folder names in the audiopacks directory.
; 2. The keys (numbers to the left) are the audio IDs, and the values
; are the file names.
; 3. Remote files must be prefixed with http:// or ftp:// (these do
; not need to be in your audiopacks directory).
; 4. Audio archives are marked by the key "archive" rather than an
; audio ID. The values for these are the archive names. See the
; readme text document in the server package for a list.
[default_pack]
1 = test.wav
2 = example.mp3
3 = track.ogg
4 = file.wma
archive = CR
archive = SCRIPT
[another_pack]
1 = http://www.website.com/example.mp3
2 = ftp://localhost/test.wav
3 = track.ogg
4 = file.wma
archive = AMBIENCE
archive = CUTSCENE
A szgletes zrjelek kz a mappk nevei vannak rva. (amik voltak default_pack, s another_pack)
Hozz ltre egy j sort, s szgletes zrjelek kz rd a mappd nevt amit ltrehoztl.
Custom plda.
[custom]
1 = zene.mp3
a zene.mp3-at nevezd t az egyik zene fjl nevre amit betettl.
Az 1 a hang azonostja.
Ha egy j zent akarsz berakni akkor azt ajnlatos csinlod hogy a kvetkezo szmot rod be s utna a zent.
Teht pl van 3 zend. Ez gy nz ki:
[custom]
1 = zene.mp3
2 = hang.mp3
3 = valami.mp3
(nem csak mp3-at lehet lehet wav, wma stb...)
Teht ha jat akarsz betenni csak ennyit kell:
4 = egyhang.mp3
Aztn 5 = stb...
Ha a zenket betetted akkor ezeket is tedd a vgre:
archive = AMBIENCE
archive = CUTSCENE
Igazbl n se tudom mire jk, de nlklk nem megy.
Ha ez ksz akkor jhet a pawn-os rsz.
Nos akkor eloszr is gyazzuk be a fggvnyknyvtrat scriptnkbe/mdunkba:
#include <audio>
Hozzuk ltre a TCP szervert, amin a hangok s a csomagok fognak "utazni":
Audio_CreateTCPServer(port); //ide azt a portot rd amin fut a szervered! alap: 7777
Lehet gy is, hogy ha nem tudod a portjt a szerverednek, vagy megvltoztattad:
new port = GetServerVarAsInt("port"); //lekrdezzk a szerver portjt, s a port vltozban troljuk
Audio_CreateTCPServer(port); //Ltrehozzuk a TCP szervert
Ezutn belltjuk a csomagot.
Audio_SetPack("custom", true); //ha igazra lltod (true) akkor a pack kldheto a jtkosoknak, ha hamis (false) akkor nem!
A custom helyre a te mappd neve kerl.
Most pedig el kell kldennk a csomagot a jtkosnak ha csatlakozik.
public Audio_OnClientConnect(playerid)
{
Audio_TransferPack(playerid); //elkldjk a jtkosnak a csomagot
}
Ez a fggvny csak annak hvdik meg akinek van kliens oldali hang pluginja.
Ha jtk kzben lltdik be egy csomag akkor a kvetkezot kell tenni:
public Audio_OnSetPack(audiopack[])
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
Audio_TransferPack(i); //mindenkinek elkldi
}
return 1;
}
Ez mindenkinek elkldi HA a csomagot belltotta a szerver.
A belltsrl ennyit most jjjn a lejtszs.
Lejtszsnl lehetosgnk van vltozt hasznlni a trolshoz, amit majd a hang meglltsnl kell hasznlnunk.
Hozzunk ltre egy tmbt ami minden jtkosnak kln elemet ad.
new hang[MAX_PLAYERS];
s ezutn amikor szeretnnk, lejtsszuk a hangot a jtkosunknak:
Hang[playerid] = Audio_Play(playerid,1); //csak a megadott jtkosnak jtsza le (playerid)
Az 1-es szm a hang azonostja amit az audio.ini -be adtunk meg. (az 1 = hang.mp3 pldul)
Ennek a fggvnynek tbb paramtere is van mg, loopols (ha meg ll a zene akkor jrakezdi automatikusan), szneteltets, lemixels (<- n sem tudom mit rtenek ez alatt...)
Ha meg szeretnnk lltani a hangot, akkor az Audio_Stop fggvnyt kell alkalmaznunk.
Audio_Stop(playerid,Hang[playerid]); //csak a megadott jtkosnak lltja meg (playerid)
Itt viszont nem az audio.ini -s azonostt kell megadni hanem amit lejtszsnl hasznltunk. (Hang[playerid])
Az alapfok kezels ennyi, a kzpfokrl is ejtek egykt szt.
Van mg lehetosg a hangok cifrzsra pldul httreffekt, 3D pozci a hangnak (csak a hatsugarn bell lehet hallani), effektek, s mg sok ms.
Ennyi lenne a tutorial remlem rtheto.
sszes fggvny + letlts:
http://forum.sa-mp.com/index.php?topic=106960.0
FONTOS: Hogy halld a zenket a kliens oldali plugint fel kell tenned.
|
Van ilyen [FS] amivel zent lehet jtszani a serveren gy hogy mindenki hallja....