SA-MP Forums Archive
Case sensitive user names. - 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: Case sensitive user names. (/showthread.php?tid=454020)



Case sensitive user names. - Anak - 27.07.2013

hello i want my login system to convert all nicks to lower case .. i mean if a player nick: TeST.. the file must be saved as test.ini..


P.S: edit my code..

here is code:

pawn Код:
stock Path(playerid) //Will create a new stock so we can easily use it later to load/save user's data in user's path
{
    new str[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),UserPath, name);
    return str;
}



Re: Case sensitive user names. - Donvalley - 27.07.2013

they answered this for you already?

http://forum.sa-mp.com/showthread.ph...hlight=tolower

by using:

https://sampwiki.blast.hk/wiki/Tolower


Re: Case sensitive user names. - JimmyCh - 27.07.2013

EDIT: Nevermind, too late.


Re: Case sensitive user names. - Anak - 27.07.2013

ok so like this?

pawn Код:
public NickToLower(const nick[])
{
    for(new i=0, j=strlen(nick); i<j; i++)
    {
        nick[i] = tolower(nick[i]);
    }
    return nick;
}
forward NickToLower(nick[]);
stock Path(playerid) //Will create a new stock so we can easily use it later to load/save user's data in user's path
{
    new str[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),UserPath, NickToLower[name]);
    return str;
}

then i get these errors:
Код:
D:\1v1_Nouman_server\filterscripts\project.pwn(1675) : error 022: must be lvalue (non-constant)
D:\1v1_Nouman_server\filterscripts\project.pwn(1677) : error 090: public functions may not return arrays (symbol "NickToLower")
D:\1v1_Nouman_server\filterscripts\project.pwn(1679) : error 025: function heading differs from prototype
D:\1v1_Nouman_server\filterscripts\project.pwn(1684) : error 028: invalid subscript (not an array or too many subscripts): "NickToLower"
D:\1v1_Nouman_server\filterscripts\project.pwn(1684) : warning 215: expression has no effect
D:\1v1_Nouman_server\filterscripts\project.pwn(1684) : error 001: expected token: ";", but found "]"
D:\1v1_Nouman_server\filterscripts\project.pwn(1684) : error 029: invalid expression, assumed zero
D:\1v1_Nouman_server\filterscripts\project.pwn(1684) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


7 Errors.



AW: Case sensitive user names. - Nero_3D - 27.07.2013

like this NickToLower(name)


Re: Case sensitive user names. - Anak - 27.07.2013

hello...

this code:

pawn Код:
public NickToLower(const nick[])
{
    for(new i=0, j=strlen(nick); i<j; i++)
    {
        nick[i] = tolower(nick[i]); // 1675
    }
    return nick;// 1677
}
forward NickToLower(nick[]); // 1679
stock Path(playerid) //Will create a new stock so we can easily use it later to load/save user's data in user's path
{
    new str[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),UserPath, NickToLower(name));
    return str;
}

and now errors

Код:
D:\1v1_Nouman_server\filterscripts\project.pwn(1675) : error 022: must be lvalue (non-constant)
D:\1v1_Nouman_server\filterscripts\project.pwn(1677) : error 090: public functions may not return arrays (symbol "NickToLower")
D:\1v1_Nouman_server\filterscripts\project.pwn(1679) : error 025: function heading differs from prototype
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.



Re: Case sensitive user names. - QuaTTrO - 27.07.2013

pawn Код:
stock NickToLower(const nick[])
{
    for(new i=0, j=strlen(nick); i<j; i++)
    {
        nick[i] = tolower(nick[i]);
    }
    return nick;
}

stock Path(playerid) //Will create a new stock so we can easily use it later to load/save user's data in user's path
{
    new str[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),UserPath, NickToLower(name));
    return str;
}
Don't use public to create functions.


Re: Case sensitive user names. - Anak - 27.07.2013

now i get this error:

Код:
D:\1v1_Nouman_server\filterscripts\project.pwn(1675) : error 022: must be lvalue (non-constant)
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
on this line

pawn Код:
nick[i] = tolower(nick[i]);



Re: Case sensitive user names. - QuaTTrO - 27.07.2013

My bad i didn't notice const. This should look like this
pawn Код:
stock NickToLower(nick[]) //Just remove const
{
    for(new i=0, j=strlen(nick); i<j; i++)
    {
        nick[i] = tolower(nick[i]);
    }
    return nick;
}



Re: Case sensitive user names. - Anak - 27.07.2013

ok now .. if i use test name CRAZYBoB.. it should be converted to "crazybob.ini" (in script files) but i got
",€(јcrazybob.ini" (inside script files instead of "crazybob.ini")