help plz with afk system
#1

PHP код:
#include <a_samp>
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_YELLOW 0xFFFF00AA
#define c_r 0xAA3333AA
new Float:lol[3];
new 
Float:vlol[3];
enum pooInfo
{
   
pAfk,
};
new 
ShitInfo[MAX_PLAYERS][pooInfo];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
    print(
"---------------------------------------");
    print(
"---------AFK System by Dorin---------");
    print(
"---------------------------------------");
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
#else
main()
{
}
#endif
public OnPlayerCommandText(playeridcmdtext[])
{
 if(!
strcmp(cmdtext"/goafk"true))
 {
    if(
ShitInfo[playerid][pAfk] == 0)
    {
    new 
a[1];
    
a[0] = playerid;
    
GetPlayerPos(playerid,Float:lol[0],Float:lol[1],Float:lol[2]);
    
SetTimerEx("AFK",5000,0,a[0]);
    
SendClientMessage(playerid,COLOR_YELLOW,"( ! ) Don't move ! Please wait 5 seconds...");
    }
    else
    {
    
SendClientMessage(playerid,c_r,"( ! ) You already going in afk mode !");
    }
    return 
1;
 }
 if(!
strcmp(cmdtext"/back"true))
 {
    new 
pName[MAX_PLAYER_NAME];
    new 
string[48];
    
GetPlayerName(playeridpNamesizeof(pName));
    
format(stringsizeof(string), "( ! ) You are back from AFK mode");
    
SetPlayerVirtualWorld(playerid,0);
    
SendClientMessage(playeridCOLOR_GREYstring);
    
GameTextForPlayer(playerid,"~w~Welcome back",2000,3);
    
format(stringsizeof(string), "( ! ) %s is back from AFK mode"pName);
    
SendPlayerMessageToAll(COLOR_GREYstring);
    
TogglePlayerControllable(playerid,1);
    
ShitInfo[playerid][pAfk]=0;
    return 
1;
 }
 return 
0;
}
forward AFK(playerid);
public 
AFK(playerid)
{   
    
GetPlayerPos(playerid,Float:vlol[0],Float:vlol[1],Float:vlol[2]);
    if(
Float:lol[0] == Float:vlol[0])
    {
    
ShitInfo[playerid][pAfk]=1;
    new 
pName[MAX_PLAYER_NAME];
    new 
string[48];
    
GetPlayerName(playeridpNamesizeof(pName));
    
format(stringsizeof(string), "( ! ) You are now in AFK mode");
    
SetPlayerVirtualWorld(playerid,1);
    
SendClientMessage(playeridCOLOR_GREYstring);
    
GameTextForPlayer(playerid,"~w~AFK Mode",2000,3);
    
format(stringsizeof(string), "( ! ) %s is now in AFK mode"pName);
    
SendPlayerMessageToAll(COLOR_GREYstring);
    
TogglePlayerControllable(playerid,0);
    
SendClientMessage(playeridCOLOR_WHITE,"( ! ) Type /back to go into game");
    return 
1;
    }
    else
    {
    
SendClientMessage(playerid,c_r,"( ! ) Going in afk mode was cancel reason: You moved !");
    }
    return 
0;

I made afk system, if you want go in afk mode you have to wait 5sec and then you will go into but it's don't work, help PLEASE !!
Reply
#2

pawn Код:
SetTimerEx("AFK",5000,0,a[0]);
I don't see any format[] on this line.
Reply
#3

As Kostas' said you didn't enlist any specifier, what you can do is store the playerid in the timer but also the player position:

pawn Код:
SetTimerEx( #AFK, 5000, 0, #ifff, a[ 0 ], lol[ 0 ], lol[ 1 ], lol[ 2 ] );
So you're AFK function would become for example:

pawn Код:
forward AFK( playerid, &Float:X, &Float:Y, &Float:Z );
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)