SA-MP Forums Archive
check if player forzen - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: check if player forzen (/showthread.php?tid=477200)



check if player forzen - Gafsi - 22.11.2013

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;
}



Re: check if player forzen - Patrick - 22.11.2013

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;
}



Re: check if player forzen - RenSoprano - 22.11.2013

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;



Re: check if player forzen - Patrick - 22.11.2013

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.


Re: check if player forzen - Gafsi - 22.11.2013

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


Re: check if player forzen - Gafsi - 23.11.2013

help!!


Re: check if player forzen - Stinged - 23.11.2013

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;
}