Mensajes: 200
Temas: 56
Registro en: Oct 2020
Reputación:
1
Buenas noches, instale el amxbans en la pagina free de 000webhost, lo hice funcionar ya que toda las configuraciones se deben hacer mediante la base de datos, bueno el problema esta en que cuando yo doy un baneo de 10 minutos al pasar esos 10 minutos el ban aun sigue no expira, la base de datos es propia del servidor y el servidor es hosteado linux
Pawn Básico no critiquen xD
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
XD No es un problema, creo que amxbans funciona de la manera que el baneo se expira en el momento que el jugador entra al servidor.
Mensajes: 200
Temas: 56
Registro en: Oct 2020
Reputación:
1
(01/09/2022, 01:53 AM)Alejandro escribió: XD No es un problema, creo que amxbans funciona de la manera que el baneo se expira en el momento que el jugador entra al servidor.
Si, funciona asi por lo que veo pero como le haria para que lo desbanee automaticamente sin tener que esperar que el jugador entre?
Pawn Básico no critiquen xD
Mensajes: 791
Temas: 84
Registro en: Sep 2016
Reputación:
6
(01/09/2022, 12:31 PM)Meliodas escribió: Si, funciona asi por lo que veo pero como le haria para que lo desbanee automaticamente sin tener que esperar que el jugador entre?
Usá AdvancedBans
Mensajes: 200
Temas: 56
Registro en: Oct 2020
Reputación:
1
(01/09/2022, 12:56 PM)Ballers escribió: Usá AdvancedBans
es que uso amxbans por el tema de la base de datos ya que de esa base tomo las tablas para mostrar la banlist y la lista de admin en mi pag
Pawn Básico no critiquen xD
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
Podrias poner en el inicio de las rondas o mapas que haga un update a la tabla y quite los bans que ya expiraron
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Mensajes: 200
Temas: 56
Registro en: Oct 2020
Reputación:
1
(01/09/2022, 04:05 PM)HK-416 escribió: Podrias poner en el inicio de las rondas o mapas que haga un update a la tabla y quite los bans que ya expiraron
y como podria hacer eso, perdon apenas estoy aprendiendo todo esto
Pawn Básico no critiquen xD
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
02/09/2022, 05:40 PM
(Última modificación: 02/09/2022, 07:01 PM por HK-416. Edited 1 time in total.
Razón: Mejora de la consulta Sql
)
Yo ni lo probe ni nada lo hice asi a lo rapido y es posible que algo me quede mal
Eso lo puse en "check_player.inl"
Código PHP: public update_bans() { new pquery[1024] formatex(pquery,charsmax(pquery),"UPDATE `%s%s` SET expired=1 WHERE expired = 0 AND ban_created > 0 AND ban_length > 0 AND (ban_created + (ban_length * 60)) < UNIX_TIMESTAMP(NOW())", g_dbPrefix, tbl_bans); SQL_ThreadQuery(g_SqlX, "update_bans_", pquery) }
public update_bans_(failstate, Handle:query, error[], errnum, data[], size) { if (failstate) { new szQuery[256] MySqlX_ThreadError( szQuery, error, errnum, failstate, 17 ) return PLUGIN_HANDLED }
new result = SQL_AffectedRows(query); if(result > 0) { log_amx("[AMXBans] expired bans %d", result); return PLUGIN_HANDLED } return PLUGIN_HANDLED }
y en "amxbans_main.sma" fui hasta la funcion "public event_new_round()" y luego del for agregue esto
Es muy probable que haya mil maneras mejor de hacerlo o mas prolijas
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Mensajes: 200
Temas: 56
Registro en: Oct 2020
Reputación:
1
(02/09/2022, 05:40 PM)HK-416 escribió: Yo ni lo probe ni nada lo hice asi a lo rapido y es posible que algo me quede mal
Eso lo puse en "check_player.inl"
Código PHP: public update_bans() { new pquery[1024] formatex(pquery,charsmax(pquery),"UPDATE `%s%s` SET expired=1 WHERE expired = 0 AND ban_created > 0 AND ban_length > 0 AND (ban_created + (ban_length * 60)) < UNIX_TIMESTAMP(NOW())", g_dbPrefix, tbl_bans); SQL_ThreadQuery(g_SqlX, "update_bans_", pquery) }
public update_bans_(failstate, Handle:query, error[], errnum, data[], size) { if (failstate) { new szQuery[256] MySqlX_ThreadError( szQuery, error, errnum, failstate, 17 ) return PLUGIN_HANDLED }
new result = SQL_AffectedRows(query); if(result > 0) { log_amx("[AMXBans] expired bans %d", result); return PLUGIN_HANDLED } return PLUGIN_HANDLED }
y en "amxbans_main.sma" fui hasta la funcion "public event_new_round()" y luego del for agregue esto
Es muy probable que haya mil maneras mejor de hacerlo o mas prolijas
funciono, pero como es un ctf y las rondas son infinitas (tuve que lanzar un restart) tengo que crear un public que se llame tantos minutos para que mande a esa función no?
Pawn Básico no critiquen xD
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
yo crearia un TASK_CHECK_BANS el cual se llame en el plugin_init() set_task(300.0, "funcion", TASK_CHECK_BANS, _, _, "b") asi se llama cada 5 minutos
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Mensajes: 200
Temas: 56
Registro en: Oct 2020
Reputación:
1
(02/09/2022, 08:52 PM)HK-416 escribió: yo crearia un TASK_CHECK_BANS el cual se llame en el plugin_init() set_task(300.0, "funcion", TASK_CHECK_BANS, _, _, "b") asi se llama cada 5 minutos
gracias, lo hare
Pawn Básico no critiquen xD
|