-
Üdv!
Hogyan lehetne megoldani azt hogyha a játékos egy adott koordinátán tartózkodik akkor indítsa el neki a zenét 1x es ha távolabb megy akkor halkuljon a zene?
-
PlayAudioStreamForPlayer
Magyar változata.
Például:
PlayAudioStreamForPlayer(playerid, \"http://1in.kz/s/music/1304141195_hollywood-undead-undead.mp3\", 1241.1140, 178.7975, 19.9406, 15, 1);
-
És ezt hova tegyem? Mert ha az OnPlayerConnect alá teszem akkor nem mûködik, ha más public alá ahol nincs definiálva a playerid errort ír stb.
-
if(IsPlayerInRangeOfPoint(playerid, hatótávolság pl 10.0, X, Y, Z))
{
PlayAudioStreamForPlayer(playerid, \"zene directlink\", X, Y, Z, hatótávolság pl 10.0, 1);
}
return 1;
}
-
Így folyamatosan elindítja, már próbáltam.
-
Streamer plugin aréna függvényeivel meglehet csinálni valahogy így:
Azt, hogy a zene elhalkuljon azt SAMP-ba nem lehet megcsinálni, mert nincs rá függvény.
public OnGameModeInit()
{
new d_zenearena = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
//értelemszerûen a téglalap átlójának két pontját kell megadni, Z koordináta itt nem kell!
//-1 minden játékosnál meghívódik
//worldid virtuális világ -1, az összesben virtuális világban meghívódik
//interiorid -1 az összes interiorban meghívódik
}
public OnPlayerEnterDynamicArea(playerid, areaid) //amikor belép a zónába ez a függvény meghívásra kerül
{
if(areaid == d_zenearena)
{
PlayAudioStreamForPlayer(playerid, \"http://somafm.com/tags.pls\"); //lejátszuk neki a zenét
return 1;
}
return 1;
}
public OnPlayerLeaveDynamicArea(playerid, areaid) //amikor kilépbelép a zónából ez a függvény meghívásra kerül
{
if(areaid == d_zenearena)
{
StopAudioStreamForPlayer(playerid); //leállítjuk a zenét
return 1;
}
return 1;
}
-
if(IsPlayerInRangeOfPoint(playerid, 10.0, X, Y, Z) && GetPVarInt(playerid, \"zeneelinditva\")) {
PlayAudioStreamForPlayer(playerid, \"zene directlink\", X, Y, Z, hatótávolság pl 10.0, 1);
SetPVarInt(playerid, \"zeneelinditva\", 1);
}
Azt meg találd ki hogy hol nullázod le a PVar értékét :)
[mod]Javítottam a sima code taget pawn code tagre![/mod]
-
Helló, láttam sok segítséget aki segíteni próbált neked de próbáld meg úgy, hogy:
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 5, X, Y, Z))
{
PlayAudioStreamForPlayer(playerid, \"http://1in.kz/s/music/1304141195_hollywood-undead-undead.mp3\", X, Y, Z, 15, 1);
}
else if(IsPlayerInRangeOfPoint(playerid, 6, X, Y, Z))
{
StopAudioStreamForPlayer(playerid);
}
}
Ha minden igaz akkor így mûködik. :)
El magyarázom!
Ha az 5-ös körzetben van akkor el indítja neki ott a zenét.
Ha az 5-ös körzetet elhagyja és át lép a 6-os körzetbe akkor a zene megáll!
Remélem bírtam segíteni, és jól :)
[mod]Javítottam a sima code taget pawn code tagre![/mod]
-
Hali, én ezt használom.
OnGameModeInit alá akár:
PlayAudioStreamForAll(\"LINK\",1958.3783,1343.1572,15.3746,60.0,1);
stock PlayAudioStreamForAll(url[],Float:x,Float:y,Float:z,Float:dist,on)
{
for(new i; i < MAX_PLAYERS; i++ )
{
if(IsPlayerConnected(i))
{
StopAudioStreamForPlayer(i);
PlayAudioStreamForPlayer(i,url,x,y,z,dist,on);
}
}
return 1;
}
netán ha leáll a zene, mert vége a számnak, akkor ajánlom megspécizni egy timerrel egy 1-2ms es timerrel, hogy ellenõrizze megy e még a zene ott ahol hallgattad, vagy már nem...
Remélem segítettem :smokin:
Az OnPlayerUpdate(t) nem ajánlom, mert floodolná nagyon is a dolgokat ???
De számlálással már nem pl.:
new bool:Inditva[MAX_PLAYERS]
Ugyanis így sem kizárt, de így sem árt megspécizni egy kis timerrel, mert itt is idönként leállhat a lejátszás, ha zónában vagy egy ideig.
[mod]Javítottam a
taget
tagre![/mod]
-
Üdv!
Hogyan lehetne megoldani azt hogyha a játékos egy adott koordinátán tartózkodik akkor indítsa el neki a zenét 1x es ha távolabb megy akkor halkuljon a zene?
-
PlayAudioStreamForPlayer
Magyar változata.
Például:
PlayAudioStreamForPlayer(playerid, \"http://1in.kz/s/music/1304141195_hollywood-undead-undead.mp3\", 1241.1140, 178.7975, 19.9406, 15, 1);
-
És ezt hova tegyem? Mert ha az OnPlayerConnect alá teszem akkor nem mûködik, ha más public alá ahol nincs definiálva a playerid errort ír stb.
-
if(IsPlayerInRangeOfPoint(playerid, hatótávolság pl 10.0, X, Y, Z))
{
PlayAudioStreamForPlayer(playerid, \"zene directlink\", X, Y, Z, hatótávolság pl 10.0, 1);
}
return 1;
}
-
Így folyamatosan elindítja, már próbáltam.
-
Streamer plugin aréna függvényeivel meglehet csinálni valahogy így:
Azt, hogy a zene elhalkuljon azt SAMP-ba nem lehet megcsinálni, mert nincs rá függvény.
public OnGameModeInit()
{
new d_zenearena = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
//értelemszerûen a téglalap átlójának két pontját kell megadni, Z koordináta itt nem kell!
//-1 minden játékosnál meghívódik
//worldid virtuális világ -1, az összesben virtuális világban meghívódik
//interiorid -1 az összes interiorban meghívódik
}
public OnPlayerEnterDynamicArea(playerid, areaid) //amikor belép a zónába ez a függvény meghívásra kerül
{
if(areaid == d_zenearena)
{
PlayAudioStreamForPlayer(playerid, \"http://somafm.com/tags.pls\"); //lejátszuk neki a zenét
return 1;
}
return 1;
}
public OnPlayerLeaveDynamicArea(playerid, areaid) //amikor kilépbelép a zónából ez a függvény meghívásra kerül
{
if(areaid == d_zenearena)
{
StopAudioStreamForPlayer(playerid); //leállítjuk a zenét
return 1;
}
return 1;
}
-
if(IsPlayerInRangeOfPoint(playerid, 10.0, X, Y, Z) && GetPVarInt(playerid, \"zeneelinditva\")) {
PlayAudioStreamForPlayer(playerid, \"zene directlink\", X, Y, Z, hatótávolság pl 10.0, 1);
SetPVarInt(playerid, \"zeneelinditva\", 1);
}
Azt meg találd ki hogy hol nullázod le a PVar értékét :)
[mod]Javítottam a sima code taget pawn code tagre![/mod]
-
Helló, láttam sok segítséget aki segíteni próbált neked de próbáld meg úgy, hogy:
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 5, X, Y, Z))
{
PlayAudioStreamForPlayer(playerid, \"http://1in.kz/s/music/1304141195_hollywood-undead-undead.mp3\", X, Y, Z, 15, 1);
}
else if(IsPlayerInRangeOfPoint(playerid, 6, X, Y, Z))
{
StopAudioStreamForPlayer(playerid);
}
}
Ha minden igaz akkor így mûködik. :)
El magyarázom!
Ha az 5-ös körzetben van akkor el indítja neki ott a zenét.
Ha az 5-ös körzetet elhagyja és át lép a 6-os körzetbe akkor a zene megáll!
Remélem bírtam segíteni, és jól :)
[mod]Javítottam a sima code taget pawn code tagre![/mod]
-
Hali, én ezt használom.
OnGameModeInit alá akár:
PlayAudioStreamForAll(\"LINK\",1958.3783,1343.1572,15.3746,60.0,1);
stock PlayAudioStreamForAll(url[],Float:x,Float:y,Float:z,Float:dist,on)
{
for(new i; i < MAX_PLAYERS; i++ )
{
if(IsPlayerConnected(i))
{
StopAudioStreamForPlayer(i);
PlayAudioStreamForPlayer(i,url,x,y,z,dist,on);
}
}
return 1;
}
netán ha leáll a zene, mert vége a számnak, akkor ajánlom megspécizni egy timerrel egy 1-2ms es timerrel, hogy ellenõrizze megy e még a zene ott ahol hallgattad, vagy már nem...
Remélem segítettem :smokin:
Az OnPlayerUpdate(t) nem ajánlom, mert floodolná nagyon is a dolgokat ???
De számlálással már nem pl.:
new bool:Inditva[MAX_PLAYERS]
Ugyanis így sem kizárt, de így sem árt megspécizni egy kis timerrel, mert itt is idönként leállhat a lejátszás, ha zónában vagy egy ideig.
[mod]Javítottam a
taget
tagre![/mod]