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 - 2014. Január 05. - 10:51:20

Cím: /rzene parancs hiba
Írta: Lockgame - 2014. Január 05. - 10:51:20
Sziasztok, lenne egy kis gondom a /rzene parancsal, akármilyen linket rakok be, csak egy részletét irja ki és a zenét nem játsza le...
 
   if(strcmp(cmd, \"/rzene\", true) == 0) // gNews[playerid] = 1; disabled
{
    if(IsPlayerConnected(playerid))
    {
   if(PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pRank] > 5)
   {
      if(params < 1) return Msg(playerid,\"Használat: /rzene [link] (.mp3 legyen a vége a linknek!)\");
      foreach(Jatekosok,x)
      {
         if(gNews[playerid] == 0)
         {
            PlayAudioStreamForPlayer(x,param[1]);
         }
      }
   }
}
return 1;
}   

 
Mi lehet a hiba?
Cím: /rzene parancs hiba
Írta: Aldoooo - 2014. Január 05. - 11:20:30
Ìgy próbáld:
http://tarhelyed.hu/zene.mp3/
Ötlet:
Így töldsd fel:
1.mp3
2.mp3
Stb...
Egy pèlda(100%ban jó):
http://users.ininet.hu/aldotest/1.mp3/
Ha nem játszaná le,tekered fel a hangerõd(options)!Ha úgyse ìrj ès elküldöm az èn parancsom.
Cím: /rzene parancs hiba
Írta: Flash - 2014. Január 06. - 15:41:43
Megírtam ZCMD-re, ha valamit nem értesz írj!
 
CMD:rzene(playerid, params[]) {
if(sscanf(params, \"s[128]\", params)) return SendClientMessage(playerid, -1, \"/rzene [url]\");
if(strlen(params) > 128) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL hosszúsága nem lehet több 128 karakternél!\");
if(strfind(params, \".mp3\") != 0) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL végén szerepelnie kell .mp3 -nak.\");
   if(PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pRank] > 5) {
foreach(Jatekosok, x) {
           if(!gNews[playerid]) PlayAudioStreamForPlayer(x, params[1]);
}
}
return 1;
}
Cím: /rzene parancs hiba
Írta: Pedró - 2014. Január 07. - 18:00:54
Idézetet írta: Flash date=1389019303\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"45686\" data-ipsquote-contentclass=\"forums_Topic
Megírtam ZCMD-re, ha valamit nem értesz írj!
 
CMD:rzene(playerid, params[]) {
if(sscanf(params, \"s[128]\", params)) return SendClientMessage(playerid, -1, \"/rzene [url]\");
if(strlen(params) > 128) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL hosszúsága nem lehet több 128 karakternél!\");
if(strfind(params, \".mp3\") != 0) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL végén szerepelnie kell .mp3 -nak.\");
    if(PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pRank] > 5) {
foreach(Jatekosok, x) {
            if(!gNews[playerid]) PlayAudioStreamForPlayer(x, params[1]);
}
}
return 1;
}

 

Te meg mit csinálsz?
 
if(strfind(params, \".mp3\") != 0) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL végén szerepelnie kell .mp3 -nak.\");

 
Ez azt jelenti, hogy ha nem .mp3-al kezdõdik a beírt tartalom, akkor kiírja a hibaüzenetet.. ._.
Helyes:
 
if(strfind(params, \".mp3\") != -1) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL végén szerepelnie kell .mp3 -nak.\");

 


if(!gNews[playerid]) PlayAudioStreamForPlayer(x, params[1]);

 
Miért így oldottad meg? A beírt tartalomnak az elsõ karaktere elhanyagolódjon?
+
Miért playerid-nek ellenõrzöd le, hogy hamis-e a gNews változója?
Helyes:
 
if(!gNews
  • ) PlayAudioStreamForPlayer(x, params);

 


Legközelebb mielõtt kiraksz egy kódot, elõtte nézd már át.. Erre kell tanítani az újoncokat? A szétszórtságra?

Dupla hozzászólás automatikusan összefûzve. ( 2014. Január 07. - 18:03:19 )

Egy kis bónusz, Flash:
 
 if(sscanf(params, \"s[128]\", params)) return SendClientMessage(playerid, -1, \"/rzene [url]\");
if(strlen(params) > 128) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! Az URL hosszúsága nem lehet több 128 karakternél!\");

 
Sscanf-nál beállítod, hogy a string hosszúsága 128 legyen, aztán le ellenõrzöd, hogy nem-e hosszabb 128-nál.
Hogy lehet egy kódba ennyi figyelmetlenséget hagynia egy olyan embernek, aki a jövõ szerverét készíti?