[Pregunta] Vida en print
#1
Mi duda seria como saber cuando un CT dispara a un TT aparezca un print o un hud como el zombie plague diciendo su vida actual
Responder
#2
(06/01/2014, 03:49 PM)Frosst escribió: Mi duda seria como saber cuando un CT dispara a un TT aparezca un print o un hud como el zombie plague diciendo su vida actual

le aparezca al TT, al CT, o ambos?
Responder
#3
Al CT o si fuera al revez, si un tt dispara a un ct le aparezca al TT
Responder
#4
advanced damage ? o te refieres a la vida que le queda restante ?
Responder
#5
(06/01/2014, 03:53 PM)Frosst escribió: Al CT o si fuera al revez, si un tt dispara a un ct le aparezca al TT

osea al que ataca.

Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")
}

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
    
client_print(agresorprint_center"Tu vida es %d"get_user_health(agresor))


con hamsandwich enganchas la función cuando el jugador recibe el daño, y fun tiene la función que ve cuanta vida tiene el jugador

en este caso pongo agresor, porque así el mensaje le llega al que hace el disparo.

espero haberte ayudado Lengua
Responder
#6
(06/01/2014, 03:59 PM)internel escribió:
(06/01/2014, 03:53 PM)Frosst escribió: Al CT o si fuera al revez, si un tt dispara a un ct le aparezca al TT

osea al que ataca.

Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")
}

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
    
client_print(agresorprint_center"Tu vida es %d"get_user_health(agresor))


en hamsandwich enganchas la función cuando el jugador recibe el daño, y fun tiene la función que ve cuanta vida tiene el jugador Lengua

en este caso pongo agresor, porque así el mensaje le llega al que hace el disparo.

espero haberte ayudado Lengua
tengo una duda respecto a ese code
Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")
}

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
    
client_print(agresorprint_center"Tu vida es %d"get_user_health(agresor)) // aqui dices que agresor pero donde identificas a el agresor si el lo que quiere es la vida de la victima no ? o me equivoco , y Float:flDamage donde lo usas y Idamagebits no entiendo si me equivoco explicamelo digo yo que seria client_print(victima, ....) pero no lo has identificado .

Responder
#7
Ahora pruebo y edito, gracias.
Responder
#8
(06/01/2014, 04:04 PM)kuben escribió:
(06/01/2014, 03:59 PM)internel escribió:
(06/01/2014, 03:53 PM)Frosst escribió: Al CT o si fuera al revez, si un tt dispara a un ct le aparezca al TT

osea al que ataca.

Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")
}

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
    
client_print(agresorprint_center"Tu vida es %d"get_user_health(agresor))


en hamsandwich enganchas la función cuando el jugador recibe el daño, y fun tiene la función que ve cuanta vida tiene el jugador Lengua

en este caso pongo agresor, porque así el mensaje le llega al que hace el disparo.

espero haberte ayudado Lengua
tengo una duda respecto a ese code
Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")
}

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
    
client_print(agresorprint_center"Tu vida es %d"get_user_health(agresor)) // aqui dices que agresor pero donde identificas a el agresor si el lo que quiere es la vida de la victima no ? o me equivoco , y Float:flDamage donde lo usas y Idamagebits no entiendo si me equivoco explicamelo digo yo que seria client_print(victima, ....) pero no lo has identificado .


mira en la función ya se identifica el agresor, como puedes ver puse: (victima, inflictor, agresor, Float:flDamage, iDamageBits)

Tienes razón en lo de la vida de la victima, en vez de get_user_health(agresor) es get_user_health(victima) y que cambie el mensaje a como lo necesite.

