-
Ugyebár ismerjük a PlayerPlaySound függvényt ami csak egy adott játékosnak adja be a hangot/zenét
Én most készítettem egy PlaySoundForAll-t
Eloször szükségünk van erre:
stock PlaySoundForAll(soundid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Float:p[3];
GetPlayerPos(i, p[0], p[1], p[2]);
PlayerPlaySound(i, soundid, p[0], p[1], p[2]);
}
}
És ha ezzel megvagyunk máris használhatjuk az új függvényünket: PlaySoundForAll(soundid);
Példa:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/sound\", true, 10) == 0)
{
PlaySoundForAll(1002);
return 1;
}
return 0;
}
A soundid-hez ajánlanék pár linket:
http://wiki.sa-mp.com/wiki/SoundID
http://forum.sa-mp.com/index.php?topic=94209.0
Ez az elso ilyen stock munkám szóval ha esetleg hibás lenne azt írjátok meg mert szeretnék tanulni belole :)
-
Nem szükséges lekérdezni a pozíciót hanem 0.0-ákkal helyettesíteni oket.
MAX_PLAYERS definíció (500 játékos) helyett GetMaxPlayers() kéne alkalmazni ami a férohelyet kérdezi le.
-
Muszáj kritizálni szegényt most talált fel egy új függvényt elég jó dolog!!!
-
\" post=\"57552\" timestamp=\"1275405421\"]
Muszáj kritizálni szegényt most talált fel egy új függvényt elég jó dolog!!!
[/quote]
Te tényleg ekkorra hülye vagy lol ? Nem kritizálta,hanem kiegészitette,meg segített neki hogy jobb legyen...Mert amit Eps írt,az helyesebb az tény és való.
-
Nem vagyok hülye more tudom hogy egészítettem nem bolond epsilon-se de akkor is!
XDXDXD :D :D :D :D :D :D :D :D :D :D :D
Igazad van elnéztem a tényeket xd
-
Nem szükséges lekérdezni a pozíciót hanem 0.0-ákkal helyettesíteni őket.
MAX_PLAYERS definíció (500 játékos) helyett GetMaxPlayers() kéne alkalmazni ami a férőhelyet kérdezi le.
Köszi :) tényleg egyszerűbb
-
Amugy a playerplaysound-nál a pozíciók nem a playerhez képest vannak?
azaz ha pl plaPlayerplaySound(12, 0.0, 0.0, 4.0); --> akkor enm fölötte játsza le?? :O
vagy én ezt nem értem..
nekem eddig mindíg 0.0, 0.0., 0.0 volt, és jó volt.. szal.. Infot kérek xD
-
most tanulmányozom, szóval lenne egy kérdésem: Azt h kell értelmezni h csak egy adott embernek? aki pl megjött a szervere és még nem spawnolt?
-
A függvény maga hibás. A PlayPlayerSound(); függvényben a Float:x, Float:y, Float:z az offset, magyarul a játékostól való távolság. (példa: Ha a koordináták {0.0,0.0,5.0} akkor a hang a játékos pozíciójához képes 5 lábbal feljebb fog hallatszani.
edit: Most nézem már tengerimalac is írta, igaza van.
-
A függvény maga hibás. A PlayPlayerSound(); függvényben a Float:x, Float:y, Float:z az offset, magyarul a játékostól való távolság. (példa: Ha a koordináták {0.0,0.0,5.0} akkor a hang a játékos pozíciójához képes 5 lábbal feljebb fog hallatszani.
edit: Most nézem már tengerimalac is írta, igaza van.
Aki nem értené:
A három nulla azért jó, mert akkor a játékos pozícióján fogja lejátszani, egyébként JÓ MESSZE a játékostól...
(Mivel a függvényben a játékos vektorait adja meg)
Helyes kivitelezés:
AllPlaySound(id,Float:x=0.0,Float:y=0.0,Float:z=0.0){for(new i=0;i<GetMaxPlayers();i++)if(IsPlayerConnected(i))PlayerPlaySound(i,id,x,y,z);return 1;}
-
Tök mindegy meiket használod. Ha konstannsal használod:
- Lassabb, mert végignézi az összes játékost 500-ig
- Gyors, mert konstans.
Ha változót akkor:
- Lassabb, mert változó.
- Gyorsabb, mert nem nézi meg az összes játékost 500-ig.
Használjátok a foreach-ot, vagy írtam egy egyszerubbet.
#define forplayers(%1,%2) for ( new i = %1 ; i < %2 ; i++) if(IsPlayerConnected(i)
-
és a zenét hogy kell kikapcsolni?
-
Tök mindegy meiket használod. Ha konstannsal használod:
- Lassabb, mert végignézi az összes játékost 500-ig
- Gyors, mert konstans.
Ha változót akkor:
- Lassabb, mert változó.
- Gyorsabb, mert nem nézi meg az összes játékost 500-ig.
Használjátok a foreach-ot, vagy írtam egy egyszerubbet.
#define forplayers(%1,%2) for ( new i = %1 ; i < %2 ; i++) if(IsPlayerConnected(i)
De a konstans nem feltétlenül 500. Hoppá..
Ezenkívül Gamestar kódjában akár 500 (max férohely) x is meghívódhat a függvény FELESLEGESEN. (elég lenne egyszer)
// Használat: StopMusic(playerid);
#define StopMusic(%1) PlayerPlaySound(%1,1063,0.0,0.0,0.0)
Másold a szkripted elejére, majd használd feltüntetett módon.
-
Milyen zenék vannak benne? ??? :D
Amúgy nem hittem el elsõre :D
Szép grat!
-
Ezek a hangok nem zenék, ezeket hallhatod a single playerben is.
http://forum.sa-mp.com/showthread.php?t=69572
Ha letöltöd ezt a programot, meghallgathatod õket, és elvileg kiad egy kis kódot, ami lejátsza neked a hangot a játékban.