PDA

Ver la versión completa : [PLUGIN] Registro de kits



Tincho
26-01-2011, 04:28 PM
-Plugin Privado-

b0nete
26-01-2011, 06:22 PM
Exelente, esperemos aver si emitaz o alguno q este a cargo de los servidores lo aplique aunque sea en algún servidor para testearlo, o de ultima en el DM solo para ver q tal funciona y corregir errores si los tiene..
Muchas gracias, esperamos rpta. de algun mod.

F!rE
26-01-2011, 06:44 PM
Este plugin basicamente lo que hace es logear en el archivo "registro_kits.log" las personas que kitean sin specs mostrando hora, fecha, server, steamid y nombre

eso me llamo la atencion.. interesante :O aver q hacen

ZeKyeL
26-01-2011, 06:45 PM
ademas tendria que decir la cantidad de personas que quedaron en el sv cuando este kiteo, no es lo mismo kitear cuando hay 5 que cuando hay 10

Nice Try
26-01-2011, 06:48 PM
ademas tendria que decir la cantidad de personas que quedaron en el sv cuando este kiteo, no es lo mismo kitear cuando hay 5 que cuando hay 10

Se supone que cuando hay 5, estaria la cfg de warmup, x lo tanto no estaria activo el plugin.

Y tmb se pueden ver logs.

F!rE
26-01-2011, 06:53 PM
ah che, arregla el nombre de plugin. kits queda re fraca. la palabra viene de quit (quitear, quits)

un nombre para el plugin seria "quit_register" :O

perdon si se ve como un desvirtue

Tincho
26-01-2011, 07:15 PM
ah che, arregla el nombre de plugin. kits queda re fraca. la palabra viene de quit (quitear, quits)

un nombre para el plugin seria "quit_register" :O

perdon si se ve como un desvirtue

ok, se lo cambio no hay problema, pasa que como el otro thread que crearon era "kits" puse lo mismo...

y ahi arriba decian que tenia que decir cuantos quedaban en el server, este plugin lo unico que hace es registrar en el log si alguien se va cuando hay 10 PERSONAS Y NINGUN SPECT o sea que si hay 5 personas, no logea..

Necesitaria que me avisen si lo ponen porque tengo que testear si aparece bien el numero del server, yo creo que si pero por si las moscas :P

b0nete
26-01-2011, 08:41 PM
ok, se lo cambio no hay problema, pasa que como el otro thread que crearon era "kits" puse lo mismo...

y ahi arriba decian que tenia que decir cuantos quedaban en el server, este plugin lo unico que hace es registrar en el log si alguien se va cuando hay 10 PERSONAS Y NINGUN SPECT o sea que si hay 5 personas, no logea..

Necesitaria que me avisen si lo ponen porque tengo que testear si aparece bien el numero del server, yo creo que si pero por si las moscas :P

Joya, de 10 entonces..
Aver si aparece algun ADM y se prende para testear esto.
Yo me voy, ahora mas tarde vengo y si no paso nada hablo con emitaz o con alguno de los encargados de los svs.

jam
26-01-2011, 09:17 PM
Ya lo comunique.
Esperemos a ver que sale...

Tincho
26-01-2011, 09:36 PM
igualmente, ademas de checkear estos logs hay que checkear los del server, por ejemplo: si se manda la cfg de cerrado y alguien esta afk, steam lo kickea y si no hay specs va a estar registrado en el log..

emita'
26-01-2011, 09:45 PM
Va a ser testeado.

Idem...............

HDP
26-01-2011, 09:58 PM
igualmente, ademas de checkear estos logs hay que checkear los del server, por ejemplo: si se manda la cfg de cerrado y alguien esta afk, steam lo kickea y si no hay specs va a estar registrado en el log..


