Afk, brb, back
#1

I have these codes
pawn Код:
if(strcmp("/afk", cmdtext, true) == 0)
  {
  IsBack[playerid] = 0;
  if(IsAfkBrb[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "[WARNING] You are already AFK/BRB");
  IsAfkBrb[playerid] = 1;
  if(WarZone[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "ERROR: You can't use this command in DM Zone");
  TogglePlayerControllable(playerid,0);
  new string[64], pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  format(string,sizeof string,"[STATUS] %s is now AFK (Away from keyboard) ",pName);
  SendClientMessageToAll(COLOR_YELLOW,string);
  return 1;
  }
pawn Код:
if(strcmp("/brb", cmdtext, true) == 0)
  {
  IsBack[playerid] = 0;
  if(IsAfkBrb[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "[WARNING] You are already AFK/BRB");
  IsAfkBrb[playerid] = 1;
  if(WarZone[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "ERROR: You can't use this command in DM Zone");
  TogglePlayerControllable(playerid,0);
  new string[64], pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  format(string,sizeof string,"[STATUS] %s is now BRB (Be right back) ",pName);
  SendClientMessageToAll(COLOR_YELLOW,string);
  return 1;
  }
pawn Код:
if(strcmp("/back", cmdtext, true) == 0)
  {
  IsAfkBrb[playerid] = 0;
  IsBack[playerid] = 1;
  if(IsBack[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "[WARNING] You are already back");
  if(WarZone[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "ERROR: You can't use this command in DM Zone");
  TogglePlayerControllable(playerid,1);
  new string[64], pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  format(string,sizeof string,"[STATUS] %s is now back ",pName);
  SendClientMessageToAll(COLOR_LIGHTYELLOW,string);
  TogglePlayerControllable(playerid,1);
  return 1;
  }
Everything works exept that if I use /afk and then /back it says ur already back..

So whats wrong !?!
Reply
#2

-- oops --
Reply
#3

Check this out:
pawn Код:
if(strcmp("/back", cmdtext, true) == 0)
  {
  //2 lines moved from here
  if(IsBack[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "[WARNING] You are already back");
  if(WarZone[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "ERROR: You can't use this command in DM Zone");
  IsAfkBrb[playerid] = 0;//To here
  IsBack[playerid] = 1;//And here
  TogglePlayerControllable(playerid,1);
  new string[64], pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
  format(string,sizeof string,"[STATUS] %s is now back ",pName);
  SendClientMessageToAll(COLOR_LIGHTYELLOW,string);
  TogglePlayerControllable(playerid,1);
  return 1;
  }
Reply
#4

problem is that in /back command u tell pawno to set u as back before checking if u r back

Код:
 IsAfkBrb[playerid] = 0;
  IsBack[playerid] = 1; // this should be after the checking 
  if(IsBack[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "[WARNING] You are already back");
so it should be :

Код:
if(IsBack[playerid] == 1) return SendClientMessage(playerid,TELEWARN, "[WARNING] You are already back");
IsAfkBrb[playerid] = 0;
IsBack[playerid] = 1;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)