GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: ~DuMBasS - 2012. November 19. - 00:56:25

Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 19. - 00:56:25
Sziiasztok.!
Azt szeretném megvalósítani a szerveremre hogy mikor egy Játékos elér egy adott pozicióhoz az x,y,z \"tengely\"hez akkor 20mes körzetbe elinduljon autómatikusan egy rádió pl a Rádió1 És ha mégközeleb bmegy méghangosabban hallja ha távolod akkor elhalkul és mikor kimegy abbol a \"20m\"es körzetbõl akkor abbamarad a zene/Rádió.
Ebben kérném segítségeteke. Egy Fs vagy egy könnyû scriptel is nagyon sokat segítenétek.! Válaszotokat elõre is köszönöm.!
Cím: Rádió de hogy?
Írta: ObiWan - 2012. November 19. - 16:03:01
Szerintem ezt nem lehet megvalósítani :/
Cím: Rádió de hogy?
Írta: halaloszto100 - 2012. November 19. - 16:06:35
Próbáld meg ezzel:
PlayerPlaySound(playerid,x,y,z); 

 Csak ez nem biztos, hogy 20 méteres körzetben fogja hallani a játékos.
Cím: Rádió de hogy?
Írta: Rupert - 2012. November 19. - 16:23:34
Igen, meg lehet valósítani, pl. Paradise RPG-n megcsinálta Epsilon.
\"public OnPlayerUpdate\" callback alatt ellenõrzõd hogy ott van-e a játékos. Ha ott van, elindítod a rádiót.
Azt viszont nem tudom, hogy lehet a hangosítást/halkítást.
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 19. - 17:23:14

public OnPlayerUpdate ( playerid )
{
new Float:X, Float:Y, Float:Z, Float:Distance = 20.0;
GetPlayerPos(playerid, X, Y, Z);
PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\" );
return 1;
}
Cím: Rádió de hogy?
Írta: Rupert - 2012. November 19. - 17:29:17
Zyzu, te most komolyan mit csináltál?:DDD
Lekérted a pozícióját és kilõtted a kvanagy semmibe?
Kellene egy \"if\" elágazás...
   
public OnPlayerUpdate ( playerid )
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, távolság))
    {
    PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\" );
    }
    return 1;
    }

 
   
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 19. - 17:36:00
Hoppá elírtam bocsánat  :facepalm: Köszi, hogy javítottad.. :D
Cím: Rádió de hogy?
Írta: Bazsi - 2012. November 19. - 17:57:29
Hát vagy:
OnPlayerConnect alá:
 
PlayAudioStreamForPlayer(playerid,x,y,z,távolság,0);
Cím: Rádió de hogy?
Írta: Pedró - 2012. November 19. - 18:07:48
Idézetet írta: Rupert date=1353342557\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30013\" data-ipsquote-contentclass=\"forums_Topic
Zyzu, te most komolyan mit csináltál?:DDD
Lekérted a pozícióját és kilõtted a kvanagy semmibe?
Kellene egy \"if\" elágazás...
   
public OnPlayerUpdate ( playerid )
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, távolság))
    {
    PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\" );
    }
    return 1;
    }

 
     
 
   
public OnPlayerUpdate ( playerid )
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, 20.0))
    {
        PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\", X, Y, Z, 20.0);
    }
    return 1;
}
Cím: Rádió de hogy?
Írta: T0ny - 2012. November 19. - 18:09:22
Idézetet írta: Bazsi date=1353344249\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30013\" data-ipsquote-contentclass=\"forums_Topic
Hát vagy:
OnPlayerConnect alá:
 
PlayAudioStreamForPlayer(playerid,x,y,z,távolság,0);

 

miért az OnPlayerConnect alá?
Cím: Rádió de hogy?
Írta: Rupert - 2012. November 19. - 18:17:34
Bazsi is baromságot írt:D
Cím: Rádió de hogy?
Írta: Jippy - 2012. November 19. - 18:46:27
public OnPlayerUpdate ( playerid )
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, 20.0))
    {
    PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3\" );
    }
    return 1;
    }

 
Tessék, elvileg jó.. :D
X, Y , Z helyére a pozíciót. :)
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 19. - 19:00:16
Most nézem van rá függvény :D
 