Tiene razon :( en ese caso? que pasa pero yo creo que cuando se cheeke va a decir que la razon del kick fue que se prendio el amx_kick razon afk

Matthew'
26-01-2011, 10:02 PM
El plugin esta muy bueno, pero igual considero una pavada esto! Por que hay mucho pros y contras.

Tincho
26-01-2011, 10:08 PM
El plugin esta muy bueno, pero igual considero una pavada esto! Por que hay mucho pros y contras.

seria bueno que las digas


igualmente, ademas de checkear estos logs hay que checkear los del server, por ejemplo: si se manda la cfg de cerrado y alguien esta afk, steam lo kickea y si no hay specs va a estar registrado en el log..


Tiene razon :( en ese caso? que pasa pero yo creo que cuando se cheeke va a decir que la razon del kick fue que se prendio el amx_kick razon afk

en ese caso no creo que sea baneado el jugador, muchachos EL PLUGIN NO BANEA los que bannean son los admins esto seria un PRUEBA ADICIONAL para determinar si a tal persona se banea o no


Idem...............

emita'z cuando lo testeen avisenme, porque es necesario que haya 11 personas por lo menos, los 10 que juegan + 1 spec igual yo lo testie en dedicado con bots, pero lo que no pude testear es si sale bien el numero de los servers.

ahi edite el plugin porque me falto el server 9, no sabia que habia 9 ajajaj

Equis De
26-01-2011, 10:30 PM
que buen plugin..

Brian4U
26-01-2011, 10:52 PM
Esta testeado? Funciona correctament :D?

Tincho
26-01-2011, 10:54 PM
Esta testeado? Funciona correctament :D?

si, yo nunca posteo cosas si no las testeo antes, lo unico que falta testear es si en el mensaje aparece el numero correcto de server ya que para saber eso es necesario que el plugin este corriendo en los servidores de clanco

Tecsound
26-01-2011, 11:04 PM
Muy bueno tincho!!!!!

Alucard^
26-01-2011, 11:51 PM
Las criticas que tengo para darte son:

get_user_team() puede generar conflictos, no me acuerdo si es depende de donde lo uses o que, pero es recomendable usar cs_get_user_team().

Despues en la linea:


formatex(szMessage,charsmax(szMessage),"[CO] %s - %s - Server #%d - %s - %s - Quedan %d players - No hay specs",szName,szSteamID,j+2,szFecha,szHora,iPlayers -1)


En vez de j+2 no deberia ir +1? estoy en duda igual... pero supongo que es +1, la variable comienza desde 0, obviamente el primer server es #1 asi que al hacerle +2 empezaria contando desde el server #2, o sea que tiraria un numero mas del server que sea.

Despues aca:


new Players_Activos
Players_Activos = 0

2 cosas. Primero, que en este caso podrias usar static en vez de new.

Segundo que, de seguro lo sabes pero... podes por si las dudas lo digo, podes hacer tranquilamente:


new Players_Activos = 0

En una linea... de todas formas el declarar el valor 0 a esta variable no es necesario ya que por defecto vale 0, igual no digo que este mal hacerlo... a veces sirve para entender mejor el codigo y demas... solo lo aclaro por si no lo sabes, aunque de seguro que lo sabes.

Y por ultimo respecto al get_players2() y a esta parte:


if(iPlayers == 10 && !get_specs())

Yo lo haria de otra forma... usaria get_players() que de paso tambien te da la cantidad de players que hay en el server.

Ah y me olvida... tambien podrias acortar:


get_specs()
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_connected(i))
{
continue
}
new Team
Team = get_user_team(i)

if(Team == 3 )
{
return 1
}

}

return 0
}

A esto:



get_specs()
{
new szPlayers[32], iPlayers;
get_players(szPlayers, iPlayers, "e", "SPECTATOR");

if(iPlayers > 0)
return 1;

return 0;
}


(no estoy seguro si para poner el nombre del team en esta funcion se usa SPECTATOR pero bueno... fijate cualquier cosa).

Eso es todo lo que puedo decir, igual son cosas triviales... no es necesario que cambies todo, depende si queres... pero las nombro por si te sirve de algo.

EDIT: Agrego de paso una sugerencia, que no es del todo necesario pero ayudaria bastante al chequeo de los logs con este plugin.

Podrias hacer que en vez de guardarlo como log, lo guarde en un .ini pero con la diferencia de que aparezca algo asi:

