[DUDA/AYUDA]Como es el codigo que detecta que un jugador esta en AFK ?
#1

Buenas Buenas, loque necesito, es si me hacen el faor y me dicen/pasan el codigo pawno que detecta a un jugador cuando entra en AFK....
Cree un sistema de Modo Combate, pero quiero agregarle que si pausa en combate, lo jailea, pero nose como el el codigo que detecta que entro en AFK/pause/minimiso... Porfavor, AYUDA Es URGENTE
Reply
#2

Proba con esto:

pawn Код:
forward ChequearAFK();
public ChequearAFK()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;// Sacas las coords del player
GetPlayerPos(i, PosX, PosY, PosZ );
playertextid = CreatePlayer3DTextLabel(i,"AFK",0xE60000FF,PosX,PosY, PosZ,999);// Creas el label para saber que esta afk
//Aca podes castigarlo si queres por afk
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, playertextid); // Cuando vuelve borras el label
}
}
return 1;
}
Reply
#3

Aki te dejo esto:
pawn Код:
forward Pausa();
public Pausa()
{
new PlayerText3D:pausa;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;
GetPlayerPos(i, PosX, PosY, PosZ );
pausa = CreatePlayer3DTextLabel(i,"[EN PAUSA] Cambia si quieres",0xFFFF00FF,PosX,PosY, PosZ,999);
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, pausa);
}
}
return 1;
}
Reply
#4

Galileo:
D:\Server\gamemodes\DE.pwn(21247) : error 017: undefined symbol "playertextid"
D:\Server\gamemodes\DE.pwn(2124 : error 017: undefined symbol "playerid"
D:\Server\gamemodes\DE.pwn(2124 : error 017: undefined symbol "playerid"
D:\Server\gamemodes\DE.pwn(21252) : error 017: undefined symbol "playertextid"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.

AYUDA Please !
Reply
#5

Quote:
Originally Posted by yesid001
Посмотреть сообщение
Galileo:
D:\Server\gamemodes\DE.pwn(21247) : error 017: undefined symbol "playertextid"
D:\Server\gamemodes\DE.pwn(2124 : error 017: undefined symbol "playerid"
D:\Server\gamemodes\DE.pwn(2124 : error 017: undefined symbol "playerid"
D:\Server\gamemodes\DE.pwn(21252) : error 017: undefined symbol "playertextid"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.

AYUDA Please !
Probaste el que te deje yo?
Reply
#6

Mira Mi Codio, Con Elde El man, Asme El Favor Y Melo Pones Al Tuyo:
Код HTML:
forward ChequearAFK();
public ChequearAFK()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;// Sacas las coords del player
GetPlayerPos(i, PosX, PosY, PosZ );
playertextid = CreatePlayer3DTextLabel(i,"AFK",0xE60000FF,PosX,PosY, PosZ,999);// Creas el label para saber que esta afk
if(CombateON[playerid] == true) return SendClientMessage(playerid, -1,"Te has Auto Suicidado. {FF0000}(Razon: Pausar En Combate)"),SetPlayerHealth(playerid, 0.0),DeletePlayer3DTextLabel(i, playertextid);
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, playertextid); // Cuando vuelve borras el label
}
}
Reply
#7

Loque quiero esque al detectar que esta en pause, me active esta linea:
if(CombateON[playerid] == true) return SendClientMessage(playerid, -1,"Te has Auto Suicidado. {FF0000}(Razon: Pausar En Combate)"),SetPlayerHealth(playerid, 0.0);
que detecta, si esta en pause y esta en modo combate, pff lo mate...
eso esacatamente es loque quiero...
Reply
#8

Este si esta bien:

pone "new playertextid;" arriba del GM.

y despues:

pawn Код:
forward ChequearAFK();
public ChequearAFK()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;// Sacas las coords del player
GetPlayerPos(i, PosX, PosY, PosZ );
playertextid = CreatePlayer3DTextLabel(i,"AFK",0xE60000FF,PosX,PosY, PosZ,999);// Creas el label para saber que esta afk
//Aca podes castigarlo si queres por afk
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, playertextid); // Cuando vuelve borras el label
}
}
return 1;
}
EDIT: En el code no hay ningun 'playerid', dejalo en 'i'.
Reply
#9

Quote:
Originally Posted by yesid001
Посмотреть сообщение
Mira Mi Codio, Con Elde El man, Asme El Favor Y Melo Pones Al Tuyo:
Код HTML:
forward ChequearAFK();
public ChequearAFK()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;// Sacas las coords del player
GetPlayerPos(i, PosX, PosY, PosZ );
playertextid = CreatePlayer3DTextLabel(i,"AFK",0xE60000FF,PosX,PosY, PosZ,999);// Creas el label para saber que esta afk
if(CombateON[playerid] == true) return SendClientMessage(playerid, -1,"Te has Auto Suicidado. {FF0000}(Razon: Pausar En Combate)"),SetPlayerHealth(playerid, 0.0),DeletePlayer3DTextLabel(i, playertextid);
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, playertextid); // Cuando vuelve borras el label
}
}
ve asi?
pawn Код:
forward ChequearAFK();
public ChequearAFK()
{
for(new i = 0; i < MAX_PLAYERS; i++)
new PlayerText3D:playertextid;//tenias que crear el new
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;// Sacas las coords del player
GetPlayerPos(i, PosX, PosY, PosZ );
playertextid = CreatePlayer3DTextLabel(i,"AFK",0xE60000FF,PosX,PosY, PosZ,999);// Creas el label para saber que esta afk
if(CombateON[playerid] == true) return SendClientMessage(playerid, -1,"Te has Auto Suicidado. {FF0000}(Razon: Pausar En Combate)"),SetPlayerHealth(playerid, 0.0),DeletePlayer3DTextLabel(i, playertextid);
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, playertextid); // Cuando vuelve borras el label
}
}
Reply
#10

Quote:
Originally Posted by AntonyFC
Посмотреть сообщение
ve asi?
pawn Код:
forward ChequearAFK();
public ChequearAFK()
{
for(new i = 0; i < MAX_PLAYERS; i++)
new PlayerText3D:playertextid;//tenias que crear el new
{
if(OnPlayerUpdate(i) == 0)
{
new Float:PosX, Float:PosY, Float:PosZ;// Sacas las coords del player
GetPlayerPos(i, PosX, PosY, PosZ );
playertextid = CreatePlayer3DTextLabel(i,"AFK",0xE60000FF,PosX,PosY, PosZ,999);// Creas el label para saber que esta afk
if(CombateON[playerid] == true) return SendClientMessage(playerid, -1,"Te has Auto Suicidado. {FF0000}(Razon: Pausar En Combate)"),SetPlayerHealth(playerid, 0.0),DeletePlayer3DTextLabel(i, playertextid);
}
if(OnPlayerUpdate(i) == 1)
{
DeletePlayer3DTextLabel(i, playertextid); // Cuando vuelve borras el label
}
}
Gracias por decir por 2da vez consecutiva lo que le dije yo, por favor no hagas farming de mensajes
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)