Jump to content
Prosíme všetkých užívateľov, ktorý sa chcú opätovne pripojiť na discord aby znovu spárovali svoje účty kliknutím na "Discord" v navigácií a pripojili sa na server Read more... ×
  • 0
neznamyFour

pomoc afk

Dotaz

Ahojte,

potrebujem nějak poradiť s tým ako urobit keď je hráč v afk aby so mu nepřipociataval nahraný čas. Viem že tam bude isto niejaky timer nebo podmienka ale s tým si nejsom moc radný, presneji som v tom analfabet a potreboval by som vašu pomoc.

Sice to bude k smiechu akože používam zastaraný systém len se mi s tým pracuje dobre a som na nej zvyknutý. 

Mohol by mi niekto upraviť moj kod? Používam to ako filterscript ciže to nemám priamo v mode.

 

A i by som nějako potreboval urobiť /afklist do dialogu len že keď to urobím i podla návodu tak sa mi akorát vytvori tabulka ale ten text tam vyzera rovnako ako v chatu len je to v tabulke.

 

Vopred ďakujem za pomoc :)

 

//======================================
//AFK AFKLIST
new AFK[MAX_PLAYERS];
new sendername[MAX_PLAYER_NAME];
new string[256];
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
//======================================

public OnPlayerConnect(playerid)
{
	AFK[playerid] = 0;
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
//-------------------------[Afklist]---------------------------------------------
if(strcmp(cmdtext, "/afklist", true) == 0)
{
SendClientMessage(playerid,COLOR_WHITE,"AFK hráči:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(AFK[i] == 1)
{
GetPlayerName(i,sendername,sizeof(sendername));
format(string,256,"Meno: %s || ID: %i",sendername,i);
SendClientMessage(playerid,COLOR_WHITE,string);
}
}
}
return 1;
}

//------------------------[Back]--------------------------------------------------
if(strcmp(cmdtext, "/back", true) == 0)
	{
	    if(AFK[playerid] == 1)
	    {
	        new str[256];
			GetPlayerName(playerid, sendername, sizeof(sendername));
	        format(str, sizeof(str), "[ ! ] Hráč %s je zpět", sendername);
			SendClientMessageToAll(COLOR_GREEN, str);
			GameTextForPlayer(playerid, "~g~BACK",2000,3);
			SetPlayerVirtualWorld(playerid, 0);
			TogglePlayerControllable(playerid, 1);
			AFK[playerid] = 0;
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_WHITE, "[ ! ] Jsi späť");
			return 1;
		}
	}
//------------------------[AFK]--------------------------------------------------
if(strcmp(cmdtext, "/afk", true) == 0)
	{
	    if(AFK[playerid] == 0)
	    {
	        new str[256];
			GetPlayerName(playerid, sendername, sizeof(sendername));
	        format(str, sizeof(str), "[ ! ] %s je AFK (/afklist)", sendername);
	        GameTextForPlayer(playerid, "~r~AFK",2000,3);
			SendClientMessageToAll(COLOR_BRIGHTRED, str);
			SendClientMessage(playerid, COLOR_WHITE, "[ ! ] Pro navratenie -> /back");
			SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) + 123);
			TogglePlayerControllable(playerid, 0);
			AFK[playerid] = 1;
			return 1;
		}
	}
return 0;
}

 

Sdílet tento příspěvek


Link to post
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0
#define DIALOG_AFK  123

new StravenoAfk[MAX_PLAYERS];
new Nahrano[MAX_PLAYERS];

OnGameModeInit()
{
    SetTimer("Timer", 1000, true);
    return true;
}

forward Timer();
public Timer()
{
    ForMaxPlayer(i)
    {
		if(AFK[i] == 1)
		{
		    StravenoAfk[playerid] ++;
		}
		else
		{
		    Nahrano[playerid] ++
		}
	}
	return true;
}

CMD:afklist(playerid)
{
	new string[250];
	
    format(string,sizeof(string),"");
    //-----
    ForMaxPlayer(i)
	{
	    if(AFK[i] == 1)
	    {
	        format(string,sizeof(string),"%s\n%s (%d) {FF9900}AFK", string, GetName(i), i);
	    }
	}
	//------
	ShowPlayerDialog(playerid,DIALOG_SFK,DIALOG_STYLE_MSGBOX,"AFK hráči", MAX_STR,"Zavřít","");
	return 1;
}


