new isafk[MAX_PLAYERS];
new afktag[MAX_PLAYERS];
if (strcmp("/afk", cmdtext, true) == 0)
{
if(isafk[playerid]==1) return SendClientMessage(playerid, COLOR_BRIGHTRED,"You are already AFK!");
isafk[playerid] = 1;
TogglePlayerControllable(playerid,false);
SetCameraBehindPlayer(playerid);
new string[256];
new name[128];
GetPlayerName(playerid,name,128);
format(string, sizeof(string), "%s is now AFK",name);
new setname[16];
format(setname, sizeof(setname), "%s[AFK]",name);
if(!strlen(name[11]))
{
afktag[playerid] = 1;
SetPlayerName(playerid,setname);
}
SendClientMessageToAll(COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "Type /BACK when you are back!");
return 1; //return value
}
if (strcmp("/back", cmdtext, true) == 0)
{
if(isafk[playerid]==0) return SendClientMessage(playerid, COLOR_BRIGHTRED,"You are not AFK!");
isafk[playerid] = 0;
TogglePlayerControllable(playerid,true);
SetCameraBehindPlayer(playerid);
new string[128];
new pname[32];
GetPlayerName(playerid,pname,32);
strdel(pname, strlen(pname)-5, strlen(pname));
if(afktag[playerid] == 1)
{
afktag[playerid] = 0;
SetPlayerName(playerid,pname);
}
new name2[16];
GetPlayerName(playerid,name2,16);
format(string, sizeof(string), "%s is now BACK",name2);
SendClientMessageToAll(COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "Type /AFK to go AFK again!");
return 1; //return value
}

Same bugs some problems like the beginning. The problem is that when I type in /afk it didnґt save it as afk. I type again /afk and it gets again in de Afk position. (I get frozen).
new isafk[MAX_PLAYERS];
new afktag[MAX_PLAYERS];
if (strcmp("/afk", cmdtext, true) == 0)
{
if(isafk[playerid]==1) return SendClientMessage(playerid, COLOR_BRIGHTRED,"You are already AFK!");
else
{
isafk[playerid] = 1;
TogglePlayerControllable(playerid,false);
SetCameraBehindPlayer(playerid);
new string[256];
new name[128];
GetPlayerName(playerid,name,128);
format(string, sizeof(string), "%s is now AFK",name);
new setname[16];
format(setname, sizeof(setname), "%s[AFK]",name);
if(!strlen(name[11]))
{
afktag[playerid] = 1;
SetPlayerName(playerid,setname);
}
SendClientMessageToAll(COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "Type /BACK when you are back!");
}
return 1; //return value
}
if (strcmp("/back", cmdtext, true) == 0)
{
if(isafk[playerid]==0) return SendClientMessage(playerid, COLOR_BRIGHTRED,"You are not AFK!");
else
{
isafk[playerid] = 0;
TogglePlayerControllable(playerid,true);
SetCameraBehindPlayer(playerid);
new string[128];
new pname[32];
GetPlayerName(playerid,pname,32);
strdel(pname, strlen(pname)-5, strlen(pname));
if(afktag[playerid] == 1)
{
afktag[playerid] = 0;
SetPlayerName(playerid,pname);
}
new name2[16];
GetPlayerName(playerid,name2,16);
format(string, sizeof(string), "%s is now BACK",name2);
SendClientMessageToAll(COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "Type /AFK to go AFK again!");
}
return 1; //return value
}
new isafk[MAX_PLAYERS];
if(!strcmp("/afk", cmdtext, true, 4))
{
if(!isafk[playerid]) // if the array called "isafk" is 0 for the player, then
{
isafk[playerid] = 1;
TogglePlayerControllable(playerid,false);
SetCameraBehindPlayer(playerid);
new string[36],name[24],len;
GetPlayerName(playerid,name,24);
len=strlen(name);
format(string, sizeof(string), "%s is now AFK",name);
SendClientMessageToAll(COLOR_YELLOW, string);
strins(name,"[AFK]",len);
SetPlayerName(playerid,name);
SendClientMessage(playerid, COLOR_YELLOW, "Type /BACK when you are back!");
}else SendClientMessage(playerid, COLOR_BRIGHTRED,"You are already AFK!");
return 1; //return value
}
if(!strcmp("/back", cmdtext, true, 5))
{
if(isafk[playerid] == 1) // if the array called "isafk" is 1 for the player, then
{
isafk[playerid] = 0;
TogglePlayerControllable(playerid,true);
SetCameraBehindPlayer(playerid);
new string[37],name[24],len;
GetPlayerName(playerid,name,24);
len=strlen(name);
strdel(name, len-5, len);
SetPlayerName(playerid,name);
format(string, sizeof(string), "%s is now BACK",name);
SendClientMessageToAll(COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "Type /AFK to go AFK again!");
}else SendClientMessage(playerid, COLOR_BRIGHTRED,"You are not AFK!");
return 1; //return value
}
return 0;
}
|
Originally Posted by Flashy
WTF? Why it wonґt work? 3 sugestions and noone is right?
|
#include <a_samp>
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_BRIGHTRED 0xFF99AADD
new isafk[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
isafk[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
if(isafk[playerid] == 1) // if the array called "isafk" is 1 for the player, then
{
new name[24],len;
GetPlayerName(playerid,name,24);
len=strlen(name);
strdel(name, len-5, len);
SetPlayerName(playerid,name);
}
isafk[playerid] = 0;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/afk", cmdtext, true, 4))
{
if(!isafk[playerid]) // if the array called "isafk" is 0 for the player, then
{
isafk[playerid] = 1;
TogglePlayerControllable(playerid,false);
SetCameraBehindPlayer(playerid);
new string[36],name[24],len;
GetPlayerName(playerid,name,24);
len=strlen(name);
format(string, sizeof(string), "%s is now AFK",name);
SendClientMessageToAll(COLOR_YELLOW, string);
strins(name,"[AFK]",len);
SetPlayerName(playerid,name);
SendClientMessage(playerid, COLOR_YELLOW, "Type /BACK when you are back!");
}else SendClientMessage(playerid, COLOR_BRIGHTRED,"You are already AFK!");
return 1; //return value
}
if(!strcmp("/back", cmdtext, true, 5))
{
if(isafk[playerid] == 1) // if the array called "isafk" is 1 for the player, then
{
isafk[playerid] = 0;
TogglePlayerControllable(playerid,true);
SetCameraBehindPlayer(playerid);
new string[37],name[24],len;
GetPlayerName(playerid,name,24);
len=strlen(name);
strdel(name, len-5, len);
SetPlayerName(playerid,name);
format(string, sizeof(string), "%s is now BACK",name);
SendClientMessageToAll(COLOR_YELLOW, string);
SendClientMessage(playerid, COLOR_YELLOW, "Type /AFK to go AFK again!");
}else SendClientMessage(playerid, COLOR_BRIGHTRED,"You are not AFK!");
return 1; //return value
}
return 0;
}