steamid, nombre, cantidad de quits

(por ejemplo)

Entonces solo se usaria 1 linea por cada player... ya que con el plugin actual, si alguien kitea varias veces, todas esas veces va aparecer en distintas lienas dentro del .log y ensima desordenado, entonces lleva mas tiempo detectar la cantidad de quits.

Igual ahora que lo pienso se deberia usar el .log mas el .ini para eso, ya que en el .ini no podrias especificar las fechas y horas en las que el player kiteo, porque usarias solamente 1 linea.

En fin, seria un complemento para agilizar el chequeo de los quits, de todas formas no es del todo necesario... y mas sabiendo que seria mas complejo el codigo, aunque no es nada dificil de hacer.

Tincho
27-01-2011, 12:01 AM
jaja cuando vi mensaje de alucard dije chau alguna cagada me mande, ahora explico porque hice eso..



Las criticas que tengo para darte son:

get_user_team() puede generar conflictos, no me acuerdo si es depende de donde lo uses o que, pero es recomendable usar cs_get_user_team().


Como lo probe con bots en un dedicado, la variable cs_get_user_team me tiraba error de invalid player, lo probe con get user team y anduvo entonces lo deje asi y no lo modifique, es verdad que puede tirar un error ya que no se actualiza el valor del team hasta que respawnea, pero no creo que haya problema con eso, de ultima lo cambio.



Despues en la linea:


formatex(szMessage,charsmax(szMessage),"[CO] %s - %s - Server #%d - %s - %s - Quedan %d players - No hay specs",szName,szSteamID,j+2,szFecha,szHora,iPlayers -1)


En vez de j+2 no deberia ir +1? estoy en duda igual... pero supongo que es +1, la variable comienza desde 0, obviamente el primer server es #1 asi que al hacerle +2 empezaria contando desde el server #2, o sea que tiraria un numero mas del server que sea.


le puse j+2 ya que el server DM no cuenta y el server DM es el 1, entonces si se pone en el server 2 (que seria el de la posicion 0 en esa variable) le sumo 2 para que aparezca 2 :P y asi sucesivamente...
Despues aca:




new Players_Activos
Players_Activos = 0

2 cosas. Primero, que en este caso podrias usar static en vez de new.


se, static es recomendable en este caso, lo pase por alto..



Segundo que, de seguro lo sabes pero... podes por si las dudas lo digo, podes hacer tranquilamente:


new Players_Activos = 0

En una linea... de todas formas el declarar el valor 0 a esta variable no es necesario ya que por defecto vale 0, igual no digo que este mal hacerlo... a veces sirve para entender mejor el codigo y demas... solo lo aclaro por si no lo sabes, aunque de seguro que lo sabes.


es lo mismo, no afecta en nada al consumo ni a rendimiento..



Y por ultimo respecto al get_players2() y a esta parte:


if(iPlayers == 10 && !get_specs())

Yo lo haria de otra forma... usaria get_players() que de paso tambien te da la cantidad de players que hay en el server.

Ah y me olvida... tambien podrias acortar:


get_specs()
{
for(new i = 1; i <= get_maxplayers(); i++)
{
if(!is_user_connected(i))
{
continue
}
new Team
Team = get_user_team(i)

if(Team == 3 )
{
return 1
}

}

return 0
}

A esto:



get_specs()
{
new szPlayers[32], iPlayers;
get_players(szPlayers, iPlayers, "e", "SPECTATOR");

if(iPlayers > 0)
return 1;

return 0;
}


(no estoy seguro si para poner el nombre del team en esta funcion se usa SPECTATOR pero bueno... fijate cualquier cosa).

Eso es todo lo que puedo decir, igual son cosas triviales... no es necesario que cambies todo, depende si queres... pero las nombro por si te sirve de algo.

Tengo entendido que la funcion get_players con la flag "e" puede tirar resultados erroneos y por eso no se le da mas soporte a esa funcion, connor mc leod si no me equivoco habia creado un fix, pero eso ya implica otro plugin aparte

