[Guia] Como detectar un usuario AFK

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
Avatar de Usuario
gloweryt
Junior
Junior
Mensajes: 195
Registrado: 16 May 2017 11:42
Ubicación: Colombia
Reputación: 11

20 Jun 2018 19:52

Cómo detectar un usuario AFK

Es un aporte sencillísimo y pues tengo entendido que de una sencilla forma podemos detectar si un jugador en nuestro servidor esta AFK de la siguiente forma:


Se que no es la única forma de hacerlo pero es la mas sencilla espero les sirva -dance4
No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo

-Ley Mosher de Ingeniería de Software


MaisterFG
Baneado
Baneado
Mensajes: 291
Registrado: 08 Abr 2018 20:23
Reputación: 5

21 Jun 2018 10:57

Es mejor "OnPlayerPause"
▆ █🔰║ ⭐FreeZone Roleplay S1⭐ ║🔰█ ▆
▆ █ ✅★IP:149.56.235.249:4321★✅█ ▆
▆ █ ☑️★Users Convos De S.A.P.D Ahora Via /Foro★☑️█
█ ☑️Foro: http://fzrpdm.rf.gd/index.php ☑️█
Avatar de Usuario
Alejandro44
Aprendiz
Aprendiz
Mensajes: 138
Registrado: 30 Ago 2017 07:07
Ubicación: Venezuela
Contactar:
Reputación: 6

21 Jun 2018 11:47

gloweryt escribió:
20 Jun 2018 19:52
Cómo detectar un usuario AFK

Es un aporte sencillísimo y pues tengo entendido que de una sencilla forma podemos detectar si un jugador en nuestro servidor esta AFK de la siguiente forma:


Se que no es la única forma de hacerlo pero es la mas sencilla espero les sirva -dance4
Como se supone que sirve eso? fotos o algo? -dots
Mis aportes:


Avatar de Usuario
Houssama
Baneado
Baneado
Mensajes: 449
Registrado: 10 Nov 2016 15:23
Ubicación: Venezuela
Contactar:
Reputación: 7

21 Jun 2018 12:39

Alejandro44 escribió:
21 Jun 2018 11:47
gloweryt escribió:
20 Jun 2018 19:52
Cómo detectar un usuario AFK

Es un aporte sencillísimo y pues tengo entendido que de una sencilla forma podemos detectar si un jugador en nuestro servidor esta AFK de la siguiente forma:


Se que no es la única forma de hacerlo pero es la mas sencilla espero les sirva -dance4
Como se supone que sirve eso? fotos o algo? -dots
Para que fotos? si no sabes no digas esta bien que preguntes para que sirva pero tu respuesta me cayó mal, es una simple base para crear un sistema no es necesidad de fotos
Scripter:38% :c
Mapper: 45%
WebMaster: 20% alv :c
Imagen
Avatar de Usuario
#Fede
Moderador Global
Moderador Global
Mensajes: 3133
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 75

24 Jun 2018 20:54

MaisterFG escribió:
21 Jun 2018 10:57
Es mejor "OnPlayerPause"
OnPlayerPause no es una función nativa.
Estoy fuera de SA-MP, no me envíen mensajes privados invitándome a proyectos.


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Avatar de Usuario
#Fede
Moderador Global
Moderador Global
Mensajes: 3133
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 75

19 Jul 2018 13:15

Me acabo de acordar (No lo dije la otra vez), esto no funciona :P

OnPlayerUpdate es un callback, no una funcion.
Estoy fuera de SA-MP, no me envíen mensajes privados invitándome a proyectos.


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

21 Jul 2018 12:39

#Fede escribió:
19 Jul 2018 13:15
Me acabo de acordar (No lo dije la otra vez), esto no funciona :P

OnPlayerUpdate es un callback, no una funcion.

No, un "callback" también es una función, por la tanto "OnPlayerUpdate" también es una "subrutina".
Mira el siguiente ejemplo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid, -1, "¡Bienvenido al servidor!");
	return 1;
}

public pc_cmd_llamar(playerid)
{
	OnPlayerConnect(playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11

Como "OnPlayerConnect" es una función, se lo puede llamar 'x' veces mediante un comando, es decir, sí mandas 4 veces una orden al servidor, se enviará 4 veces el mensaje al cliente.
Con respecto a la guía que publicaron, en realidad está mal, porqué la función "GetTickCount" comenzará a tirar valores muy grandes cuando pase los 24 días y eso ocasionará un desbordamiento numérico en las variables que sean tipo "integer", ya que su capacidad máxima son de 4 bytes (por lo tanto sólo podrán almacenar hasta 10 dígitos).
Aquí la solución sería usar "gettime()" y asunto arreglado.

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Avatar de Usuario
#Fede
Moderador Global
Moderador Global
Mensajes: 3133
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 75

21 Jul 2018 12:53

MrDave escribió:
21 Jul 2018 12:39
#Fede escribió:
19 Jul 2018 13:15
Me acabo de acordar (No lo dije la otra vez), esto no funciona :P

OnPlayerUpdate es un callback, no una funcion.

No, un "callback" también es una función, por la tanto "OnPlayerUpdate" también es una "subrutina".
Mira el siguiente ejemplo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid, -1, "¡Bienvenido al servidor!");
	return 1;
}

public pc_cmd_llamar(playerid)
{
	OnPlayerConnect(playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11

Como "OnPlayerConnect" es una función, se lo puede llamar 'x' veces mediante un comando, es decir, sí mandas 4 veces una orden al servidor, se enviará 4 veces el mensaje al cliente.
Con respecto a la guía que publicaron, en realidad está mal, porqué la función "GetTickCount" comenzará a tirar valores muy grandes cuando pase los 24 días y eso ocasionará un desbordamiento numérico en las variables que sean tipo "integer", ya que su capacidad máxima son de 4 bytes (por lo tanto sólo podrán almacenar hasta 10 dígitos).
Aquí la solución sería usar "gettime()" y asunto arreglado.
No se si llegaste a leer el codigo previo (El que esta ahora fue actualizado).
 Codigo Pawno:
1
2

if(OnPlayerUpdate(playerid) == 0) // Esta AFK.
else // No lo esta.
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
No es posible usar OnPlayerUpdate de esa manera, eso es a lo que me refiero.
Estoy fuera de SA-MP, no me envíen mensajes privados invitándome a proyectos.


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




Responder