13.09.2016, 15:33
Hello guys,
I created this command, to set faction rank.
It does it jobs, It gives the correct player the rank, But I make a new 2 new strings, 1st of send Faction rank 4+ Client message, and second one to log it in a file,
My problem is,
When i use the command, for example, /givefam 4 5
It gives playerid 4, the rank 5, which is good but in message it shows the playername of other player like ID 0 or ID 1 (which ever is earlier) Its not showing the playername of the other player id (target id), Its showing name of the player whose id is earlier, 0 or 1...
My Codes -
I created this command, to set faction rank.
It does it jobs, It gives the correct player the rank, But I make a new 2 new strings, 1st of send Faction rank 4+ Client message, and second one to log it in a file,
My problem is,
When i use the command, for example, /givefam 4 5
It gives playerid 4, the rank 5, which is good but in message it shows the playername of other player like ID 0 or ID 1 (which ever is earlier) Its not showing the playername of the other player id (target id), Its showing name of the player whose id is earlier, 0 or 1...
My Codes -
Код:
CMD:givefam(playerid, params[]) { if(PlayerInfo[playerid][pFacrank] >= 4 || IsPlayerAdmin(playerid))//checks if the player is high enough rank { new targetid, rank, string[128];//establishes a player to use the command on, the rank you want to set, and some words to tell the players the actions used on them. new banString[128], pgstaff[24], newpgmember[24], GiveFamstring[128]; GetPlayerName(playerid, pgstaff, 24); GetPlayerName(targetid, newpgmember, 24); if(sscanf(params, "ui", targetid, rank)) return SendClientMessage(playerid, COLOR_RED, "Usage: /givefam [playerid][rank]");//checks if the command was typed correctly if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");//if the player id typed is not connected it will state that to you. if(rank < 1 || rank > 6) return SendClientMessage(playerid, COLOR_RED,"Rank must be 1 - 6");//checks if the rank number typed is above or below the correct numbers PlayerInfo[targetid][pFacrank] = rank;//sets the players rank to the rank you choose SendClientMessage(targetid, COLOR_LIGHTBLUE, "Welcome to family!");//states that the players rank was changed format(string, sizeof(string), "You have Received family Rank %d!", rank); SendClientMessage(targetid, COLOR_GREEN, string);//states that the players rank was changed format(banString, 128, "{663300}[ ACTION]{9999ff} %s has given rank {33cc33}%d {9999ff}to %s .", pgstaff, rank, newpgmember); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[i][pFacrank] >= 4) SendClientMessage(i, COLOR_WHITE, banString); //goes through all the players checking who is and isint in faction 1 } format(GiveFamstring, 128, "[ ACTION] %s has given rank %d to %s .", pgstaff, rank, newpgmember); GiveFamLog(GiveFamstring); SendClientMessage(playerid, COLOR_LIGHTBLUE, " rights have been given to the player!");//states that the players rank was changed } else //if the player is not the correct rank it will display this message below { SendClientMessage(playerid, COLOR_RED, "You re a retard! Permission denied!"); } return 1; } CMD:takefam(playerid, params[]) { if(PlayerInfo[playerid][pFacrank] >= 4 || IsPlayerAdmin(playerid))//checks if the player is high enough rank { new targetid, string[128];//establishes a player to use the command on, the rank you want to set, and some words to tell the players the actions used on them. new banString[128], pgstaff[24], newpgmember[24], GiveFamstring[128]; GetPlayerName(playerid, pgstaff, 24); GetPlayerName(targetid, newpgmember, 24); if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, COLOR_RED, "Usage: /takefam [playerid]");//checks if the command was typed correctly if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "That player is not connected!");//if the player id typed is not connected it will state that to you. PlayerInfo[targetid][pFacrank] = 0;//sets the players rank to the rank you choose SendClientMessage(targetid, COLOR_LIGHTBLUE, "HOLA!");//states that the players rank was changed format(string, sizeof(string), "You have been kicked out of family!"); SendClientMessage(targetid, COLOR_GREEN, string);//states that the players rank was changed SetPlayerHealth(targetid, 0); format(banString, 128, "{663300}[ ACTION]{9999ff} %s has kicked {99ccff}%s {9999ff}out of family!", pgstaff, newpgmember); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerInfo[i][pFacrank] >= 4) // >=4 SendClientMessage(i, COLOR_WHITE, banString); //goes through all the players checking who is and isint in faction 1 } format(GiveFamstring, 128, "[ ACTION] %s has kicked %s out of family!", pgstaff, newpgmember); GiveFamLog(GiveFamstring); SendClientMessage(playerid, COLOR_LIGHTBLUE, "rights have been taken from the player!");//states that the players rank was changed WankRec[targetid] =0; } else //if the player is not the correct rank it will display this message below { SendClientMessage(playerid, COLOR_RED, "You re a retard! Permission denied!"); } return 1; }