[GUIA] Funcion: AddToFullPack
#26
Luego de leer esto, lo lleve a la practica, hice lo siguiente
Código PHP:
public fw_AddToFullPack(ss_handleeenthosthostflagsplayerpSet)
{
    if (
player) return 1
    
    
static Float:fOrigin[3], Float:fOrigin2[3]
    
pev(hostpev_originfOrigin)
    
pev(entpev_originfOrigin2)
    
    if (
get_distance_f(fOriginfOrigin2) > 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!
Responder
#27
(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_handleeenthosthostflagsplayerpSet)
{
    if (
player) return 1
    
    
static Float:fOrigin[3], Float:fOrigin2[3]
    
pev(hostpev_originfOrigin)
    
pev(entpev_originfOrigin2)
    
    if (
get_distance_f(fOriginfOrigin2) > 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
Responder
#28
El problema no es ese pa... Por cierto, la funcion la hookee en pre
Responder
#29
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_handleeenthosthostflagsplayerpSet)
{
    if (
player) return FMRES_IGNORED// asumes que esto solo funcionara a entidades no players
    
    
static Float:fOrigin[3], Float:fOrigin2[3]
    
pev(hostpev_originfOrigin)
    
pev(entpev_originfOrigin2)
    
    if (
get_distance_f(fOriginfOrigin2) > 2000.0
    {
        
forward_return(FMV_CELL0);
        return 
FMRES_OVERRIDE;
    }
    return 
FMRES_IGNORED

Responder
#30
(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...
Responder
#31
(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 Whatever
Responder
#32
(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 Whatever

No se porque pero me predecía que alguien iba a decir eso.

PD: 2:00 AM - no puedo dormir.
Responder
#33
Muchas gracias metal! El code que me pasaste sirvio, ty!
Responder
#34
(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
Responder
#35
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_aliveiHost )  ) 
        return 
FMRES_IGNORED;

    if( 
iEnt == iHost )
        return 
FMRES_IGNORED;

    if( !
g_InvisiEnt ] )
        return 
FMRES_IGNORED;

    if( 
get_user_teamiHost ) == get_user_teamiEnt ) )
    {
        
set_eses_handleES_RenderFxkRenderFxHologram );
    }
    else
    {
        
set_eses_handleES_RenderModekRenderTransAlpha);
    }

    return 
FMRES_IGNORED;

~Digito ergo sum~
Responder
#36
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)?
Responder
#37
Depende a que le llamas invisible
Responder
#38
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(idCSW_HEGRENADE1);

Se que se puede implementar de otra forma, sólo quiero sacarme la duda de que realmente se crashea por eso.
Responder
#39
(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(idCSW_HEGRENADE1);

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.
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(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:
Responder
#40
(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(idCSW_HEGRENADE1);

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?¿?Insecure
Responder
#41
(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(idCSW_HEGRENADE1);

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?¿?Insecure
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
Responder
#42
(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(idCSW_HEGRENADE1);

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 Roflmao 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.
Responder
#43
(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(idCSW_HEGRENADE1);

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(eseenthosthostflagsplayerpSet)
{
    if(
player)
    {
        return 
FMRES_IGNORED
    
}
    static 
_classname_[10], _owner_
    pev
(entpev_classname_classname_charsmax(_classname_))
    
_owner_ pev(entpev_owner)
    if(
equal(_classname_ClassNameMoney))
    {
        if(!
show_money || _owner_ == host || get_member(hostm_iTeam) != get_member(_owner_m_iTeam))
        {
            
forward_return(FMV_CELL0)
            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(hostm_iTeam) != get_member(_owner_m_iTeam))
        {
            
forward_return(FMV_CELL0)
            return 
FMRES_SUPERCEDE
        
}
    }
    return 
FMRES_IGNORED

[Imagen: 4B38BAF61714AA71486EF1BF573CFB1241C5B326]
[Imagen: DB22941AD3EC5B4F48349DEDEB34B918BC420BBE]
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
#44
Para mostrar el dinero, es una entidad por cada dígito o como es ?
Responder
#45
(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
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
#46
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
Responder
#47
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 Nothingdohere
Responder
#48
(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 Roflmao
Responder
#49
(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 pacman 12 entidades xD
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(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:
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)