check if player forzen
#1

hello i have this freeze code and its work.. but i want check if hes forzen or not and didnt work !

pawn Код:
new IsPlayerForzen[MAX_PLAYERS];
pawn Код:
CMD:freeze(playerid,params[])
{
  new id;
  if(!IsPlayerAdmin(playerid)) return SCM(playerid, RED, "UnKnown Command! Type /help");
  if(sscanf(params,"u", id)) return SCM(playerid, RED, "Freeze a player: /frezze <playerid>");
  if(!IsPlayerConnected(id)) return SCM(playerid, RED, "Player is not connected");
  if(IsPlayerForzen[id] == 1)
  {
    SCM(playerid, RED, "Player already forzen");
  }
 
  TogglePlayerControllable(id, false);
 
  new f_name[MAX_PLAYER_NAME], f_msg[100], str[200], h_name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, h_name,sizeof (h_name));
  GetPlayerName(playerid, f_name,sizeof (f_name));
  format(f_msg,sizeof (f_msg),"Administrator %s has freeze you",f_name);
  format(str,sizeof (str),"Administrator %s has frezzer %s",f_name, h_name);
  SCM(id, RED, f_msg);
  AdminLogs(str);
  return 1;
}
Reply
#2

You forgot to set the variable to 1

pawn Код:
CMD:freeze(playerid,params[])
{
  new id;
  if(!IsPlayerAdmin(playerid)) return SCM(playerid, RED, "UnKnown Command! Type /help");
  if(sscanf(params,"u", id)) return SCM(playerid, RED, "Freeze a player: /frezze <playerid>");
  if(!IsPlayerConnected(id)) return SCM(playerid, RED, "Player is not connected");
  if(IsPlayerForzen[id] == 1) return SCM(playerid, RED, "Player already forzen");
 
 
  TogglePlayerControllable(id, false);
 
  new f_name[MAX_PLAYER_NAME], f_msg[100], str[200], h_name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, h_name,sizeof (h_name));
  GetPlayerName(playerid, f_name,sizeof (f_name));
  format(f_msg,sizeof (f_msg),"Administrator %s has freeze you",f_name);
  format(str,sizeof (str),"Administrator %s has frezzer %s",f_name, h_name);
  SCM(id, RED, f_msg);
  AdminLogs(str);
  IsPlayerForzen[id] = 1; // this code
  return 1;
}
Reply
#3

Quote:
Originally Posted by pds2k12
Посмотреть сообщение
You forgot to set the variable to 1

pawn Код:
CMD:freeze(playerid,params[])
{
  new id;
  if(!IsPlayerAdmin(playerid)) return SCM(playerid, RED, "UnKnown Command! Type /help");
  if(sscanf(params,"u", id)) return SCM(playerid, RED, "Freeze a player: /frezze <playerid>");
  if(!IsPlayerConnected(id)) return SCM(playerid, RED, "Player is not connected");
  if(IsPlayerForzen[id] == 1) return SCM(playerid, RED, "Player already forzen");
 
 
  TogglePlayerControllable(id, false);
 
  new f_name[MAX_PLAYER_NAME], f_msg[100], str[200], h_name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, h_name,sizeof (h_name));
  GetPlayerName(playerid, f_name,sizeof (f_name));
  format(f_msg,sizeof (f_msg),"Administrator %s has freeze you",f_name);
  format(str,sizeof (str),"Administrator %s has frezzer %s",f_name, h_name);
  SCM(id, RED, f_msg);
  AdminLogs(str);
  IsPlayerForzen[id] = 1; // this code
  return 1;
}
Don't forget to edit it on your unfreeze command too

Код:
IsPlayerForzen[id] = 0;
Reply
#4

Quote:
Originally Posted by RenSoprano
Посмотреть сообщение
Don't forget to edit it on your unfreeze command too

Код:
IsPlayerForzen[id] = 0;
Yes, Thanks for reminding me & him.
Reply
#5

Quote:
Originally Posted by pds2k12
Посмотреть сообщение
You forgot to set the variable to 1

pawn Код:
CMD:freeze(playerid,params[])
{
  new id;
  if(!IsPlayerAdmin(playerid)) return SCM(playerid, RED, "UnKnown Command! Type /help");
  if(sscanf(params,"u", id)) return SCM(playerid, RED, "Freeze a player: /frezze <playerid>");
  if(!IsPlayerConnected(id)) return SCM(playerid, RED, "Player is not connected");
  if(IsPlayerForzen[id] == 1) return SCM(playerid, RED, "Player already forzen");
 
 
  TogglePlayerControllable(id, false);
 
  new f_name[MAX_PLAYER_NAME], f_msg[100], str[200], h_name[MAX_PLAYER_NAME];
  GetPlayerName(playerid, h_name,sizeof (h_name));
  GetPlayerName(playerid, f_name,sizeof (f_name));
  format(f_msg,sizeof (f_msg),"Administrator %s has freeze you",f_name);
  format(str,sizeof (str),"Administrator %s has frezzer %s",f_name, h_name);
  SCM(id, RED, f_msg);
  AdminLogs(str);
  IsPlayerForzen[id] = 1; // this code
  return 1;
}
hello thanks but didnt work i can freeze my self more than 1time and didnt get that message player already forzen
Reply
#6

help!!
Reply
#7

You also need to add IsPlayerForzen[playerid] == 0; to OnPlayerConnect.
pawn Код:
CMD:freeze(playerid,params[])
{
  new id;
  if(!IsPlayerAdmin(playerid)) return SCM(playerid, RED, "UnKnown Command! Type /help");
  if(sscanf(params,"u", id)) return SCM(playerid, RED, "Freeze a player: /frezze <playerid>");
  if(!IsPlayerConnected(id)) return SCM(playerid, RED, "Player is not connected");
  if(IsPlayerForzen[id] == 1)
  {
    SCM(playerid, RED, "Player already forzen");
  }
  else if(IsPlayerForzen[id] == 0)
  {
    TogglePlayerControllable(id, false);
    new f_name[MAX_PLAYER_NAME], f_msg[100], str[200], h_name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, h_name,sizeof (h_name));
    GetPlayerName(playerid, f_name,sizeof (f_name));
    format(f_msg,sizeof (f_msg),"Administrator %s has freeze you",f_name);
    format(str,sizeof (str),"Administrator %s has frezzer %s",f_name, h_name);
    SCM(id, RED, f_msg);
    AdminLogs(str);
    IsPlayerForzen[id] == 1;
  }
  return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)