15.09.2014, 12:43
This my code changename it having little problem i using it fine but i must enter name 3 times to change name :-/
Sorry i bad english
I mean if players use this command must be 3 times to enter and it will change players name i want only 1 time enter name and change it.
example:
/changename PlayerGod Enter 1 time not work
/changename PlayerGod Enter 2 time not work
/changename PlayerGod Enter 3 time working
So i want only 1 time to changename pleas check this code below, Thank you.
Sorry i bad english
I mean if players use this command must be 3 times to enter and it will change players name i want only 1 time enter name and change it.
example:
/changename PlayerGod Enter 1 time not work
/changename PlayerGod Enter 2 time not work
/changename PlayerGod Enter 3 time working
So i want only 1 time to changename pleas check this code below, Thank you.
pawn Код:
CMD:changename(playerid, params[])
{
new newname[24], newnamecheck[128], oldnamecheck[128];
new invnameold[128], invnamenew[128];
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login to use this.");
if(Player[playerid][pCash] < 10) return SendClientMessage(playerid, 0x4186B0AA, "You cannot afford to change name. (Cost: $10.00)");
if(sscanf(params,"s[24]", newname)) return SendClientMessage(playerid, COLOR_BLUE5, "Usage: /changename [new name]");
if(strlen(newname) < 3 )
{
SendClientMessage(playerid, COLOR_BLUE5, "New name must be between 3 and 24 characters.");
return 1;
}
if(strlen(newname) > 24)
{
SendClientMessage(playerid, COLOR_BLUE5, "New name must be between 3 and 24 characters.");
return 1;
}
format(oldnamecheck, sizeof(oldnamecheck), "Users/%s.ini", pName(playerid));
if(fexist(oldnamecheck)) return fremove(oldnamecheck);
format(newnamecheck, sizeof(newnamecheck), "Users/%s.ini", newname);
if(fexist(newnamecheck)) return SendClientMessage(playerid, COLOR_BLUE5, "This name is already taken. Please choose another.");
frename(oldnamecheck, newnamecheck);
format(invnameold, sizeof(invnameold), "Inventory/%s.ini", pName(playerid));
if(fexist(invnameold)) return fremove(invnameold);
format(invnamenew, sizeof(invnamenew), "Inventory/%s.ini", newname);
if(fexist(invnamenew)) return SendClientMessage(playerid, COLOR_BLUE5, "This name is already taken. Please choose another");
frename(invnameold, invnamenew);
Newname[playerid] = 1;
Player[playerid][pQuit] = 0;
Player[playerid][pCash] -= 10;
GivePlayerMoneyEx(playerid, -10);
for(new m = 0; m < 9; m++) SendClientMessage(playerid, 0xFFFFFFAA, " ");
SendClientMessage(playerid, -1, "PROCESSING SERVER SIDE");
SendClientMessage(playerid, COLOR_BLUELIGHT, "- Your market stall has been transferred.");
SendClientMessage(playerid, COLOR_BLUELIGHT, "Your player name has changed.");
SendClientMessage(playerid, COLOR_ORANGE, "Please log in with your new name to complete the process.");
SetPlayerName(playerid, newname);
SetTimerEx("KickTime", 1500, false, "i", playerid);
return 1;
}