[Bug]En el /rcon gmx??
#1

Un saludo a todos
Bueno, esto es una duda que tengo, el /rcon gmx es defectuoso o que?. Lo digo, siempre que el dueсo de mi servidor compra un panel nuevo, a veces uso el /rcon gmx, para poder reiniciar el servidor....

Y siempre que lo uso, el gamemode presenta algunos bugs, y solo ocurre cuando utilizo el /rcon gmx.

їMe gustarнa saber si es un defecto propio del RCON?
Reply
#2

Si, eso es cierto, por eso yo pedн que arreglaran lo de "You are banned from this server" cuando cerrabas y abrнa de nuevo la consola. ****** me dijo que usara gmx pero como tu dijiste es como si se bugeara.
No se a que se debe esto, puede ser que haya que resetear la variables en OnPlayerDisconnect o OnGameModeExit.
Reply
#3

Quote:
Originally Posted by adri1
Посмотреть сообщение
Si, eso es cierto, por eso yo pedн que arreglaran lo de "You are banned from this server" cuando cerrabas y abrнa de nuevo la consola. ****** me dijo que usara gmx pero como tu dijiste es como si se bugeara.
No se a que se debe esto, puede ser que haya que resetear la variables en OnPlayerDisconnect o OnGameModeExit.
efectivamente pero me parece que bastaria con poner en OnGameModeExit un bucle mas o menos asi

pawn Код:
for(new x=0;x<MAX_PLAYERS;x++)
        if(IsPlayerConnected(x))
               OnPlayerDisconnect(x,1);
y en OnGameModeInit

pawn Код:
for(new x=0;x<MAX_PLAYERS;x++)
        if(IsPlayerConnected(x))
               OnPlayerConnect(x);
asi se resetean las variables de todos los jugadores al reiniciar el GM solo bastaria con destruir todos los Textdraw y variables del server en esa misma callback
Reply
#4

Es un BUG la mejor forma de poder solucionar esto es como el seсor xSDx explico anteriormente.

Ejemplo:

pawn Код:
public OnGameModeExit()
{
   for(new playerid=0; playerid <MAX_PLAYERS; ++playerid)
   {
      if(IsPlayerConnected(playerid))
      OnPlayerDisconnect(playerid, 1);
   }
   return 1;
}
Un saludo.
Reply
#5

Gracias, a todos!
Reply
#6

Quote:
Originally Posted by oOFotherOo
Посмотреть сообщение
Es un BUG la mejor forma de poder solucionar esto es como el seсor xSDx explico anteriormente.

Ejemplo:

pawn Код:
public OnGameModeExit()
{
   for(new playerid=0; playerid <MAX_PLAYERS; ++playerid)
   {
      if(IsPlayerConnected(playerid))
      OnPlayerDisconnect(playerid, 1);
   }
   return 1;
}
Un saludo.
Al Colocar ese Cуdigo, ya no se tendrб ese Problema que se bugeaban las cosas al usar /Rcon gmx?
Interesante.... gracias amigo, yo tambiйn tenia un problema Similar
Reply
#7

Quote:
Originally Posted by xSDx
Посмотреть сообщение
efectivamente pero me parece que bastaria con poner en OnGameModeExit un bucle mas o menos asi

pawn Код:
for(new x=0;x<MAX_PLAYERS;x++)
        if(IsPlayerConnected(x))
               OnPlayerDisconnect(x,1);
y en OnGameModeInit

pawn Код:
for(new x=0;x<MAX_PLAYERS;x++)
        if(IsPlayerConnected(x))
               OnPlayerConnect(x);
asi se resetean las variables de todos los jugadores al reiniciar el GM solo bastaria con destruir todos los Textdraw y variables del server en esa misma callback
Seсor es innecesario llamar OnPlayerConnect en OnGameModeInit ya que al conectarse un usuario se llama automaticamente el callback OnPlayerConnect, ejecutar ese loop estaria llamando a OnPlayerConnect 500 veces (si el MAX_PLAYERS esta por default) esto seria como un ataque de BOTS al arrancar el GM.

El callback OnGameModeExit es el que esta BUG por lo cual el loop debe ejecutarse solamente en este llamando al callback OnPlayerDisconnect y luego que el GM se cargue nuevamente este llamara al callback OnPlayerConnect automaticamente al resivir la peticiуn de conecciуn de un cliente por lo cual al ejecutarse OnPlayerConnect se le resetearan las variables correctamente.

Un saludo.
Reply
#8

Quote:
Originally Posted by oOFotherOo
Посмотреть сообщение
Seсor es innecesario llamar OnPlayerConnect en OnGameModeInit ya que al conectarse un usuario se llama automaticamente el callback OnPlayerConnect, ejecutar ese loop estaria llamando a OnPlayerConnect 500 veces (si el MAX_PLAYERS esta por default) esto seria como un ataque de BOTS al arrancar el GM.

El callback OnGameModeExit es el que esta BUG por lo cual el loop debe ejecutarse solamente en este llamando al callback OnPlayerDisconnect y luego que el GM se cargue nuevamente este llamara al callback OnPlayerConnect automaticamente al resivir la peticiуn de conecciуn de un cliente por lo cual al ejecutarse OnPlayerConnect se le resetearan las variables correctamente.

Un saludo.
tienes razon en una parte pero algunos tenemos la cantidad de MAX PLAYERS en los slots que realmente usamos ademas de que este loop revisara si el jugador esta online asi que se ejecutara necesariamente y no como un ataque de bots, yo mando a llamar a los jugadores que se conecten asi por que el servidor tarda mucho en conectarlos despues de un reinicio del mismo y con esto los llama inmediatamente sin ejecutarlo dos veces

Saludos
Reply
#9

Quote:
Originally Posted by xSDx
Посмотреть сообщение
tienes razon en una parte pero algunos tenemos la cantidad de MAX PLAYERS en los slots que realmente usamos ademas de que este loop revisara si el jugador esta online asi que se ejecutara necesariamente y no como un ataque de bots, yo mando a llamar a los jugadores que se conecten asi por que el servidor tarda mucho en conectarlos despues de un reinicio del mismo y con esto los llama inmediatamente sin ejecutarlo dos veces

Saludos
Seсor usted no ha entendido bien, el callback OnGameModeInit se llama primero que OnPlayerConnect, usted no puede hacer que un jugador accione un script sin antes aver llamado OnPlayerConnect por lo tanto si un usuario no ha llamado OnPlayerConnect entonces este no esta conectado.

Los clientes solo ejecutan scripts una vez que esto llaman el callback OnPlayerConnect, el callback OnGameModeInit es llamado cuando se abre el servidor(Consola) por lo tanto este no va a detectar si un usuario esta online, un usuario esta online cuando ejecuta el callback OnPlayerConnect.

PD: Lo que trato de explicarle es que OnGameModeInit no va a detectar si un cliente esta conectado al servidor ya que OnGameModeInit se ejecuta antes que OnPlayerConnect y OnGameModeInit se utiliza para cargar las scripts generales del servidor ya que este se llama 1 sola vez y solamente cuando se carga el GM, el loop es innecesario.

Un saludo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)