01.06.2013, 22:50
Hello, I got a problem, I'm not very good at scripting and still learning but.. How do I fix this? When I remove underscores it works for playerid, but with giveplayerid it bugs, sends messages to the wrong players etc or wrong names
That's what I got to remove underscores.
Example of a command;
The message supposed to go at the reciever gets sent to me, and it gives my name on all..
Код:
stock RemoveUnderScore(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); for(new i = 0; i < MAX_PLAYER_NAME; i++) { if(name[i] == '_') name[i] = ' '; } return name; } stock RPN(giveplayerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(giveplayerid,name,sizeof(name)); for(new i = 0; i < MAX_PLAYER_NAME; i++) { if(name[i] == '_') name[i] = ' '; } return name; }
Example of a command;
Код:
if(strcmp(cmd, "/freeze", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /freeze [playerid/PartOfName]"); return 1; } new playa; playa = ReturnUser(tmp); if(PlayerInfo[playerid][pAdmin] >= 2) { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { GetPlayerName(playa, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); TogglePlayerControllable(playa, 0); PlayerFrozen[playerid] = 1; format(string, sizeof(string), "{FF0000}Server action{FF0000}: You have been frozen by an Admin %s.",RemoveUnderScore(playerid)); SendClientMessage(giveplayerid, COLOR_RED, string); format(string, sizeof(string), "{FF0000}Server action{FF0000}: You have frozen %s.", RPN(giveplayerid)); SendClientMessage(playerid, COLOR_RED, string); } } } else { SendClientMessage(playerid, COLOR_GRAD1, " You are not authorized to use that command !"); } } return 1; }