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: Lockgame - 2013. Október 19. - 09:52:11

Cím: zene parancs
Írta: Lockgame - 2013. Október 19. - 09:52:11
Üdv, arra lennék kiváncsi hogy hogyan lehetne megoldani hogyha pl egy RPG szerveren ha beírja egy Rádiós hogy /zene akkor egy szám URL címét beirva mindenki halja a zenét aki elérhetõ a szerveren.
Elõre is köszönöm!
Cím: zene parancs
Írta: Dfoglalo - 2013. Október 19. - 11:42:32
for(new i; i < MAX_PLAYERS; i++)
{
     PlayAudioStreamForPlayer(i, \"LINK\");
}
Cím: zene parancs
Írta: Flash - 2013. Október 19. - 11:46:29
Helyesbítek:
 
    for(new i; i < MAX_PLAYERS; i++) {
         if(!IsPlayerConnected(i)) continue;
         PlayAudioStreamForPlayer(i, \"LINK\");
   }
Cím: zene parancs
Írta: AdamHawer - 2013. Október 19. - 18:36:05
Most ez mind 1 hogy ott van e vagy nem:
 
if(!IsPlayerConnected(i)) continue;

 
Mert úgy is csak annak játssza le aki fent van.
Cím: zene parancs
Írta: Lockgame - 2013. Október 19. - 21:57:54
Nem nagyon értettétek a kérdést szerintem :) úgy értettem ha egy rádiós beirja hogy /zene akkor így nézzen ki /zene [számurlcíme] és lejátsza
tehát azt a zenét játsza le amit a rádiós beirt
Cím: zene parancs
Írta: AdamHawer - 2013. Október 20. - 08:38:08
Azt tudtommal nem lehet megoldani, azonban lehetne a szerver tulajdonos által berakni mondjuk vagy 15 fajta zenecsatornát és ezt dialógus menüvel megnyitni.
(DIALOG_STYLE_LIST)
És akkor a 15 közül az szól amit szeretne.
Én speciel nem tudom, hogy DIALOG_STYLE_INPUT-al meg-lehete oldani ezt az URL-es dolgot, még nem próbáltam, sõt még nem is néztem utána, de nem rossz dolog ha van ilyen.
Cím: zene parancs
Írta: Dfoglalo - 2013. Október 20. - 10:05:22
Ja, az egyszerû. SSCANF-al feldarabolod a parancsot, és amit beírt, azt játssza le mindenkinek, tehát valami ilyesmit hozol létre:
 
new Amitbeirt[128];
sscanf(cmdtext, \"s[128]\", Amitbeirt);
for(new i; i < MAX_PLAYERS; i++)
{
     PlayAudioStreamForPlayer(i, Amitbeirt);
}
// Elnézést ha hibás a sscanf, mert nem nagyon szoktam használni, csak MySQL-hoz. De valami ilyesmi kéne neked.
Cím: zene parancs
Írta: Flash - 2013. Október 20. - 11:08:17

Most ez mind 1 hogy ott van e vagy nem:
 
if(!IsPlayerConnected(i)) continue;

 
Mert úgy is csak annak játssza le aki fent van.
 
[/quote]
Az az IsPlayerConnected azért kell mert így azoknak is lejátsza a zenét akik nincsenek fent. De ha simán ciklus-t rakod be, akkor meg feleslegesen fut le offline játékosoknak a zene.
Nem kell egybõl minuszokat osztogatni, mert nem tudok scriptelni. Az ember csak segíteni akar ti meg háríttok.
Éljen a Magyar SAMP!
Cím: zene parancs
Írta: Flash - 2013. Október 25. - 09:20:08

Nem nagyon értettétek a kérdést szerintem :) úgy értettem ha egy rádiós beirja hogy /zene akkor így nézzen ki /zene [számurlcíme] és lejátsza
tehát azt a zenét játsza le amit a rádiós beirt
 
[/quote]
 
CMD:zene(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return 0;
if(sscanf(params, \"s[128]\", params)) return SendClientMessage(playerid, -1, \"Használat: /zene [url]\");
for(new i; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i)) continue;
    PlayAudioStreamForPlayer(i, params);
}
SendClientMessageToAll(-1, \"Egy admin elindított egy zenét!\");
return 1;
}