client_disconnect y forward
#1
hola, quería saber cual es la diferencia entre
Código PHP:
public client_disconnect(id
y
Código PHP:
public plugin_init()
{
    
register_forward(FM_ClientDisconnect"fw_ClientDisconnect")
    
register_forward(FM_ClientDisconnect"fw_ClientDisconnect_Post"1)


y donde es más conveniente guardar datos o remover entidades de hats... o si uso ambos hay algún tipo de conflicto?
porfavor quítenme esa duda Sonrisa
Gracias por responder.
[Imagen: baquetas_2_para_web.png]
Responder
#2
client_disconnect se va a llamar cuando un jugador se desconecte o el servidor cambia mapa.

la forward de fakemeta NO se llama cuando se cambia mapa.

Para guardar datos es lógico utilizar client_disconnect, sino en cambio de mapa no guardaria. Para remover hats usa la de fakemeta ya que no hace falta remover hats cuando se cambia mapa, porque se carga todo de nuevo y se resetean todos los valores.
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#3
(16/08/2015, 04:10 PM)RauliTop escribió: client_disconnect se va a llamar cuando un jugador se desconecte o el servidor cambia mapa.

la forward de fakemeta NO se llama cuando se cambia mapa.

Para guardar datos es lógico utilizar client_disconnect, sino en cambio de mapa no guardaria. Para remover hats usa la de fakemeta ya que no hace falta remover hats cuando se cambia mapa, porque se carga todo de nuevo y se resetean todos los valores.

no es necesario remover entidades al cambiar de mapa?
y sobre lo otro, si uso ambos no hay algún conflicto?

Gracias por responder Sonrisa
[Imagen: baquetas_2_para_web.png]
Responder
#4
(17/08/2015, 08:04 AM)Tomy Rocker escribió:
(16/08/2015, 04:10 PM)RauliTop escribió: client_disconnect se va a llamar cuando un jugador se desconecte o el servidor cambia mapa.

la forward de fakemeta NO se llama cuando se cambia mapa.

Para guardar datos es lógico utilizar client_disconnect, sino en cambio de mapa no guardaria. Para remover hats usa la de fakemeta ya que no hace falta remover hats cuando se cambia mapa, porque se carga todo de nuevo y se resetean todos los valores.

no es necesario remover entidades al cambiar de mapa?
y sobre lo otro, si uso ambos no hay algún conflicto?

Gracias por responder Sonrisa

se cambia de mapa y se borran las entidades
--------

Para que vas a usar ambas funciones?
No va a haber conflicto usando ambas, pero es una wasada, para eso usa 1 sola y basta. Lo demás te lo dejó claro raulitop
Responder
#5
(17/08/2015, 12:49 PM)ErikMav94 escribió: Para que vas a usar ambas funciones?
No va a haber conflicto usando ambas, pero es una wasada, para eso usa 1 sola y basta. Lo demás te lo dejó claro raulitop
yo utilizo las 2 a la vez en un mismo plugin, dependiendo de que vaya a hacer.
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#6
(17/08/2015, 08:04 AM)Tomy Rocker escribió: no es necesario remover entidades al cambiar de mapa?

al cambiar de mapa, el espacio virtual generado por el motor se destruye y se reconstruye uno nuevo, como te dijeron, no es necesario remover las entidades al cambiar de mapa ya que se destruyen solas Whatever
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#7
(17/08/2015, 02:08 PM)RauliTop escribió:
(17/08/2015, 12:49 PM)ErikMav94 escribió: Para que vas a usar ambas funciones?
No va a haber conflicto usando ambas, pero es una wasada, para eso usa 1 sola y basta. Lo demás te lo dejó claro raulitop
yo utilizo las 2 a la vez en un mismo plugin, dependiendo de que vaya a hacer.

Podrías darme un ejemplo de la utilidad que le podés dar al utilizar ambas?

No se me ocurre ninguna utilidad en este momento
Responder
#8
(17/08/2015, 09:58 PM)ErikMav94 escribió:
(17/08/2015, 02:08 PM)RauliTop escribió:
(17/08/2015, 12:49 PM)ErikMav94 escribió: Para que vas a usar ambas funciones?
No va a haber conflicto usando ambas, pero es una wasada, para eso usa 1 sola y basta. Lo demás te lo dejó claro raulitop
yo utilizo las 2 a la vez en un mismo plugin, dependiendo de que vaya a hacer.

Podrías darme un ejemplo de la utilidad que le podés dar al utilizar ambas?

No se me ocurre ninguna utilidad en este momento

Un ejemplo sería en Zombie Plague, ya que ya tiene el forward...
y para agregarle el guardado de datos al cambiar de mapa, usaría el client_disconnect... Gracias por quitarme las dudas. Gran sonrisa
[Imagen: baquetas_2_para_web.png]
Responder
#9
(18/08/2015, 02:45 AM)Tomy Rocker escribió:
(17/08/2015, 09:58 PM)ErikMav94 escribió:
(17/08/2015, 02:08 PM)RauliTop escribió:
(17/08/2015, 12:49 PM)ErikMav94 escribió: Para que vas a usar ambas funciones?
No va a haber conflicto usando ambas, pero es una wasada, para eso usa 1 sola y basta. Lo demás te lo dejó claro raulitop
yo utilizo las 2 a la vez en un mismo plugin, dependiendo de que vaya a hacer.

Podrías darme un ejemplo de la utilidad que le podés dar al utilizar ambas?

No se me ocurre ninguna utilidad en este momento

Un ejemplo sería en Zombie Plague, ya que ya tiene el forward...
y para agregarle el guardado de datos al cambiar de mapa, usaría el client_disconnect... Gracias por quitarme las dudas. Gran sonrisa

No tengo idea de zp, nunca me gustó

Pero si decís que usas la fw para X cosa y después client_disconnect para guardar datos, para eso usas client_disconnect, es mi punto de vista.

Espero a que pase raulitop a darme un ejemplo de la utilidad de usar ambos
Responder
#10
(17/08/2015, 09:58 PM)ErikMav94 escribió: Podrías darme un ejemplo de la utilidad que le podés dar al utilizar ambas?

No se me ocurre ninguna utilidad en este momento
Es simple, tengo un mod que se maneja con muchas entidades a la vez, un mismo jugador puede tener unas 6 fácilmente. A la vez tengo un guardado.

Entonces, para client_disconnect solamente utilizo el guardado, y con fakemeta le hago invisible la entidad cuando se desconecta.

Por qué?
El cambio de mapa es un momento "delicado" para el sv, es el "proceso" que más nos va a consumir, por así decirlo. Entonces, utilizando la forward de fakemeta para desaparecer las entidades, me ahorro tener que llamar a unas cuantas natives al cambiar mapa, por lo que minimizo el colapso, lag o como lo quieras llamar al cambiar mapa.

Sí, hoy en día los host son mejores y pueden aguantar, no va a estallar el pc porque utilice en client_disconnect ahí, pero si se puede ahorrar, por qué no hacerlo?
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#11
(18/08/2015, 06:41 AM)RauliTop escribió:
(17/08/2015, 09:58 PM)ErikMav94 escribió: Podrías darme un ejemplo de la utilidad que le podés dar al utilizar ambas?

No se me ocurre ninguna utilidad en este momento
Es simple, tengo un mod que se maneja con muchas entidades a la vez, un mismo jugador puede tener unas 6 fácilmente. A la vez tengo un guardado.

Entonces, para client_disconnect solamente utilizo el guardado, y con fakemeta le hago invisible la entidad cuando se desconecta.

Por qué?
El cambio de mapa es un momento "delicado" para el sv, es el "proceso" que más nos va a consumir, por así decirlo. Entonces, utilizando la forward de fakemeta para desaparecer las entidades, me ahorro tener que llamar a unas cuantas natives al cambiar mapa, por lo que minimizo el colapso, lag o como lo quieras llamar al cambiar mapa.

Sí, hoy en día los host son mejores y pueden aguantar, no va a estallar el pc porque utilice en client_disconnect ahí, pero si se puede ahorrar, por qué no hacerlo?
Ah bueno si lo ves asi esta bien, pero si es para unos simples hats que use una sola en el plugin [emoji2]
Responder
#12
(18/08/2015, 06:41 AM)RauliTop escribió:
(17/08/2015, 09:58 PM)ErikMav94 escribió: Podrías darme un ejemplo de la utilidad que le podés dar al utilizar ambas?

No se me ocurre ninguna utilidad en este momento
me ahorro tener que llamar a unas cuantas natives al cambiar mapa, por lo que minimizo el colapso, lag o como lo quieras llamar al cambiar mapa.

Ahorrar una decima de segundo? Roflmao
Responder
#13
(18/08/2015, 08:25 PM)meTaLiCroSS escribió: Ahorrar una decima de segundo? Roflmao

jajaja grande meTaLiCroSS Yao ming
[Imagen: baquetas_2_para_web.png]
Responder
#14
(18/08/2015, 08:25 PM)meTaLiCroSS escribió: Ahorrar una decima de segundo? Roflmao

(18/08/2015, 06:41 AM)RauliTop escribió: Sí, hoy en día los host son mejores y pueden aguantar, no va a estallar el pc porque utilice en client_disconnect ahí, pero si se puede ahorrar, por qué no hacerlo?
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#15
(19/08/2015, 07:46 AM)RauliTop escribió:
(18/08/2015, 08:25 PM)meTaLiCroSS escribió: Ahorrar una decima de segundo? Roflmao

(18/08/2015, 06:41 AM)RauliTop escribió: Sí, hoy en día los host son mejores y pueden aguantar, no va a estallar el pc porque utilice en client_disconnect ahí, pero si se puede ahorrar, por qué no hacerlo?

Por que es lo mismo, disminuyes la cantidad contable de entidades que el servidor debe destruir (es decir, una pedorra liberación de memoria, has visto como funciona el remove de entidades? parte por eso, ED_Free creo), haces que tenga menos peso por.. un par de entidades? Vale, la unica diferencia sera el delta entre los modulos... pero en un cambio de map? Cuando por inercia el cambio de map demora un par de segundos, ahorrando algo que no marcara una diferencia visual? No creo que tengas todas tus variables como char Lol y es materia que no invento, es una costumbre que me enseñaron en asignaturas de programacion. Esta bien tener el habito de "ahorrar", pero siempre y cuando valga la pena, con tanto sistema poderoso a cualquier alcance es un tema que dejo de ser tabú.

E insisto, enfoquen el ahorro en funciones recurrentes, ahí el ahorro "marca la diferencia", todo el resto lo pueden explotar Sonrisa pero no mezclen la finalidad de "ahorrar" con "eliminar desperdicios", ojo.
Responder
#16
Estoy de acuerdo con el gordo fofo. Y agrego, así como se "ahorra" utilizando ambos eventos también aumenta el costo de mantenimiento para el programador ya que tenemos dos funciones que se llaman al desconectarse el jugador. Si queremos agregar algo tenemos que pensar en cuál ponerlo y si tenemos que rastrear algún error que esté relacionado con la desconexión del jugador, deberemos revisar ambas funciones. Si ponemos en una balanza el ahorro de consumo y el costo de mantenimiento, se inclinaría hacia el lado del costo de mantenimiento con lo cual para el caso expuesto por Raulito es mejor utilizar un único evento.

Materia: Complejidad temporal, Estructuras de datos y Algoritmos 3er año de Ing Nothingdohere
[Imagen: paypalqr.png]
Responder
#17
Yo llevo 2 clases de estructuras de datos, y ya se como funciona la porquería Excitedeyes aunque certeramente no apuntaria a dividir los casos como lo dijo Nelson, si no que conociendo la plataforma de trabajo uno puede inferir al ojo si vale la pena o no. Ahí recalco el "conociendo", la gorda fofa mayor me entendera
Responder
#18
(19/08/2015, 04:27 PM)meTaLiCroSS escribió: Yo llevo 2 clases de estructuras de datos, y ya se como funciona la porquería Excitedeyes aunque certeramente no apuntaria a dividir los casos como lo dijo Nelson, si no que conociendo la plataforma de trabajo uno puede inferir al ojo si vale la pena o no. Ahí recalco el "conociendo", la gorda fofa mayor me entendera
Sisi, cada caso particular hay que estudiarlo no hay una regla general para todo.
[Imagen: paypalqr.png]
Responder
#19
(19/08/2015, 03:26 PM)meTaLiCroSS escribió: Por que es lo mismo, disminuyes la cantidad contable de entidades que el servidor debe destruir (es decir, una pedorra liberación de memoria, has visto como funciona el remove de entidades? parte por eso, ED_Free creo), haces que tenga menos peso por.. un par de entidades? Vale, la unica diferencia sera el delta entre los modulos... pero en un cambio de map? Cuando por inercia el cambio de map demora un par de segundos, ahorrando algo que no marcara una diferencia visual? No creo que tengas todas tus variables como char Lol y es materia que no invento, es una costumbre que me enseñaron en asignaturas de programacion. Esta bien tener el habito de "ahorrar", pero siempre y cuando valga la pena, con tanto sistema poderoso a cualquier alcance es un tema que dejo de ser tabú.

E insisto, enfoquen el ahorro en funciones recurrentes, ahí el ahorro "marca la diferencia", todo el resto lo pueden explotar Sonrisa pero no mezclen la finalidad de "ahorrar" con "eliminar desperdicios", ojo.
Ya sé que no es una optimización para decir WOW, pero algo es algo, y es mucho mejor que lo que a veces veo por ahí de "optimizaciones"
Y te equivocas, un cambio de mapa sí que marca diferencia visual, más rápido se carga el siguiente mapa y entras al sv

Claro que en las funciones que se llaman mucho deben estar optimizadas, no te digo que no. Pero hoy salió esto, quizás otro día salga otra cosa

(19/08/2015, 03:50 PM)Neeeeeeeeeel.- escribió: Estoy de acuerdo con el gordo fofo. Y agrego, así como se "ahorra" utilizando ambos eventos también aumenta el costo de mantenimiento para el programador ya que tenemos dos funciones que se llaman al desconectarse el jugador. Si queremos agregar algo tenemos que pensar en cuál ponerlo y si tenemos que rastrear algún error que esté relacionado con la desconexión del jugador, deberemos revisar ambas funciones. Si ponemos en una balanza el ahorro de consumo y el costo de mantenimiento, se inclinaría hacia el lado del costo de mantenimiento con lo cual para el caso expuesto por Raulito es mejor utilizar un único evento.

Materia: Complejidad temporal, Estructuras de datos y Algoritmos 3er año de Ing Nothingdohere
Igualmente hay muchas cosas hardcodeadas, así que mas da el coste de mantenimiento Whatever

Si fuera algún proyecto público sí, pero como no lo es no merece la pena...
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#20
(19/08/2015, 06:56 PM)RauliTop escribió: Y te equivocas, un cambio de mapa sí que marca diferencia visual, más rápido se carga el siguiente mapa y entras al sv

Manejo un servidor desde el año 2010 y lo llevo monitoreando desde esa fecha hasta el dia de hoy, editando el mismo addon desde esa misma fecha con mas modificaciones que la gran puta pacha mama, y "sin" hacer skip de entidades que se remueven por player al desconectarse (7 posibles por user). La verdad que se de lo que hablo. Sonrisa
Responder
#21
Holas, amigos tengo una consulta fijadome en el ejemplo que comentaron , el cambio de mapa destruye y reinicia los valores osea los hats desaparecera ...
pero si deseo lo contrario ? osea mantener el hat o gorro escogido aun si se cambiase el mapa
¿que evento usaria ? con que codigo ? podrian darme una pista porfavor ? gracias antemano
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)