CMD:setname(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
new name[MAX_PLAYERS],string1[128],query[128],q[128];
new targetid, inputtext;
if(sscanf(params, "us[128]", targetid, inputtext)) return SendClientMessage(playerid, C_GREY, "USAGE: /setname [playerid] [new name]");
{
format(q,128,"SELECT `user` FROM 'accounts' WHERE user = '%s'",inputtext);
mysql_query(q);
mysql_store_result();
if(mysql_num_rows()>0)
{
SendClientMessage(playerid, C_RED,"That name is already taken. Please choose another name.");
}
GetPlayerName(playerid, name, sizeof(name));
format(query, sizeof(query), "UPDATE 'accounts' SET user ='%s' WHERE user ='%s'",inputtext,name);
mysql_query(query);
format(string1, sizeof(string1), "*ADMIN: %s changed your name to %s.",Name(playerid),inputtext);
SendClientMessage(targetid, C_CYAN, string1);
SetPlayerName(targetid, inputtext); // i get error on this line.
mysql_free_result();
}
} else return SendClientMessage(playerid, C_RED, "You are not authorized to use this command!");
return 1;
}
D:\GTA SanAndreas\_Samp_\gamemodes\iBon_BF.pwn(4644) : error 035: argument type mismatch (argument 2) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
CMD: setname(playerid, params[])
{
new string[128], giveplayerid, name[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
if(sscanf(params, "us[24]", giveplayerid, name)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /setname [playerid] [newname]");
if(IsPlayerConnected(giveplayerid))
{
if (PlayerInfo[playerid][pAdmin] >= 4)
{
if(!doesAccountExist(name))
{
new
newname[MAX_PLAYER_NAME + 10];
GetPlayerName(giveplayerid, playername, sizeof(playername));
format(newname, sizeof(newname), "users/%s.ini", name);
if(PlayerInfo[giveplayerid][pPhousekey] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hOwner], true) == 0)
{
strmid(HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hOwner], name, 0, strlen(name), 255);
format(string, sizeof(string), "This house is owned by\n %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hLevel],PlayerInfo[giveplayerid][pPhousekey]);
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hTextID], COLOR_GREEN, string);
}
if(PlayerInfo[giveplayerid][pPhousekey2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hOwner], true) == 0)
{
strmid(HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hOwner], name, 0, strlen(name), 255);
format(string, sizeof(string), "This house is owned by\n %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hLevel],PlayerInfo[giveplayerid][pPhousekey2]);
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hTextID], COLOR_GREEN, string);
}
if(PlayerInfo[giveplayerid][pDonateRank] >= 1)
{
new string2[128];
format(string2, sizeof(string2), "[VIP NAMECHANGES] %s has changed their name to %s.", GetPlayerNameEx(giveplayerid), name);
Log("logs/vipnamechanges.log", string2);
}
format(string, sizeof(string), " Your name has been changed from %s to %s.", GetPlayerNameEx(giveplayerid), name);
SendClientMessageEx(giveplayerid,COLOR_YELLOW,string);
format(string, sizeof(string), " You have changed %s's name to %s.", GetPlayerNameEx(giveplayerid), name);
SendClientMessageEx(playerid,COLOR_YELLOW,string);
format(string, sizeof(string), "%s changed \"%s\"s name to \"%s\"",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),name);
Log("logs/stats.log", string);
SetPlayerName(giveplayerid, name);
OnPlayerStatsUpdate(giveplayerid);
format(newname, sizeof(newname), "users/%s.ini", playername);
fremove(newname);
if(doesAccountExist(playername)) // If it doesn't get removed, blank the file with write io and check its length when a player attempts to authenticate (it'll be 0)
{
new File: BlankTheFile = fopen(newname, io_write);
SendClientMessageEx(playerid, COLOR_GRAD2, "The old account couldn't be removed completely (it's been blanked for future use).");
fclose(BlankTheFile);
}
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, "This name is already registered.");
}
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't authorised to use this command.");
}
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD2, "No Such Player");
}
return 1;
}
|
Try this:
Код:
CMD: setname(playerid, params[])
{
new string[128], giveplayerid, name[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
if(sscanf(params, "us[24]", giveplayerid, name)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /setname [playerid] [newname]");
if(IsPlayerConnected(giveplayerid))
{
if (PlayerInfo[playerid][pAdmin] >= 4)
{
if(!doesAccountExist(name))
{
new
newname[MAX_PLAYER_NAME + 10];
GetPlayerName(giveplayerid, playername, sizeof(playername));
format(newname, sizeof(newname), "users/%s.ini", name);
if(PlayerInfo[giveplayerid][pPhousekey] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hOwner], true) == 0)
{
strmid(HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hOwner], name, 0, strlen(name), 255);
format(string, sizeof(string), "This house is owned by\n %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hLevel],PlayerInfo[giveplayerid][pPhousekey]);
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pPhousekey]][hTextID], COLOR_GREEN, string);
}
if(PlayerInfo[giveplayerid][pPhousekey2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hOwner], true) == 0)
{
strmid(HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hOwner], name, 0, strlen(name), 255);
format(string, sizeof(string), "This house is owned by\n %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hLevel],PlayerInfo[giveplayerid][pPhousekey2]);
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pPhousekey2]][hTextID], COLOR_GREEN, string);
}
if(PlayerInfo[giveplayerid][pDonateRank] >= 1)
{
new string2[128];
format(string2, sizeof(string2), "[VIP NAMECHANGES] %s has changed their name to %s.", GetPlayerNameEx(giveplayerid), name);
Log("logs/vipnamechanges.log", string2);
}
format(string, sizeof(string), " Your name has been changed from %s to %s.", GetPlayerNameEx(giveplayerid), name);
SendClientMessageEx(giveplayerid,COLOR_YELLOW,string);
format(string, sizeof(string), " You have changed %s's name to %s.", GetPlayerNameEx(giveplayerid), name);
SendClientMessageEx(playerid,COLOR_YELLOW,string);
format(string, sizeof(string), "%s changed \"%s\"s name to \"%s\"",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),name);
Log("logs/stats.log", string);
SetPlayerName(giveplayerid, name);
OnPlayerStatsUpdate(giveplayerid);
format(newname, sizeof(newname), "users/%s.ini", playername);
fremove(newname);
if(doesAccountExist(playername)) // If it doesn't get removed, blank the file with write io and check its length when a player attempts to authenticate (it'll be 0)
{
new File: BlankTheFile = fopen(newname, io_write);
SendClientMessageEx(playerid, COLOR_GRAD2, "The old account couldn't be removed completely (it's been blanked for future use).");
fclose(BlankTheFile);
}
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, "This name is already registered.");
}
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't authorised to use this command.");
}
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD2, "No Such Player");
}
return 1;
}
|