En fin, gracias alucard por las correcciones

leastftw
27-01-2011, 01:26 AM
grande, te amo. gracias por interesarte en mi post

kiB
27-01-2011, 01:56 AM
que pasa si un pibe no kitea, tira retry por X motivo, ya sea se le bugeo el sound, se le colgo, se kileo comprando, o lo que sea y tira retry en ves de kit y no hay specs va a quedar en el registro...

que pasa si el pibe kitea en el gh xq se tiene que ir, osea el pibe esta estirando hasta llegar al gh y no kitear en medio del mix, el gh seria el momento para kitear, y tambien quedaria en el registro..

Adriel_123
27-01-2011, 02:03 AM
que pasa si un pibe no kitea, tira retry por X motivo, ya sea se le bugeo el sound, se le colgo, se kileo comprando, o lo que sea y tira retry en ves de kit y no hay specs va a quedar en el registro...

Pero tambien se tienen en cuenta los logs del server, ahi se sabe por X motivo kiteo, por ejemplo si dice: SOn todos malos nv, es claro qe se come el ban, pero si no dice nada y tira retry es algo que no merece ban sea por score o por bug sound ya que no afecta el resto.

Creeria que para el tema del kit en el gh el pibe diria por say, me banco hasta el gh y me tengo que ir. O algo asi,

b0nete
27-01-2011, 02:14 AM
que pasa si un pibe no kitea, tira retry por X motivo, ya sea se le bugeo el sound, se le colgo, se kileo comprando, o lo que sea y tira retry en ves de kit y no hay specs va a quedar en el registro...

que pasa si el pibe kitea en el gh xq se tiene que ir, osea el pibe esta estirando hasta llegar al gh y no kitear en medio del mix, el gh seria el momento para kitear, y tambien quedaria en el registro..

Si no hay spect va a qedar grabado igual en el block q contiene los datos de los q quitearon, ademas como te dijieron arriba.. Para banear no se va a mirar solo eso, sino tambien los logs.

Alucard^
27-01-2011, 03:21 PM
Claro, este plugin es simplemente para facilitar el tema y hacer una referencia de los quits, pero no para tomar en cuenta al 100%. De todas formas en cuanto al retry se puede detectar tranquilamente y que no se registre en los logs, estaria bueno que se agregue eso.

@ Tinchoo

Ah, no sabia eso del DM, entonces si ta bien lo del j+2 xd.

Respecto al get_players() y los problemas con los flags, lee esto: http://forums.alliedmods.net/showpost.php?p=913403&postcount=144

kiB
27-01-2011, 05:05 PM
Si no hay spect va a qedar grabado igual en el block q contiene los datos de los q quitearon, ademas como te dijieron arriba.. Para banear no se va a mirar solo eso, sino tambien los logs.

yase pero lo digo para ver si hay alguna forma de que el plugin no tome estos casos, ejemplo el del retry, porque para mi van a haber como 100 pibes por dia que kitean y van a quedar todos en el registro, y se les va a hacer medio denso estar revisando todos los logs, para ver xq kitearon..

Tincho
29-01-2011, 03:19 PM
up


realmente me gustaria que algun admin mod o los encargados de los servers me respondan si van a poner esto. a mi por mi parte me parece muy util... por algo lo hice :P

ResistenciaSub
29-01-2011, 09:56 PM
La verdad que un groso tincho... no te conozco pero muy bueno gracias por mejorar steam co ;) a testearlo y detalles y quedaría de 10.

jam
29-01-2011, 09:59 PM
up


realmente me gustaria que algun admin mod o los encargados de los servers me respondan si van a poner esto. a mi por mi parte me parece muy util... por algo lo hice :P

Yo avise.
Se dijo que se iba a testear.

emita'
29-01-2011, 10:04 PM
En 10 lo subo a Co Steam 3 o 4 que son los que mas se usan.

