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?