Szerző Téma: Mindenki hallja majd?  (Megtekintve 525 alkalommal)

Nem elérhető kos

  • 292
    • Profil megtekintése
Mindenki hallja majd?
« Dátum: 2014. március 01. - 17:42:31 »
0 Show voters
Üdv.
Készítettem egy parancsot, és nem tudom, hogy vajon attól függõen hogy én írom be, hogy hallják e majd mások is.
Meg van egy kis bug, ha 0 vagy 9nél nagyobb értéket írok akkornem írja ki \"Számok 1-9ig!\" de legalább nem vált zenét.Természetesen, ha értéken belül adom meg akkor vált .) szóval nem olyan nagy baj hogy nem írja ki csak nem tudom miért nem írja ki...
 

CMD:zene(playerid, params[])
{
new szam;
    if(sscanf(params,\"i\",szam)) return SendClientMessage(playerid,Red,\"Használat: /zeneváltás Citrom rádió[1] Class fm[2] Civil rádió[3] Juventus rádió[4] RiseFM[5]\"),SendClientMessage(playerid, Red,\"                       Rock/cigány[6] Justmusic[7] OneMusicRádió[8] OzoneFm[9]\");
if(szam < 1 && szam > 9) return SendClientMessage(playerid,Red,\"Számok 1-9ig!\");
if(pInfo[playerid][pFrakcioLeader] == 1)
{
if(!strcmp(params, \"1\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn1\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"2\", true))
{
    SetTimerEx(\"ZeneOn2\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"3\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn3\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"4\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn4\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"5\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn5\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"6\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn6\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"7\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn7\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"8\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn8\", 1000, false, \"i\", playerid);
}
if(!strcmp(params, \"9\", true))
{
    StopAudioStreamForPlayer(playerid);
    SetTimerEx(\"ZeneOn9\", 1000, false, \"i\", playerid);
}
}
return 1;
}

 


forward ZeneOn1(playerid);
public ZeneOn1(playerid)
{
    PlayAudioStreamForPlayer(playerid,\"http://94.199.181.143:8300/\",1958.3783,1343.1572,15.3746,60.0,1);
    return 1;
}

 
És az igazi fõ kérdésem az lenne hogy beírom pl: /zene 1
Lejátsza meg minden, de ha mások is oda mennek õk is hallani fogják? Vagy csak az aki beállította?  :hmmm:
Köszi elõre is a válaszaitokat  :smokin:

Mindenki hallja majd?
« Válasz #1 Dátum: 2014. március 01. - 18:45:39 »
0 Show voters
szerintem nem fogják hallani...
de ha csak egy játékosra csinálod akk mire timer?
csak simán ez kellene: ZeneOn4(playerid);
viszont ha mindenkinek akarod, akk megoldhatod stock-al(PlayAudioStreamForAll(blablabla); -- az összes argumentumossal).
és ehez sem kell timer.
és egy for ciklussal: for(new i=0;i<MAX_PLAYERS;i++)
mindenkinek elinditanád
ha mindenki így írná a scriptet akk 20 sorból 30-at megtakaríthatott volna.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Mindenki hallja majd?
« Válasz #2 Dátum: 2014. március 01. - 19:25:04 »
0 Show voters
1. probléma
Ha így ellenõrzöd a számot:
 
if(szam < 1 && szam > 9)

 
akkor ha pl. megadsz 12-t, megnézi hogy a szám kisebb e, mint 1 ÉS nagyobb e, mint 9. A szöveget nem fogja kiírni, mivel nem teljesül a dolog. Hiszen 0-nél nagyobb, de 1-nél nem kisebb. Ha viszont azt néznéd, hogy ha a szám kisebb e mint 1 VAGY nagyobb e mint 9, akkor jó lenne és akkor kéne kiírni a hibaüzenetet. Viszont ha megfelelõ számot adsz meg, egyik feltétel sem fog teljesülni, így tovább fut a dolog és lejátssza amit kell. Egyébként azért nem írta ki a szöveget, de a számot mégsem játszotta le, mert a helytelen szám amúgy sem játszott volna le számot, de attól még végig ment a többi soron is. Tehát vaggyal csináld:
 
if(szam < 1 || szam > 9)

 
2. probléma
For ciklussal és IsPlayerInRangeOfPoint függvénnyel.

Nem elérhető kos

  • 292
    • Profil megtekintése
Mindenki hallja majd?
« Válasz #3 Dátum: 2014. március 01. - 19:49:20 »
0 Show voters
Köszönöm, mind a 2en sokat segítettetek   :smokin:
scripter és így is sokat foglal?
 
for(new i; i < MAX_PLAYERS;i++){if(IsPlayerConnected( i ))StopAudioStreamForPlayer(i),PlayAudioStreamForPlayer(i,\"http://94.199.181.143:8300/\",1958.3783,1343.1572,15.3746,60.0,1);}

 

Dupla hozzászólás automatikusan összefûzve. ( 2014. március 01. - 20:42:20 )

Sõt inkább le stockoztam csináltam egy all-ozást és így még rövidebb lesz :)
Téma am megoldva zárom!
« Utoljára szerkesztve: 2014. március 01. - 20:42:20 írta kos »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal