01.06.2012, 21:32
When i using this cmd my server crashing then can you see the problem?
pawn Код:
CMD:setadminname(playerid, params[])
{
if(PlayerInfo[playerid][pAdministrator] < 4)
return true;
new
userID,
playerNameString[MAX_PLAYER_NAME];
if(sscanf(params, "us[24]", userID, playerNameString))
return SendClientMessage(playerid, COLOR_GREY, "/setadminname [playerid] [adminname]");
if(!IsPlayerConnected(userID))
return SendClientMessage(playerid, COLOR_GREY, "The specified player ID is either not connected or has not authenticated.");
if(PlayerInfo[userID][pAdministrator] > PlayerInfo[playerid][pAdministrator])
return SendClientMessage(playerid, COLOR_GREY, "You can't change the admin name of a higher level administrator.");
new messageString[128];
new Query[128];
new result[80];
format( Query, sizeof( Query ), "SELECT * FROM `Accounts` WHERE `Adminname` = '%s'", (result) );
mysql_query( Query );
printf(" SQL: %s",Query);
mysql_store_result();
if( mysql_num_rows() >= 1 )
{
mysql_free_result();
SendClientMessage( playerid, COLOR_WHITE, "This Admin Name is already taken, tell him to take another one." );
return 1;
}
else
mysql_free_result();
format(messageString, sizeof(messageString), "You have changed %s's admin name to %s.", PlayerInfo[userID][AdminName], playerNameString);
SendClientMessage(playerid, COLOR_WHITE, messageString);
format(messageString, sizeof(messageString), "%s has changed your admin name to %s.", PlayerInfo[playerid][AdminName], playerNameString);
SendClientMessage(userID, COLOR_WHITE, messageString);
format(PlayerInfo[userID][AdminName], MAX_PLAYER_NAME, "%s", playerNameString);
if(AdminDuty[playerid] >= 1)
SetPlayerName(userID, playerNameString);
// More stupid shit
new string[128];
new giveplayerid;
SetPlayerName(giveplayerid,(result));
format( string, sizeof( string ), "UPDATE `Accounts` SET `AdminName` = '%s' WHERE `UserID` = '%d'",(result),PlayerInfo[ giveplayerid ][pDatabaseID]);
mysql_query(string);
return 1;
}