Skripta koju koristim: Moja
Detaljan opis problema: Stavicu dole koji sam INC uzeo i sve kako je trebalo dodao sam u svoj GM. Kako sad da napravim da pise iznad igraca koliko vremena je afk i kako da napravim da kicka igraca kad afka pola sata? Hvala unapred
Dio skripte: #include <a_samp>
#define MAX_AFK_TIME 60000
enum e_STATE
{
e_STATE_UPDATING,
e_STATE_NONE,
e_STATE_CONNECTED
};
new gLastUpdate[MAX_PLAYERS], e_STATE:gState[MAX_PLAYERS] = {e_STATE_NONE, ...};
forward PAUSE_CheckPlayers();
forward OnPlayerPause(playerid);
forward PAUSE_OnGameModeInit();
forward PAUSE_OnPlayerConnect(playerid);
forward PAUSE_OnPlayerDisconnect(playerid, reason);
forward PAUSE_OnPlayerUpdate(playerid);
public PAUSE_OnGameModeInit()
{
SetTimer("CheckPlayers", 1000, 1);
return 1;
}
public PAUSE_OnPlayerConnect(playerid)
{
gState[playerid] = e_STATE_CONNECTED;
return 1;
}
public PAUSE_OnPlayerDisconnect(playerid, reason)
{
gState[playerid] = e_STATE_NONE;
return 1;
}
public PAUSE_OnPlayerUpdate(playerid)
{
gLastUpdate[playerid] = GetTickCount();
gState[playerid] = e_STATE_UPDATING;
return 1;
}
public PAUSE_CheckPlayers()
{
for(new i; i < MAX_PLAYERS; ++i)
{
if((gState[i] == e_STATE_UPDATING) && (GetTickCount() - MAX_AFK_TIME >= gLastUpdate[i]))
{
CallLocalFunction("OnPlayerPause", "d", i);
}
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Evo ti ovako..
Nabrzaka sam otkuco,ako bude kakva greskica i eror postavi ispod
#undef MAX_PLAYERS
#define MAX_PLAYERS 200 //K
#define COLOR_GREEN 0x33AA33AA
new afkTime[MAX_PLAYERS];
forward oneSecond();
public oneSecond()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
//Label pocinje pokazivati kada igrac nije u igrici 30 sekundi
if(afkTime[i] >= 30)
{
new caption[32];
format(caption, sizeof(caption), "AFK - %s seconds.", afkTime[i]);
SetPlayerChatBubble(i, caption, COLOR_GREEN, 20.0, 1500);
}
afkTime[i]++;
}
}
return 1;
}
public OnGameModeInit()
{
SetTimer("oneSecond", 1000, true);
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
afkTime[playerid] = 0;
return 1;
}
public OnPlayerConnect(playerid)
{
afkTime[playerid] = 0;
return 1;
}
Jel sad kad stavim taj kod što si napiso jel mi treba onaj include što sam gore naveo jel ga mogu ukloniti?
Ne treba ti Include,ovo sam ti otkucao i to ubaci u svoj gamemod.
Hvala, možete lock.