Detectar si es colocado en suelo [ORIGIN]
#1
hola, lo que quiero es saber como podria detectar si es colocado en el suelo 'x' Sprite.

pasa que se puede colocar en paredes y entre otras cosas yo quiero es que solo sea valido colocarlo en el suelo.

como podría llegar a ala solución ?

Tengo esto

Código PHP:
public showMenu_Line(const iIndex)
{
    static 
iMenu;

    
iMenu menu_create("TEST LINE""hm_Line");

    
menu_additem(iMenu"Apuntar y Colocar Linea");

    
menu_display(iIndexiMenu);
}

public 
hm_Line(const iIndex, const iMenu, const iItem)
{
    if(
iItem == MENU_EXIT || !is_user_alive(iIndex))
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    static 
AimOrigin[3];
    
get_user_origin(iIndexAimOrigin3);

    
// SI LO COLOCO EN EL SUELO EJECUTAMOS LO DE ABAJO 
    
showLine(AimOrigin);
    
    
menu_destroy(iMenu);
    return 
PLUGIN_HANDLED;
}

public 
showLine(const fOrigin[3])
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_BEAMPOINTS);

    
write_coord(fOrigin[0]);
    
write_coord(fOrigin[1]);
    
write_coord(fOrigin[2]);
    
write_coord(fOrigin[0]);
    
write_coord(fOrigin[1]);
    
write_coord(fOrigin[2] + 36);
    
write_short(g_Beam);
    
write_byte(0);    
    
write_byte(0);        
    
write_byte(60);        // Life    
    
write_byte(15);        
    
write_byte(0);    
    
write_byte(0);        
    
write_byte(200);    
    
write_byte(0);
    
write_byte(200);            
    
write_byte(0);    
    
message_end();


Gracias de antemano si pueden dejar código mucho mejor.
~Digito ergo sum~
Responder
#2
No se entiende muy bien que es lo que querés hacer.
Querés saber si el usuario está apuntando hacia el suelo ?
Responder
#3
en efecto saber que si obtengo los siguientes origins:
Código PHP:
static AimOrigin[3];
    
get_user_origin(iIndexAimOrigin3); 

estos no sean tomados de las paredes solo del suelo.
~Digito ergo sum~
Responder
#4
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <xs>
#include <engine>

public plugin_init( )
{
    
register_plugin"Test""1.0""Manu" );
    
    
register_clcmd"say /test""cmdTest" );
}

public 
cmdTest( const iId )
{
    static 
iTraceFloat:flFractionFloat:flOrigin], Float:flAngles], Float:flNormal], Float:flViewOfs], Float:flEnd];
    
    
iTrace create_tr2( );
    
    
entity_get_vectoriIdEV_VEC_originflOrigin );
    
entity_get_vectoriIdEV_VEC_v_angleflAngles );
    
entity_get_vectoriIdEV_VEC_view_ofsflViewOfs );
    
    
xs_vec_addflOriginflViewOfsflOrigin );
    
    
angle_vectorflAnglesANGLEVECTOR_FORWARDflAngles );
    
    
xs_vec_mul_scalarflAngles192.0flAngles );
    
xs_vec_addflOriginflAnglesflEnd );
    
    
engfuncEngFunc_TraceLineflOriginflEndDONT_IGNORE_MONSTERSiIdiTrace );
    
    
get_tr2iTraceTR_flFractionflFraction );
    
get_tr2iTraceTR_vecPlaneNormalflNormal );
    
    
free_tr2iTrace );
    
    if( 
flFraction 1.0 && flNormal[2] >= 0.9 )
    {
        
client_printiIdprint_chat"Estas apuntando al piso" );
    }
    
    return 
PLUGIN_HANDLED;

No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder
#5
@Treki
Gracias es lo mas cercano que he conseguido, pero no me detecta si miro al suelo a una distancia larga.
imagino que es imposible hacer esto...
~Digito ergo sum~
Responder
#6
(04/12/2016, 07:25 PM)ImBuggimen escribió: @Treki
Gracias es lo mas cercano que he conseguido, pero no me detecta si miro al suelo a una distancia larga.
imagino que es imposible hacer esto...

La unica pendejada que se me ocurre es crear una o varias entidades que abarquen el suelo y detectarlo con el get_user_aiming.
Responder
#7
(04/12/2016, 07:25 PM)ImBuggimen escribió: @Treki
Gracias es lo mas cercano que he conseguido, pero no me detecta si miro al suelo a una distancia larga.
imagino que es imposible hacer esto...

Código PHP:
xs_vec_mul_scalarflAngles192.0flAngles ); 

Es porque tiene un límite de distancia... Subilo a 9999.0 si querés.
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes
.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)