Tincho
30-01-2011, 11:11 PM
acabo de entrar a un server en el cual esta el plugin, pero se olvidaron de poner en la cfg de warmup la cvar para desactivarla, poruqe kiteo un flaco en warmup y aparecio el mensaje... como el mensaje es muy largo seria bueno que lo editen y le saquen el no hay spec cosa que es muy obvia porque sino el mensaje no apareceria completo.. y como fecha y hora aparece por defecto en los logs tambien seria bueno que lo editen.. ahora dejo como tendria que quedar


y para evitar problemas sugiero que las id que estan registradas por ahora en el log no sean banneadas ya que estamos en una etapa de "testeo" y surgieron problemas como los que puse arriba.

Gracias por ponerlo, saludos

--- Solucionado por chatbox :P ---

maarqitos
03-02-2011, 02:37 AM
muy bien hay muchos q kitean

Tincho
05-02-2011, 04:29 AM
up

nueva version, si quieren y tienen ganas pueden usarla :P

ya que ahora se empezo a usar este plugin 'oficialmente' para bannear gente.. aca les dejo una version en la cual aparecen la cantidad de players que quedan realmente.. en la version anterior aparecia siempre que quedaban 9 players ya que el mensaje solo aparecia si habia 10 personas y ningun spec, en cambio aca aparece siempre o sea si hay 9,8,7,6 etc players y ningun spect va a aparecer que quedan 8 y asi sucesivamente, asi pueden postear a las personas que realmente creen que se merecen un ban por quitear.

porque no siempre el mix se caga porque quitea 1.. siempre que pasa esto al toque quitea otro y buen, para mi el ban deberia ser para los 2 que quitean :P

tambien le saque para que registre en el log, ya que la forma de denunciar ahora es con screen, y en los logs por ahi se pueden confundir ya que si cambian de mapa o si termina el mix y no mandan cfg de warmup y quitean el mensaje se logearia y apareceria en el sv, pero no creo que alguien venga a postear eso.

Igual lo dejo a criterio de los admins/encargados de los servers

edit: obviamente nadie creo que va a ser tan cararota de postear a alguien que quitea cuando hay 2 personas nada mas :P pero con esta version tambien se podria denunciar a alguien que quitea cuando hay 9 personas.

jam
05-02-2011, 05:14 AM
Estaria bueno...
Una duda,el registro quedo activado en el serve #4 nada mas?
Un pibe que juega steam me dijo.
Y otra,hay algun comando mediante amx_cvar para poder activarlo ?

ResistenciaSub
05-02-2011, 07:04 AM
Estaria bueno...
Una duda,el registro quedo activado en el serve #4 nada mas?
Un pibe que juega steam me dijo.
Y otra,hay algun comando mediante amx_cvar para poder activarlo ?

yo al plugin creo que lo vi solamente en el 4 pensé que estaba ahi de prueba nada mas... y si hay un plugin si no me equivoco es "registro_activado 1 activado" "registro_activado 0 desactivado" o amx_cvar registro_activado 1 , 0

ZeKyeL
05-02-2011, 08:12 AM
sabes que estaria buenisimo, que aparte del server, el plug in te diga la hora, asi tenes todos los datos para copy paste, sin tener que escribir nada :p

digo nomas

Tincho
05-02-2011, 12:47 PM
Estaria bueno...
Una duda,el registro quedo activado en el serve #4 nada mas?
Un pibe que juega steam me dijo.
Y otra,hay algun comando mediante amx_cvar para poder activarlo ?

anda en el sv 4 porque lo puesieron en el sv 4 nada mas :P
los comandos son los que dice cobani amx_cvar registro_activado 0 o 1

y lo de la hora y fecha lo saque porque como pense qe iban a usar los logs, en los logs aparecen la fecha y hora.. ahora lo pongo

edit: listo, actualizado con fecha y hora

rodrikkk
05-02-2011, 02:22 PM
recien le mande un pm a jam que esta en el server 4 no mas el plugin

Alucard^
05-02-2011, 02:23 PM
Una recomendacion... en el loop donde verificas los servers, dentro del client_disconnect() despues de que tire el client_print() mandale un return. Porque en ese loop el resultado siempre va a ser en un solo server... es innecesario que siga el loop despues de que encuentre el server y tire el print.