Mensajes: 461
Temas: 31
Registro en: Dec 2013
Reputación:
15
Luego de leer esto, lo lleve a la practica, hice lo siguiente
Código PHP: public fw_AddToFullPack(ss_handle, e, ent, host, hostflags, player, pSet) { if (player) return 1 static Float:fOrigin[3], Float:fOrigin2[3] pev(host, pev_origin, fOrigin) pev(ent, pev_origin, fOrigin2) if (get_distance_f(fOrigin, fOrigin2) > 2000) return 0 return 1 }
Lo que deberia hacer es que si una entidad esta a mayor distancia que 2000 unidades, no la deberia ver el host (player), sin embargo, la sigue viendo. Tambien probe con forward_overrida, pero es igual, no funciona. Alguna idea metal?? Exelente guia maestro!
Mensajes: 996
Temas: 11
Registro en: Oct 2013
Reputación:
20
17/10/2014, 12:25 AM
(Última modificación: 17/10/2014, 12:26 AM por [Anti].)
(17/10/2014, 12:22 AM)Gonza.-* escribió: Luego de leer esto, lo lleve a la practica, hice lo siguiente
Código PHP: public fw_AddToFullPack(ss_handle, e, ent, host, hostflags, player, pSet) { if (player) return 1 static Float:fOrigin[3], Float:fOrigin2[3] pev(host, pev_origin, fOrigin) pev(ent, pev_origin, fOrigin2) if (get_distance_f(fOrigin, fOrigin2) > 2000) return 0 return 1 }
Lo que deberia hacer es que si una entidad esta a mayor distancia que 2000 unidades, no la deberia ver el host (player), sin embargo, la sigue viendo. Tambien probe con forward_overrida, pero es igual, no funciona. Alguna idea metal?? Exelente guia maestro! 2000
--->
2000.0
Mensajes: 461
Temas: 31
Registro en: Dec 2013
Reputación:
15
El problema no es ese pa... Por cierto, la funcion la hookee en pre
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
Para asignar un return al valor que "genera la funcion original" debes utilizar forward_return. El return que ejecutas ahí es el que recibe el módulo Fakemeta el cual lo procesa a su manera (supercede, ignored, override, handled).
Debes hacer:
Código PHP: public fw_AddToFullPack(ss_handle, e, ent, host, hostflags, player, pSet) { if (player) return FMRES_IGNORED; // asumes que esto solo funcionara a entidades no players static Float:fOrigin[3], Float:fOrigin2[3] pev(host, pev_origin, fOrigin) pev(ent, pev_origin, fOrigin2) if (get_distance_f(fOrigin, fOrigin2) > 2000.0) { forward_return(FMV_CELL, 0); return FMRES_OVERRIDE; } return FMRES_IGNORED }
Mensajes: 996
Temas: 11
Registro en: Oct 2013
Reputación:
20
(17/10/2014, 12:37 AM)Gonza.-* escribió: El problema no es ese pa... Por cierto, la funcion la hookee en pre
Sigue siendo un error en el código, sea el que causa el problema o no, pa...
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(17/10/2014, 12:50 AM)[Anti] escribió: (17/10/2014, 12:37 AM)Gonza.-* escribió: El problema no es ese pa... Por cierto, la funcion la hookee en pre
Sigue siendo un error en el código, sea el que causa el problema o no, pa...
No es un error, es un warning al fin y al cabo
Mensajes: 996
Temas: 11
Registro en: Oct 2013
Reputación:
20
17/10/2014, 01:56 AM
(Última modificación: 17/10/2014, 01:57 AM por [Anti].)
(17/10/2014, 01:45 AM)meTaLiCroSS escribió: (17/10/2014, 12:50 AM)[Anti] escribió: (17/10/2014, 12:37 AM)Gonza.-* escribió: El problema no es ese pa... Por cierto, la funcion la hookee en pre
Sigue siendo un error en el código, sea el que causa el problema o no, pa...
No es un error, es un warning al fin y al cabo
No se porque pero me predecía que alguien iba a decir eso.
PD: 2:00 AM - no puedo dormir.
Mensajes: 461
Temas: 31
Registro en: Dec 2013
Reputación:
15
Muchas gracias metal! El code que me pasaste sirvio, ty!
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(18/10/2014, 02:24 AM)Gonza.-* escribió: Muchas gracias metal! El code que me pasaste sirvio, ty!
Ante cualquier duda similar, dale con el topic nada más
Mensajes: 1,267
Temas: 48
Registro en: Apr 2015
Reputación:
17
He estado echándole ojo y testando y con lo que entendí me arme este código, ahora sabiendo que esta es un función que es llamada muchas veces podría este código ser de una manera limpio para esta fordward ?
lo que quiero hacer es que cuando un jugador tenga invisibilidad los compañeros lo vean como tipo holograma y los enemigos no se me ocurrió de esta forma.
Código PHP: public pfnAddToFullPack_Post( const es_handle, const e, const iEnt, const iHost, const iHostFlags, const iPlayer, const pSet ) { if( !get_orig_retval( ) || !iPlayer || !is_user_alive( iHost ) ) return FMRES_IGNORED;
if( iEnt == iHost ) return FMRES_IGNORED;
if( !g_Invis[ iEnt ] ) return FMRES_IGNORED;
if( get_user_team( iHost ) == get_user_team( iEnt ) ) { set_es( es_handle, ES_RenderFx, kRenderFxHologram ); } else { set_es( es_handle, ES_RenderMode, kRenderTransAlpha, 0 ); }
return FMRES_IGNORED; }
Mensajes: 130
Temas: 23
Registro en: Jul 2015
Reputación:
3
Consulta, y lo siento por revivir este tema.
¿Pero esta función podría servir para ver jugadores invisibles mediante solo el uso de la flashlight (linterna)?
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
Depende a que le llamas invisible
Mensajes: 1,015
Temas: 42
Registro en: Feb 2016
Reputación:
13
Es posible que al utilizar esta función, donde se le setea a un jugador cierta cantidad de balas, se crashee el servidor?
Algo como
Código PHP: public AddFullToPack(any:...) { if(evento) cs_set_user_bpammo(id, CSW_HEGRENADE, 1); }
Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
Mensajes: 2,094
Temas: 59
Registro en: Feb 2015
Reputación:
15
(16/08/2018, 01:51 AM)Exertency escribió: Es posible que al utilizar esta función, donde se le setea a un jugador cierta cantidad de balas, se crashee el servidor?
Algo como
Código PHP: public AddFullToPack(any:...) { if(evento) cs_set_user_bpammo(id, CSW_HEGRENADE, 1); }
Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
yo comente hace meses en desvirtue algo parecido con server_frame y lo único que me respondieron fué que el player podría ser expulsado del servidor.. pero que no daría crash el server.
(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.
(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Mensajes: 2,105
Temas: 25
Registro en: Jan 2014
Reputación:
20
(16/08/2018, 01:51 AM)Exertency escribió: Es posible que al utilizar esta función, donde se le setea a un jugador cierta cantidad de balas, se crashee el servidor?
Algo como
Código PHP: public AddFullToPack(any:...) { if(evento) cs_set_user_bpammo(id, CSW_HEGRENADE, 1); }
Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
Y porque setearias ammo en una funcion que se llama miles de veces por cada frame?¿?
(25/03/2015, 10:35 PM)hud escribió: (25/03/2015, 10:30 PM)meTaLiCroSS escribió: *edit* puto
Cabe.
Mensajes: 1,015
Temas: 42
Registro en: Feb 2016
Reputación:
13
16/08/2018, 10:40 AM
(Última modificación: 16/08/2018, 10:41 AM por Exertency.)
(16/08/2018, 10:29 AM)hud escribió: (16/08/2018, 01:51 AM)Exertency escribió: Es posible que al utilizar esta función, donde se le setea a un jugador cierta cantidad de balas, se crashee el servidor?
Algo como
Código PHP: public AddFullToPack(any:...) { if(evento) cs_set_user_bpammo(id, CSW_HEGRENADE, 1); }
Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
Y porque setearias ammo en una funcion que se llama miles de veces por cada frame?¿? Así está hecha la última voluntad en jbextreme, lo hice de otra forma, probé 3 o 4 veces y no se cayó más pero no estoy seguro de que sea eso
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(16/08/2018, 01:51 AM)Exertency escribió: Es posible que al utilizar esta función, donde se le setea a un jugador cierta cantidad de balas, se crashee el servidor?
Algo como
Código PHP: public AddFullToPack(any:...) { if(evento) cs_set_user_bpammo(id, CSW_HEGRENADE, 1); }
Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
Una real pérdida de tiempo y cerebro utilizar esa funcion para re-re-resetear balas en cada frame pero no crashearía, sólo sería una pérdida de tiempo y recurso. Por suerte, cs_set_user_bpammo sólo altera el PDATA y no envía algún tipo de message (...le cambia el valor a una variable, eso trato de decir). Es en este último caso (messages) donde es posible que el cliente crashee, y el server se sature en los canales de envío de información.
https://github.com/alliedmodders/amxmodx...s.cpp#L755
AddToFullPack es una funcion que es llamada N veces a cada jugador, donde N equivale al número de entidades (visibles e invisibles, aquí se filtran) que están en el server actualmente. ¿Que cabida tiene cambiar el valor de las balas ahí? Para eso utiliza PreThink/PostThink o alguna otra función más específica del arma.
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
(16/08/2018, 01:51 AM)Exertency escribió: Es posible que al utilizar esta función, donde se le setea a un jugador cierta cantidad de balas, se crashee el servidor?
Algo como
Código PHP: public AddFullToPack(any:...) { if(evento) cs_set_user_bpammo(id, CSW_HEGRENADE, 1); }
Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
de donde se te ocurrio que esa funcion puede ser para eso?
esta funcion es para hacer algo tipo
Código PHP: public pfn_AddToFullPack(es, e, ent, host, hostflags, player, pSet) { if(player) { return FMRES_IGNORED } static _classname_[10], _owner_ pev(ent, pev_classname, _classname_, charsmax(_classname_)) _owner_ = pev(ent, pev_owner) if(equal(_classname_, ClassNameMoney)) { if(!show_money || _owner_ == host || get_member(host, m_iTeam) != get_member(_owner_, m_iTeam)) { forward_return(FMV_CELL, 0) return FMRES_SUPERCEDE } } else if(equal(_classname_, ClassName)) { if(IsShowEquipment2(host) && _owner_ == player_showing[host]) { return FMRES_IGNORED } if((!visible_ent && !show_equipment[host]) || !is_user_alive(_owner_) || _owner_ == host || get_member(host, m_iTeam) != get_member(_owner_, m_iTeam)) { forward_return(FMV_CELL, 0) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
Mensajes: 1,455
Temas: 36
Registro en: Oct 2013
Reputación:
6
16/08/2018, 07:13 PM
(Última modificación: 16/08/2018, 07:14 PM por Destro.)
Para mostrar el dinero, es una entidad por cada dígito o como es ?
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
16/08/2018, 07:36 PM
(Última modificación: 16/08/2018, 07:37 PM por Sugisaki.)
(16/08/2018, 07:13 PM)Destro escribió: Para mostrar el dinero, es una entidad por cada dígito o como es ?
sep
es una entidad por cada cosito que se muestra son
3 x bombas
5 x digito
1 x signo
2 x armas (primaria y secundaria)
1 x la flechita
total : 12 x player
https://amxmodx-es.com/Thread-Cómo-se-ll...del-dinero
Mensajes: 1,455
Temas: 36
Registro en: Oct 2013
Reputación:
6
un poco pesado...
por suerte ahora ya no es lo que era antes, ahora casi todo el mundo tiene internet arriba de 10mb y los servidores ya no andan limitando los rates por quedarse sin ancho de banda xd
Mensajes: 1,015
Temas: 42
Registro en: Feb 2016
Reputación:
13
16/08/2018, 09:30 PM
(Última modificación: 16/08/2018, 09:30 PM por Exertency.)
Lean mi comentario, eso vino en un jailbreak de am-en que instale en un servicio. Al menos ya se que eso no era, gracies a todes
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(16/08/2018, 08:26 PM)Destro escribió: un poco pesado...
por suerte ahora ya no es lo que era antes, ahora casi todo el mundo tiene internet arriba de 10mb y los servidores ya no andan limitando los rates por quedarse sin ancho de banda xd
El drama es que ese "límite" que se piensa puede aumentarse, termina limitandose por la lógica antigua que utiliza el engine para recibir la info, llegando a un tope con el cliente, imposibilitando el seguir mejorando.
Es sabido, si liberan el cliente el CS estaría en la cúspide del modding
Mensajes: 2,094
Temas: 59
Registro en: Feb 2015
Reputación:
15
(16/08/2018, 07:36 PM)Sugisaki escribió: (16/08/2018, 07:13 PM)Destro escribió: Para mostrar el dinero, es una entidad por cada dígito o como es ?
sep
es una entidad por cada cosito que se muestra son
3 x bombas
5 x digito
1 x signo
2 x armas (primaria y secundaria)
1 x la flechita
total : 12 x player
https://amxmodx-es.com/Thread-Cómo-se-ll...del-dinero
no jodas 12 entidades xD
(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.
(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
|