Szerző Téma: PlayAudioStreamForPlayer  (Megtekintve 799 alkalommal)

Nem elérhető Benceee

  • 4785
    • Profil megtekintése
PlayAudioStreamForPlayer
« Dátum: 2012. július 22. - 11:57:22 »
0 Show voters
Hali.
Van PlayAudioStreamForPlayer függvényünk. Ha egy adott pozíción szeretnénk hallani, akkor nagyon jó. De azt hogy lehet megoldani, hogy aki nincs indításnál a körzetben, hanem csak késõbb jön, az is hallja? Mert õ sajnos nem hallja.

Nem elérhető Bazsi

  • 345
    • Profil megtekintése
PlayAudioStreamForPlayer
« Válasz #1 Dátum: 2012. július 22. - 12:26:53 »
0 Show voters
játszd le mindenkinek for függvénnyel, csak ezzel meg az a baj, hogy nekem régebben bekresseltette...
 
for(new i; i < MAX_PLAYERS; i++)PlayAudioStreamForPlayer(i,\"http://asdasd.hu\",x,y,z,tavolsag,1);

 
Lehet, hogy már javítva lett és nem kressel be :D

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
PlayAudioStreamForPlayer
« Válasz #2 Dátum: 2012. július 22. - 12:32:02 »
0 Show voters
Idézetet írta: Benceee date=1342951042\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24831\" data-ipsquote-contentclass=\"forums_Topic
Hali.
Van PlayAudioStreamForPlayer függvényünk. Ha egy adott pozíción szeretnénk hallani, akkor nagyon jó. De azt hogy lehet megoldani, hogy aki nincs indításnál a körzetben, hanem csak késõbb jön, az is hallja? Mert õ sajnos nem hallja.
 
IsPlayerInRangeOfPoint
meg
1-2 változó :D

PlayAudioStreamForPlayer
« Válasz #3 Dátum: 2012. július 22. - 12:35:36 »
0 Show voters
Mivel ForPlayer, ezért amikor beér abba a körzetbe, ahol hallania kéne, el kell indítani.
Szerintem használj idõzítõt, vagy ami mégjobb, DynamicArea-t, stramer pluginból.
Ellenõrizd, hogy a játékos közel van-e a ponthoz.
Utána indítsd el PlayAudioStreamForPlayer(..)-rel.
Ha kilép, vagy eltávolodik a ponttól, akkor StopAudioStreamForPlayer(..)
 

new zenearea;
zenearea = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
public OnPlayerEnterDynamicArea(playerid, areaid) {
    if(areaid == zenearea) PlayAudioStreamForPlayer(...);
}
public OnPlayerLeaveDynamicArea(playerid, areaid) {
    if(areaid == zenearea) StopAudioStreamForPlayer(...);
}

 
Vagy valami ilyesmi.
Vagy megoldható IsPlayerInRangeOfPoint-tal is

Nem elérhető Benceee

  • 4785
    • Profil megtekintése
PlayAudioStreamForPlayer
« Válasz #4 Dátum: 2012. július 22. - 13:54:35 »
0 Show voters
Alapból ez bennevan a függvénybe. El is halkul ha távolabb megyek. De ha megy a zene, és cska utána megyek be a körzetbe, akkor én nem hallom.

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
PlayAudioStreamForPlayer
« Válasz #5 Dátum: 2012. július 22. - 17:18:31 »
0 Show voters
Hátha mûködik. :D Nem teszteltem.
 

#include a_samp
#include foreach
forward ZeneEllenor();
new bool:RBekapcsolva[MAX_PLAYERS] = false;
 
public OnFilterScriptInit()
{
SetTimer(\"ZeneEllenor\", 1000, true);
return 1;
}
public ZeneEllenor()
{
foreach(Player, i)
{
if(IsPlayerConnected(i))
{
   if(IsPlayerInRangeOfPoint(i, 7.0, 0, 0, 0))
   {
      if(RBekapcsolva == false) PlayAudioStreamForPlayer(i,\"http://....\", 0, 0, 0, 7.0, 1), RBekapcsolva = true;
   }
}
}
return 1;
}
« Utoljára szerkesztve: 2012. július 22. - 17:24:06 írta Cannonn »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal