Jump to content

návod Ako urobiť AFK Systém ?


Fr0st

Recommended Posts

Dobrý deň prinášam sem tento tutoriál pretože veľa začiatočníkov nevie ako sa ten AFK Systém robí takže používame hlavne TogglePlayerControlable :) Ideme na to :

//definicia DCMD


new AFK[MAX_PLAYERS];


OnPlayerConnect :

AFK[playerid] = 0;


OnPlayerCommandText :

dcmd(afk,3,cmdtext);


Niekde do módu :

dcmd_afk(playerid,params[])
{
#pragma unused params
if(AFK[playerid] == 0)
{
new string[128];//....
new name[MAX_PLAYER_NAME];// new pre meno
GetPlayerName(playerid, name, sizeof(name));//Funkcia ktorá zistí hráčove meno
format(string,128,"Hráč %s je odteraz AFK !",name);//Naformatujeme meno hráča
SendClientMessageToAll(0x0000,string);//Odošleme spravu
TogglePlayerControllable(playerid,0);//Zmrazíme
AFK[playerid] = 1;// D8me že je AFK
}
else if(AFK[playerid] == 1)
{
new string[128];//....
new name[MAX_PLAYER_NAME];// new pre meno
GetPlayerName(playerid, name, sizeof(name));//Funkcia ktorá zistí hráčove meno
format(string,128,"Hráč %s už nieje AFK !",name);//Naformatujeme meno hráča
SendClientMessageToAll(0x0000,string);//Odošleme spravu
TogglePlayerControllable(playerid,1);//Odmrazíme
AFK[playerid] = 0;// Dáme že není AFK
}
return 1;
}

 

Nieje to nič moc ale dúfam že si to aspoň niekto pozrie a ocení to :) Díky.

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Hadze errory:

 

C:\Documents and Settings\kosar\Desktop\Marián\SERVER 0.3x\gamemodes\modik.pwn(634) : error 017: undefined symbol "TogglePlayerControlable"
C:\Documents and Settings\kosar\Desktop\Marián\SERVER 0.3x\gamemodes\modik.pwn(644) : error 017: undefined symbol "TogglePlayerControlable"
Pawn compiler 3.2.3664	 Copyright (c) 1997-2006, ITB CompuPhase

2 Errors.

 

Riadky:

TogglePlayerControlable(playerid,0);//Zmrazíme
TogglePlayerControlable(playerid,1);//Odmrazíme

Link to comment
Share on other sites

dcmd_afk(playerid,params[])
{
#pragma unused params
if(AFK[playerid] == 0)
{
new string[128];//....
new name[MAX_PLAYER_NAME];// new pre meno
GetPlayerName(playerid, name, sizeof(name));//Funkcia ktorá zistí hráčove meno
format(string,128,"Hráč %s je odteraz AFK !",name);//Naformatujeme meno hráča
SendClientMessage(playerid,0x0000,string);//Odošleme spravu
TogglePlayerControllable(playerid,0);//Zmrazíme
AFK[playerid] = 1;// D8me že je AFK
}
else if(AFK[playerid] == 1)
{
new string[128];//....
new name[MAX_PLAYER_NAME];// new pre meno
GetPlayerName(playerid, name, sizeof(name));//Funkcia ktorá zistí hráčove meno
format(string,128,"Hráč %s už nieje AFK !",name);//Naformatujeme meno hráča
SendClientMessage(playerid,0x0000,string);//Odošleme spravu
TogglePlayerControllable(playerid,1);//Odmrazíme
AFK[playerid] = 0;// Dáme že není AFK
}
return 1;
}

 

To je spravne :)

 

namiesto TogglePlayerControllable tam mal TogglePlayerControlable

  • Líbí se mi to! (+1) 2
Link to comment
Share on other sites

Mohol si to spravit cez bool

 

format(string,128,"Hráč %s už nieje AFK !",name);//Naformatujeme meno hráča
SendClientMessage(playerid,0x0000,string);//Odošleme spravu

 

Nechcel si tam nahodou dat SendClientMesageToAll ?

Link to comment
Share on other sites

dcmd_afk(playerid,params[])
{
#pragma unused params
if(AFK[playerid] == 0)
{
new string[128];//....
new name[MAX_PLAYER_NAME];// new pre meno
GetPlayerName(playerid, name, sizeof(name));//Funkcia ktorá zistí hráčove meno
format(string,128,"Hráč %s je odteraz AFK !",name);//Naformatujeme meno hráča
SendClientMessage(playerid,0x0000,string);//Odošleme spravu
TogglePlayerControllable(playerid,0);//Zmrazíme
AFK[playerid] = 1;// D8me že je AFK
}
else if(AFK[playerid] == 1)
{
new string[128];//....
new name[MAX_PLAYER_NAME];// new pre meno
GetPlayerName(playerid, name, sizeof(name));//Funkcia ktorá zistí hráčove meno
format(string,128,"Hráč %s už nieje AFK !",name);//Naformatujeme meno hráča
SendClientMessage(playerid,0x0000,string);//Odošleme spravu
TogglePlayerControllable(playerid,1);//Odmrazíme
AFK[playerid] = 0;// Dáme že není AFK
}
return 1;
}

 

To je spravne :)

 

namiesto TogglePlayerControllable tam mal TogglePlayerControlable

 

Pardon :S som sa sekol :)

Mohol si to spravit cez bool

 

format(string,128,"Hráč %s už nieje AFK !",name);//Naformatujeme meno hráča
SendClientMessage(playerid,0x0000,string);//Odošleme spravu

 

Nechcel si tam nahodou dat SendClientMesageToAll ?

 

 

Pardon :S aj v tomto som sa sekol :)

Není to nic špatného odemně máš REP + ale šlo by to udělat lépe :)

 

 

Díky :)

 

//EDIT: Chyby poopravované :)

Link to comment
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
×
×
  • Create New...