SA-MP Forums Archive
get playerid form name dosn't work - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: get playerid form name dosn't work (/showthread.php?tid=458264)



get playerid form name dosn't work - ScRipTeRi - 15.08.2013

Hello i have one problem when i make command /id and playername he tell just my self dont work for other player here its code
pawn Код:
dcmd_id(playerid, params[])
{
    new pid,PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,COLOR_RED, "Player not found.");
    if(sscanf(params, "u", pid)) return SendClientMessage(playerid,COLOR_WHITE, "USAGE: /id <part of name>");
    SendClientMessage(playerid, 0xE89B5BBB, "Players found:");
    format(str, sizeof(str), "> %s (ID:%d) ",PlayerName[pid] ,pid );
    SendClientMessage(playerid, COLOR_WHITE, str);
    return 1;
}
Thanks


Re: get playerid form name dosn't work - ScRipTeRi - 15.08.2013

any help guys?


Re: get playerid form name dosn't work - Dragonsaurus - 15.08.2013

pawn Код:
dcmd_id(playerid, params[])
{
    if(!strlen(params)) return SendClientMessage(playerid, 0xFF0000FF, "Usage: /id [Part of name]");
    new players, string[128], name[MAX_PLAYER_NAME];
    format(string,sizeof(string),"Searched for: %s",params);
    SendClientMessage(playerid,0xFFFFFFFF,string);
    for(new i=0; i <= MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerName(i, name, MAX_PLAYER_NAME);
            new len = strlen(name);
            new bool:searched=false;
            for(new pos=0; pos <= len; pos++)
            {
                if(searched != true)
                {
                    if(strfind(name,params,true) == pos)
                    {
                        players++;
                        format(string,sizeof(string),"%d. %s (ID: %d)",players,name,i);
                        SendClientMessage(playerid, 0x00FF00FF ,string);
                        searched = true;
                    }
                }
            }
        }
    }
    if(players == 0)
    SendClientMessage(playerid, 0xFF0000FF, "No Players Localized!");
    return 1;
}



Re: get playerid form name dosn't work - RedJohn - 15.08.2013

pawn Код:
dcmd_id(playerid, params[])
{
    new pid, PlayerName[MAX_PLAYER_NAME+1];    
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,COLOR_RED, "Player not found.");
    if(sscanf(params, "u", pid)) return SendClientMessage(playerid,COLOR_WHITE, "USAGE: /id <part of name>");
    GetPlayerName(pid, PlayerName, sizeof(PlayerName));
    SendClientMessage(playerid, 0xE89B5BBB, "Players found:");
    format(str, sizeof(str), "> %s (ID:%d) ", PlayerName, pid );
    SendClientMessage(playerid, COLOR_WHITE, str);
    return 1;
}



Re: get playerid form name dosn't work - Jefff - 15.08.2013

pid is always 0 so if ID 0 is not connected cmd doesnt work


Re: get playerid form name dosn't work - ScRipTeRi - 15.08.2013

thanks all


Re: get playerid form name dosn't work - Pottus - 15.08.2013

You want it like this

pawn Код:
dcmd_id(playerid, params[])
{
    new pid, PlayerName[MAX_PLAYER_NAME+1];
    if(sscanf(params, "u", pid)) return SendClientMessage(playerid,COLOR_WHITE, "USAGE: /id <part of name>");
    if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED, "Player not found.");
    GetPlayerName(pid, PlayerName, sizeof(PlayerName));
    SendClientMessage(playerid, 0xE89B5BBB, "Players found:");
    format(str, sizeof(str), "> %s (ID:%d) ", PlayerName, pid );
    SendClientMessage(playerid, COLOR_WHITE, str);
    return 1;
}
You only need to check for INVALID_PLAYER_ID


Re: get playerid form name dosn't work - ScRipTeRi - 16.08.2013

Already fixed it but anyway thanks