Fix the /unfreeze Problem
#1

I was working at a /unfreeze command. Most is finished. I only need to get the player ID and name that get unfreezed.

Код:
dcmd_unfreeze(playerid, params[])
{
  new id, ReturnUserName[24], pName[24], str[128];
  if(PlayerInfo[playerid][AdminLevel] < 1) return false;
  if (sscanf(params, "i", id)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unfreeze [ID]");
  if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: Invalid playerid.");
  GetPlayerName(playerid, pName, sizeof(pName));
  {
  TogglePlayerControllable(id, true);
	GetPlayerName(playerid, pName, sizeof(pName));
	GetPlayerName(ReturnUserName, sizeof(ReturnUserName));
	format(str, sizeof(str), "ADMIN: %s (ID: %d) was frozed by %s (ID: %d).", ReturnUserName, id, pName, playerid);
	SendAdminMsg(COLOR_WHITE, str);
	}

  return 1;
}
With this script I canґt get the player ID and name that get unfreezed.

Someone fix it?
Reply
#2

Код:
dcmd_unfreeze(playerid, params[])
{  new player1;
  pName[24], str[128]; new RturnUserName[24];
  if(PlayerInfo[playerid][AdminLevel] < 1) return false;
  if (sscanf(params, "i", id)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unfreeze [ID]");
  if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: Invalid playerid.");
  
       player1 = strval(params);
       TogglePlayerControllable(player1, true);
	GetPlayerName(playerid, pName, sizeof(pName));
	GetPlayerName(player1,ReturnUserName, sizeof(ReturnUserName));
	format(str, sizeof(str), "ADMIN: %s (ID: %d) has unfrozen %s (ID: %d).", pName,playerid,ReturnUsername, player1);
	SendAdminMsg(COLOR_WHITE, str);
	}

  return 1;
}
Reply
#3

I don't know where you got the command, and seeing how it uses extra variables that you don't have defined, use this instead:
pawn Код:
dcmd_unfreeze(playerid, params[])
{
  new name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], targetid, str[128];
  if(sscanf(params, "i", targetid)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unfreeze [id]");
  if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid");
  GetPlayerName(playerid, name, sizeof(name));
  GetPlayerName(targetid, name2, sizeof(name2));
  TogglePlayerControllable(targetid, true);
  format(string, sizeof(string), "Admin: %s (ID: %d) has un-frozen %s (ID: %d).", name, playerid, name2, targetid);
  SendClientMessageToAll(COLOR_WHITE, string);
  return 1;
}
Use some of the defines you have in the previous one, but should work like a charm.
Reply
#4

@DJDhan:

You forget to add "ReturnUserName" at "new". So your code didnґt work

@Grim_:

Wonderful! It works after I change it to my customer filterscript!

Final code:

Код:
dcmd_unfreeze(playerid, params[])
{
  new name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], targetid, str[128];
  if(sscanf(params, "i", targetid)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unfreeze [ID]");
  if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: Invalid playerid");
  GetPlayerName(playerid, name, sizeof(name));
  GetPlayerName(targetid, name2, sizeof(name2));
  TogglePlayerControllable(targetid, true);
  format(str, sizeof(str), "Admin: %sadmin (ID: %d) has unfrozen %styp (ID: %d).", name, playerid, name2, targetid);
  SendAdminMsg(COLOR_WHITE, str);
  return 1;
}
Reply
#5

Glad I could help
Reply
#6

Yeah i noticed and changed it immediately :P Just forgot the "e" in ReturnUserName
Reply
#7

Anyways, I am grateful for every help!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)