Change player's name in mysql.
#1

How to change player name, if it's in mysql.
Please Help !!
Reply
#2

Код:
UPDATE `table` SET `Nick` = 'NewNick' WHERE `Nick` = 'OldNick';
Reply
#3

Can you make me one command ?
table players - Name
Reply
#4

Bring
Up
My
Post
Reply
#5

You will need to add to this and probably change the "query", but this is a base.

pawn Код:
command(changenick, playerid, params[])
{
    new id, newname[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME], iName[MAX_PLAYER_NAME], Query[128];
    if(!IsPlayerAdmin(playerid))
        return SendClientMessage(playerid, COLOR_WHITE, "You are not an RCON administrator!");
    if(sscanf(params, "us[23]", id, newname))
        return SendClientMessage(playerid, COLOR_WHITE, "SYNTAX: /changenick [playerid/name] [nickname]");
    if(!IsPlayerConnected(id))
        return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");

    GetPlayerName(playerid, pName, sizeof(pName));
    GetPlayerName(id, iName, sizeof(iName));
   
    format(Query, sizeof(Query), "UPDATE `players` SET `Name` = '%s' WHERE `UserName` = '%s'", newname, iName);
    mysql_query(Query);
    return 1;
}
This uses "sscanf2" and "zcmd" - you'll need 'em!
Reply
#6

Код:
Errors:

K:(2933) : warning 202: number of arguments does not match definition
K:(2933) : error 033: array must be indexed (variable "newname")
K:(2933) : error 029: invalid expression, assumed zero
K:(2933 -- 2934) : warning 215: expression has no effect
K:(2934) : error 001: expected token: ";", but found "return"
K:(2934) : fatal error 107: too many error messages on one line
Код:
CMD:setname(playerid, params[])
{
	if(PlayerInfo[playerid][pAdmin] < 2 ) return SendClientMessage(playerid, COLOR_RED, "[Error]: You are not an admin with required level. ");

	new otherId;
	new newname[MAX_PLAYER_NAME];
	new iName[MAX_PLAYER_NAME];

    if(sscanf(params), "is[23]", otherId, newname))
        return SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /setname [PLAYERID] [NEW NAME]");

	if(!IsPlayerConnected(playerid))
        return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");

    GetPlayerName(playerid, playerName, sizeof(pName));
    GetPlayerName(otherId, iName, sizeof(iName));

	new Query[128];
    format(Query, sizeof(Query), "UPDATE `players` SET `Name` = '%s' WHERE `UserName` = '%s'", newname, iName);
    mysql_query(Query);
    return 1;
}
Reply
#7

pawn Код:
if(sscanf(params), "is[23]", otherId, newname))
If you compare this line, to the line in the code I gave you, I'm sure you could of found the problem.

pawn Код:
if(!IsPlayerConnected(playerid))
        return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");
I just noticed a mistake in that code, "playerid" should be "otherID".
Reply
#8

pawn Код:
command(changenick, playerid, params[])
{
    new id, newname[25], pName[25], iName[25], Query[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You are not an RCON administrator!");
    {
        if(sscanf(params, "us[23]", id, newname)) return SendClientMessage(playerid, COLOR_WHITE, "SYNTAX: /changenick [playerid/name] [nickname]");
        {
            if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");
            {
                GetPlayerName(playerid, pName, 25);
                GetPlayerName(id, iName, 25);
                format(Query, 128, "UPDATE `players` SET `Name` = '%s' WHERE `UserName` = '%s'", newname, iName);
                mysql_query(Query);
            }
        }
    }
    return 1;
}
Why people always uses sizeof?
Reply
#9

Quote:
Originally Posted by The_Moddler
Посмотреть сообщение
pawn Код:
command(changenick, playerid, params[])
{
    new id, newname[25], pName[25], iName[25], Query[128];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You are not an RCON administrator!");
    {
        if(sscanf(params, "us[23]", id, newname)) return SendClientMessage(playerid, COLOR_WHITE, "SYNTAX: /changenick [playerid/name] [nickname]");
        {
            if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");
            {
                GetPlayerName(playerid, pName, 25);
                GetPlayerName(id, iName, 25);
                format(Query, 128, "UPDATE `players` SET `Name` = '%s' WHERE `UserName` = '%s'", newname, iName);
                mysql_query(Query);
            }
        }
    }
    return 1;
}
Why people always uses sizeof?
Instead of having to change two things, you can just change one.
Reply
#10

why such a big command

pawn Код:
CMD:changenick, playerid, params[])
{
    new id,newname[25];
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "You are not an RCON administrator!");
    if(sscanf(params, "us[23]", id, newname)) return SendClientMessage(playerid, COLOR_WHITE, "SYNTAX: /changenick [playerid/name] [nickname]");
    if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");
    new pName[25], iName[25], Query[128];
    GetPlayerName(playerid, pName, 25);
    GetPlayerName(id, iName, 25);
    format(Query, 128, "UPDATE `players` SET `Name` = '%s' WHERE `UserName` = '%s'", newname, iName);
    mysql_query(Query);
    return 1;
}
basically the same, but it looks kinda better to me :P
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)