Help whit jail command
#1

Hi there, i need help whit this command:

PHP код:
new bool:Jailed[MAX_PLAYERS]; 
PHP код:
dcmd_jail(playeridparams[])
{
  new 
jailedidtimestring[128];
  if(
sscanf(params"ud"jailedidtime))
  {
    
SendClientMessage(playerid, -1"/jail <id> <minutes>");
  }
  else if(
jailedid == INVALID_PLAYER_ID)
  {
    
SendClientMessage(playeridCOLOR_RED"ERROR: Player is not online.");
  }
  else if(
Jailed[jailedid] == true)
  {
    
SendClientMessage(playeridCOLOR_RED"ERROR: Player already jailed.");
  }
  else
  {
    
SetTimerEx("Unjailtime"1000 timefalse"d"jailedid);
    
format(stringsizeof(string), "%d is jailed"jailedid);
    
SendClientMessage(playeridCOLOR_REDstring);
    
SendClientMessage(jailedidCOLOR_RED"You have been jailed!");
  }
  return 
1;

PHP код:
public Unjailtime(playerid)
{
  
Jailed false;
  
SendClientMessage(jailedidCOLOR_GREEN"You're free!");
  
SetPlayerPos(jailedid1676.92541448.665310.7831);
  return 
1;

And I get these errors:

Код:
(10143) : warning 235: public function lacks forward declaration (symbol "Unjailtime")
(10145) : error 033: array must be indexed (variable "Jailed")
(10146) : error 017: undefined symbol "jailedid"
(10147) : error 017: undefined symbol "jailedid"
I found this code on the forum and I wanted to adapt it to my GameMode help please, regards!!
Reply
#2

you puted jailed = false; but you defined jailed as player veriable so you need to add jailed[playerid] and in sendclientmessage why did you puted jailedid ? as you already defined playerid which is jailedid so no need to add jaileddid and last thing you didnt forwarded this public

there you go
pawn Код:
forward Unjailtime(playerid);
public Unjailtime(playerid)
{
  Jailed[playerid] = false;
  SendClientMessage(playerid, COLOR_GREEN, "You're free!");
  SetPlayerPos(playerid, 1676.9254, 1448.6653, 10.7831);
  return 1;
}
Reply
#3

Your code is all wrong.
I fixed it:
PHP код:
dcmd_jail(playeridparams[]) 

  new 
jailedidtimestring[128]; 
  if(
sscanf(params"ud"jailedidtime)) return SendClientMessage(playerid, -1"/jail <id> <minutes>"); 
  if(
jailedid == INVALID_PLAYER_ID) return SendClientMessage(playeridCOLOR_RED"ERROR: Player is not online."); 
  if(
Jailed[jailedid] == true) return SendClientMessage(playeridCOLOR_RED"ERROR: Player already jailed."); 
  
Jailed[playerid]=true;
  
SetTimerEx("Unjailtime"60000 timefalse"d"jailedid); 
  
format(stringsizeof(string), "%d is jailed"jailedid); 
  
SendClientMessage(playeridCOLOR_REDstring); 
  
SendClientMessage(jailedidCOLOR_RED"You have been jailed!");
  return 
1
}
forward Unjailtime(playerid);
public 
Unjailtime(playerid

  
Jailed[playerid] = false
  
SendClientMessage(playeridCOLOR_GREEN"You're free!"); 
  
SetPlayerPos(playerid1676.92541448.665310.7831); 
  return 
1

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)