GetName(playerid)
{
    new name[24];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}
    

Do toho svého kodu jsi to nakopíruj sám. 
Jinak ten timer je nastavený na 1 sekundu, takže jsi to pojmenuj a uprav podle svého.

Edited by Zexy

Sdílet tento příspěvek


Link to post
Share on other sites
  • 0

Hadže mi to samé errory i napriek tomu že to dávám kam mám, nepomohol by si mi s tým kodom ako celek? já už si naviem rady a drepim u toho 2 hodiny a uz ma to nebavi :(

vyzera to naozaj dobre len bud som deb_l lebo nevime prečo mi to nejde. :(

 

#include <a_samp>

// This is a little AFK system made by pujan
// Features:
//------------------------------------------------------------------------------
//-List of AFK players
//-No command spam
//-Set players in afk mode to different virtual world until they are /back
//------------------------------------------------------------------------------

#define FILTERSCRIPT
#if defined FILTERSCRIPT


public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" AFK system ");
	print("--------------------------------------\n");
	return 1;
}

#endif

//======================================
//AFK AFKLIST
new AFK[MAX_PLAYERS];
new sendername[MAX_PLAYER_NAME];
new string[256];
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
//======================================

public OnPlayerConnect(playerid)
{
	AFK[playerid] = 0;
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
//-------------------------[Afklist]---------------------------------------------
if(strcmp(cmdtext, "/afklist", true) == 0)
{
SendClientMessage(playerid,COLOR_WHITE,"AFK hráči:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(AFK[i] == 1)
{
GetPlayerName(i,sendername,sizeof(sendername));
format(string,256,"Meno: %s || ID: %i",sendername,i);
SendClientMessage(playerid,COLOR_WHITE,string);
}
}
}
return 1;
}

//------------------------[Back]--------------------------------------------------
if(strcmp(cmdtext, "/back", true) == 0)
	{
	    if(AFK[playerid] == 1)
	    {
	        new str[256];
			GetPlayerName(playerid, sendername, sizeof(sendername));
	        format(str, sizeof(str), "[ ! ] Hráč %s je speť", sendername);
			SendClientMessageToAll(COLOR_GREEN, str);
			GameTextForPlayer(playerid, "~g~SPET",2000,3);
			SetPlayerVirtualWorld(playerid, 0);
			TogglePlayerControllable(playerid, 1);
			AFK[playerid] = 0;
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_WHITE, "[ ! ] Jsi späť");
			return 1;
		}
	}
//------------------------[AFK]--------------------------------------------------
if(strcmp(cmdtext, "/afk", true) == 0)
	{
	    if(AFK[playerid] == 0)
	    {
	        new str[256];
			GetPlayerName(playerid, sendername, sizeof(sendername));
	        format(str, sizeof(str), "[ ! ] %s je AFK (/afklist)", sendername);
	        GameTextForPlayer(playerid, "~r~AFK",2000,3);
			SendClientMessageToAll(COLOR_BRIGHTRED, str);
			SendClientMessage(playerid, COLOR_WHITE, "[ ! ] Pro navratenie -> /back");
			SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) + 123);
			TogglePlayerControllable(playerid, 0);
			AFK[playerid] = 1;
			return 1;
		}
	}
return 0;
}

 

Sdílet tento příspěvek


Link to post
Share on other sites
  • 0
On 10. 12. 2018 at 1:51, Zexy said:

napiš mi na skype pawntomas99.. něco s tím vymyslíme

 

před 12 hodinami, _niCo_ said:

Furt chceš s tím afk systemem pomoci ? rád pomohu. :)

když mu chcete pomoct tak mu tady rovnou pomožte a nebo mu napište do pm, pak se furt to téma dostává do prvních pěti a nikoho jiného než jeho samotného to asi nezajímá

Sdílet tento příspěvek


Link to post
Share on other sites
  • 0

Prepačte že meškám. Ospravedlňujem sa len som nebol pár dnov u PC.

 

Skype bohužial nemam, lebo mam len som sa na nej dlho nepripajal tak neviem heslo. :( 

Už som zase naspeť u PC tak by som rád vašu pomoc ak stále máte záujem mi pomoc budem rád :)  S kódom som odvtedy nijak nehýbal mám ho presne ako som ho sem postnul.

Edited by neznamyFour

Sdílet tento příspěvek


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×