PlayAudioStreamForPlayer(playerid, \"zene/rádió url\", x, y, z, 20, 1);
Cím: Rádió de hogy?
Írta: CANNONN - 2012. November 19. - 22:09:51
Csak ne OnPlayerUpdate-t használj. :confused:
Miért tanítjátok a rosszra?
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 20. - 00:37:05
Mindenhogy próbáltam Error, vagy megáll a pawnó. :/
 
D:\\Játékdvd-cd\\GTA SA SCRIPT\\samp03e_svr_R2_win32\\pawno\\legendrpg.pwn(42257) : error 021: symbol already defined: \"GetPlayerPos\"
D:\\Játékdvd-cd\\GTA SA SCRIPT\\samp03e_svr_R2_win32\\pawno\\legendrpg.pwn(42258) : error 010: invalid function or declaration
D:\\Játékdvd-cd\\GTA SA SCRIPT\\samp03e_svr_R2_win32\\pawno\\legendrpg.pwn(42262) : error 010: invalid function or declaration
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 20. - 06:06:30
Én inkább egy timert készítenék mert az onplayerupdate elõ hívja 100x és laggot csinál ..
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 20. - 13:23:05
Értem. Õhhm ha nem lennék bunkó esetleg kérhetnék segítséget benne.?
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 20. - 15:07:27
OnPlayerConnect alá írd be például..
 
SetTimerEx(\"ZeneOn\", 1000, 1, \"i\", playerid);

 
Ezt a módba írd bele valahová..
 

forward ZeneOn(playerid);
public ZeneOn(playerid)
{
        if(IsPlayerInRangeOfPoint(playerid, 20.0, X, Y, Z))
        {
                //Zene elindítása.
        }
        return 1;
}
Cím: Rádió de hogy?
Írta: Rupert - 2012. November 20. - 15:42:19
baromság... a timer sokkal jobban fárasztja a szervert mint az update.. update-t használj.
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 20. - 16:00:39
De az update elõhívja a szerveren lévõ függvényt akkor vagy 1000x   :facepalm:
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 20. - 16:33:39
Zyzuuu Köszönöm.:)Mûûködik csak van 1 kis probléma. ha ott vagyok az adott helyen akkor ezt csinálja.:/
Floodolja befele a rádiót és csak akkor szól ha azon a \"20\"ason kívül mentem sztem.
\"sa-mp-028_www.kepfeltoltes.hu_.png\"
Segítséget a. http://www.sampforum.huTámogatja.!
~~~~Igazság szerint ezt úgy kellene megcsinálni hogy mikor a \"20m\"es körzeten belül vagy akkor Elinduljon a zene. És mikor azon kívül vagy akkor elhalkuljon/megálljon.
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 20. - 17:15:28
Hát erre nem tudok mit mondani az úgy ki jelenik max ha teszel oda clearchatet akkor frissíti és úgy.. de várom más valaszát..  :hmmm:
Cím: Rádió de hogy?
Írta: Rupert - 2012. November 20. - 17:43:10
Létrehozol egy \"bool\" változót, amely eltárolja az \"if\" elágazás eredményét.
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 20. - 18:33:47
Rupert ha nem lennék Bunkó és megkérnélek hogy írj egy példát, akkor írsz?!
Cím: Rádió de hogy?
Írta: CANNONN - 2012. November 20. - 21:53:04
Ezt használd inkább.
 
PlayAudioStreamForPlayer(playerid, \"zene/rádió url\", x, y, z, 20, 1);
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 21. - 08:25:01
Igen ez így lenne tökéletes.!
Csak az a gond hogy mikor már belépek a szerverre már Bejelentkezésnél is Floodolja. De most viszont csak ott megy ahol kell, csak floodolja meg vízhangzik a zene.
\"sa-mp-029_www.kepfeltoltes.hu_.png\"
-. http://www.kepfeltoltes.hu
~Flood 1 részét megoldottam.
Mostmár csak akkor floodol mikor az adott helyre érek. De ezt hogy lehetne kijavítani ?:S
Itt az egész függv.
 
forward ZeneOn(playerid);
SetTimerEx(\"ZeneOn\", 1000, 1, \"i\", playerid);     //Ez az OnPlayerConnect Alatt van.
public ZeneOn(playerid)
{
        if(IsPlayerInRangeOfPoint(playerid, 20.0, -212.0682,2656.9719,62.6016))
        {
        PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3.m3u\", -212.0682,2656.9719,62.6016, 20, 1);
        }
        return 1;
}

 
A Timerrel van a hiba de hogy javítsam ?
Cím: Rádió de hogy?
Írta: ZyZu. - 2012. November 21. - 15:09:01
Ha megadtad a Kordinátát már 1x akkor miért adod meg még 1x -er?  :crazy: Javítottam.
 

forward ZeneOn(playerid);
SetTimerEx(\"ZeneOn\", 1000, 1, \"i\", playerid);     //Ez az OnPlayerConnect Alatt van.
public ZeneOn(playerid)
{
        PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3.m3u\", -212.0682,2656.9719,62.6016, 20, 1);
        return 1;
}
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 21. - 16:10:34
De Zyzu nem jó. :S
Ugyan úgy Floodolja a Rádiót. A Timerrel van valami baj.:S
Cím: Rádió de hogy?
Írta: Rupert - 2012. November 21. - 16:26:06
Mód elejére:
 

new check[MAX_PLAYERS];

 
Aztán:
 

public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -212.0682,2656.9719,62.6016))
{
if(check[playerid] == 1) return 0;
else  { PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3.m3u\", -212.0682,2656.9719,62.6016, 20, 1);
check[playerid] = 1; }
}
else { check[playerid] = 0; }
return 1;
}

 
Módosítva.
Cím: Rádió de hogy?
Írta: ~DuMBasS - 2012. November 21. - 16:44:53
~
~Sajnos mégsem jó.:/
Teszt Szerveren Hibátlanul mûködik De ahogy felrakom a Hostos szerverre Olyan laggot okoz hogy KiCrashel aki épp ottvan.:/