No necesito usar nada de lo que es flDamage y/o iDamageBits porque en este caso solo quiere saber la vida, esas 2 variables hacen referencia al daño que se hace.
Responder
#9
en ese código, si se cae desde algún lugar alto y se quita vida también le saldrá el print Crab
(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
#10
(07/01/2014, 12:00 PM)RauliTop escribió: en ese código, si se cae desde algún lugar alto y se quita vida también le saldrá el print Crab

es verdad, pero no lo puedo postear porque no se como bloquear eso.

a lo mejor lo puedes comentar tú y se puede optimizar el código
Que fácil es criticar, exponiendo los errores de los demás, sin aportar nada.

Responder
#11
tan fácil como chequear que atacante y víctima no sean los mismos
Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
        if (
victima != agresor /*No creo que haga falta chequear si es jugador... que pasa si se envía un client_print a una entidad que no es jugador? // && is_user_connected(agresor)*/)
            
client_print(agresorprint_center"Vida víctima %d"get_user_health(victima))

(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
#12
(07/01/2014, 12:15 PM)RauliTop escribió: tan fácil como chequear que atacante y víctima no sean los mismos
Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
    
RegisterHam(Ham_TakeDamage"player""recibir_danio")

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
        if (
victima != agresor /*No creo que haga falta chequear si es jugador... que pasa si se envía un client_print a una entidad que no es jugador? // && is_user_connected(agresor)*/)
            
client_print(agresorprint_center"Vida víctima %d"get_user_health(victima))


perfecto, muchas gracias Sonrisa
Que fácil es criticar, exponiendo los errores de los demás, sin aportar nada.

Responder
#13
Si quieres mostrar el mensaje al "agresor", entonces debes comprobar que esté conectado. Además, Ham_TakeDamage debe estar en Post.
Hi [R]ak CrabCrab
Responder
#14
(07/01/2014, 01:24 PM)Milashkasiya escribió: Si quieres mostrar el mensaje al "agresor", entonces debes comprobar que esté conectado. Además, Ham_TakeDamage debe estar en Post.

el agresor, si es un jugador, siempre estará conectado.
el problema viene cuando el agresor es, por ejemplo, una entidad que explota, por eso puse: "que pasará si se envía un client_print a algo que no es un jugador?
creo que directamente lo ignora y no manda log ni nada...
pero para estar seguros, alguien puede postear el client_print del sdk?

sí, mejor en post por si utilizan algún plugin que cambia el daño.
(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
(07/01/2014, 03:24 PM)RauliTop escribió:
(07/01/2014, 01:24 PM)Milashkasiya escribió: Si quieres mostrar el mensaje al "agresor", entonces debes comprobar que esté conectado. Además, Ham_TakeDamage debe estar en Post.

el agresor, si es un jugador, siempre estará conectado.
el problema viene cuando el agresor es, por ejemplo, una entidad que explota, por eso puse: "que pasará si se envía un client_print a algo que no es un jugador?
creo que directamente lo ignora y no manda log ni nada...
pero para estar seguros, alguien puede postear el client_print del sdk?

sí, mejor en post por si utilizan algún plugin que cambia el daño.
Sí, no muestra errores cuando el player esta desconectado, pero eso sólo ocurre en algunas natives como client_print. En este caso es suficiente usar (0 < id <= maxplayers), aunque yo usuaría is_user_connected directamente.
Hi [R]ak CrabCrab
Responder
#16
Te lanzo una granadas y antes de q exploté me desconecto..
Hi Milashkasiya CrabCrab

Soy un #Panda.. Soy solo un tipo que parece #común pero soy todo lo contrario; alguien #atípico en esta sociedad actual

[Imagen: xl0jvd-5.png]
Link
Responder
#17
me acabo de mirar el client_print del amxmodx.cpp

(07/01/2014, 04:24 PM)Milashkasiya escribió: Sí, no muestra errores cuando el player esta desconectado, pero eso sólo ocurre en algunas natives como client_print. En este caso es suficiente usar (0 < id <= maxplayers), aunque yo usuaría is_user_connected directamente.

Es necesario chequear que sea un jugador porque sino enviará Invalid player id

Con detectar sea jugador (del 1 al 32) sobra, no haría falta is_user_connected.

(08/01/2014, 10:28 AM)[R]ak escribió: Te lanzo una granadas y antes de q exploté me desconecto..

El client_print chequea antes de enviar el mensaje si el jugador, en este caso sería el que tira la granada, está jugando, así que no pasaría nada.

Ahí está completo y bien, no me digan que cambie 32 por maxplayers, casi todos los servidores tienen 32 jugadores y sino, da igual Crab
Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
    
RegisterHam(Ham_TakeDamage"player""recibir_danio"1)

public 
recibir_danio(victimainflictoragresorFloat:flDamageiDamageBits)
{
        if (
victima != agresor && agresor <= 32)
            
client_print(agresorprint_center"Vida víctima %d"get_user_health(victima))

(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
#18
Listo, solucionado gracias
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)