COMMAND:glazba(playerid,params[])
{
if (APlayerData[playerid][LoggedIn] == true && APlayerData[playerid][PlayerLevel] > 4)
{
new Link[128];
if(sscanf(params, "s[128]", Link)) return SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Komanda:{FF0000} {FFFFFF}/Glazba <Link> {FFFFFF}");
for (new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i)){
PlayAudioStreamForPlayer(i, Link);
}
}
return 1;
}
return 0;
}
COMMAND:glazba(playerid,params[]) { if (APlayerData[playerid][LoggedIn] == true && APlayerData[playerid][PlayerLevel] > 4) { new player_name[24]; GetPlayerName(playerid, player_name, sizeof (player_name)); if (!strcmp(player_name, "Red_John", false)) { // zcmd has "params[]", which is already a string. // You shouldn't use sscanf when you only want to use a string. if (isnull(params)) return SendClientMessage(playerid, 0xFF0000FF, "Komanda: {FFFFFF}/Glazba "); // Your old SendClientMessage was this: // SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Komanda:{FF0000} {FFFFFF}/Glazba {FFFFFF}"); // What it meant was: // RED REDKomanda:RED WHITE/Glazba WHITE // While mine means: REDKomanda: WHITE/Glazba for (new i=0; i < MAX_PLAYERS; i++) { (IsPlayerConnected(i) && !IsPlayerNPC(i)) { PlayAudioStreamForPlayer(i, params); } } } return 1; } return 0; }
if (!strcmp("Red_John", name))
{
// Yes he is Red_John
}
else
{
// No he ain't
}
To make the actual command, you only need GetPlayerName and strcmp
But the command I posted has everything fixed and done better. I'll explain everything in // comments. Код:
COMMAND:glazba(playerid,params[]) { if (APlayerData[playerid][LoggedIn] == true && APlayerData[playerid][PlayerLevel] > 4) { new player_name[24]; GetPlayerName(playerid, player_name, sizeof (player_name)); if (!strcmp(player_name, "Red_John", false)) { // zcmd has "params[]", which is already a string. // You shouldn't use sscanf when you only want to use a string. if (isnull(params)) return SendClientMessage(playerid, 0xFF0000FF, "Komanda: {FFFFFF}/Glazba "); // Your old SendClientMessage was this: // SendClientMessage(playerid, 0xFF0000FF, "{FF0000}Komanda:{FF0000} {FFFFFF}/Glazba {FFFFFF}"); // What it meant was: // RED REDKomanda:RED WHITE/Glazba WHITE // While mine means: REDKomanda: WHITE/Glazba for (new i=0; i < MAX_PLAYERS; i++) { (IsPlayerConnected(i) && !IsPlayerNPC(i)) { PlayAudioStreamForPlayer(i, params); } } } return 1; } return 0; } |
C:\Users\NeXuS\Desktop\ng\include\PlayerCommands.inc(39 -- 40) : error 029: invalid expression, assumed zero Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
(IsPlayerConnected(i) && !IsPlayerNPC(i)) { PlayAudioStreamForPlayer(i, params)
if (IsPlayerConnected(i) && !IsPlayerNPC(i))
// replace:
for (new i=0; i < MAX_PLAYERS; i++)
// with:
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)