Jump to content

script GetPlayerID


KarTooN

Recommended Posts

Udělal jsem miniscript na zjištění ID hráče ze jména.

 

stock GetPlayerID(name[])
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        if(strcmp(pName(i),name, false) == 0)
        {
            return i;
        }
    }
    return -1;
}

stock pName(playerid)
{
new n[21];
GetPlayerName(playerid,n,21);
return n;
}

 

Tato funkce je i v Useful Functions.

 

stock GetPlayerID(const playername[], partofname=0) //By Jan "DracoBlue" Schütze (edited by Gabriel "Larcius" Cordes)
{
    new i;
    new playername1[MAX_STRING];
    for (i=0;i<MAX_PLAYERS;i++)
    {
        if (IsPlayerConnected(i))
        {
            GetPlayerName(i,playername1,sizeof(playername1));
            if (strcmp(playername1,playername,true)==0)
            {
                return i;
            }
        }
    }
    new correctsigns_userid=-1;
    new tmpuname[MAX_STRING];
    new hasmultiple=-1;
    if(partofname)
    {
        for (i=0;i<MAX_PLAYERS;i++)
        {
            if (IsPlayerConnected(i))
            {
                GetPlayerName(i,tmpuname,sizeof(tmpuname));
                if (strfind(tmpuname,partofname,true)==0)
                {
                    hasmultiple++;
                    correctsigns_userid=i;
                }
                if (hasmultiple>0)
                {
                    return -2;
                }
            }
        }
    }
    return correctsigns_userid;
}

stock GetPlayerId(playername[])
{
    return GetPlayerID(partofname[],0);
}

 

Link to comment
Share on other sites

nepochopil som, načo sem dávaš dracoblueho stock... ak to myslíš "aha toto bolo na ofik fóre - pozrite aké dlhé" tak nevieš ako to má spravené on totiž kontroluje či sa nick úplne nezhoduje, ak nie tak začne či sa zhoduje "nick" s nickom hráča (časť nicku = strfind) a tam pridáva premene "hasmultiple" hodnotu +1 a ak je viac ako 1 hráč s takou časťou nicku (npr. dáš hľadať "QWER" ale QWER na servery není ale je iba QWERTY a QWERTZ) tak vráti hodnotu -2

 

a naozaj nechápem si to nemohol dať SEM uzitecne-funkce-t6511.html

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...