Cacheo de vida y chaleco
#1
Quiero cachear la vida y el chaleco para no estar obteniéndola a cada ratito para el hud.

Código:
register_event("ResetHUD", "event_reset_hud", "be");

register_message(get_user_msgid("Health"), "message_health");

Lo cacheo con esas funciones, está bien como lo hice? Cuanto tarda entre que le saca/dan vida a un jugador y es llamado message_health?
Lo que todavía no se es como cachear el chaleco cuando se lo modifican
Responder
#2
Código PHP:
#include <amxmodx>



new g_iArmor[33], g_iHealth[33]



public 
plugin_init()

{

    
register_event("Battery""EventBattery""b")

    
register_event("Health""EventHealth""b")

}



public 
EventBattery(id)

{

    
g_iArmor[id] = read_data(1)

}



public 
EventHealth(id)

{

    
g_iHealth[id] = read_data(1)





https://wiki.alliedmods.net/Half-Life_1_Game_Events

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#3
ya pensé hacer esto hace tiempo, pero realmente 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
#4
(19/11/2013, 08:01 PM)RauliTop escribió: ya pensé hacer esto hace tiempo, pero realmente merece la pena?



Para un hud, si

Para zombie mod, es muy poca la diferencia pero mayormente debe ser más optimizado cacheando

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#5
Se supone que le hace update al hud de la vida solo soporta 255 el hud.
[Imagen: 76561197999970868.png]
Responder
#6
(19/11/2013, 08:57 PM)alan_el_more escribió:
(19/11/2013, 08:01 PM)RauliTop escribió: ya pensé hacer esto hace tiempo, pero realmente merece la pena?



Para un hud, si

Para zombie mod, es muy poca la diferencia pero mayormente debe ser más optimizado cacheando

vale Crab

(20/11/2013, 12:51 AM)LA BANDA escribió: Se supone que le hace update al hud de la vida solo soporta 255 el hud.

solo puede mostrar 255, pero el valor puede ser mayor, testea y verás
(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
#7
El hud no puede mostrar más de 255, pero la vida puede tener un mayor valor.

Si no, por ejemplo, get_user_health() no serviría

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#8
Es para el showhud, es mucho mejor cachearlo que andar llamando get_user_health y get_user_armor 32(32 slots) veces cada 1 segundo.

Al final use así:

Código:
register_message(get_user_msgid("Health"), "message_health");
register_message(get_user_msgid("Battery"), "message_armor");

public message_health(iMessageID, iMessageDest, iMessageEntity)
{
       g_iPlayerHleath[iMessageEntity] = get_msg_arg_int(1);
}

public message_armor(iMessageID, iMessageDest, iMessageEntity)
{
       g_iPlayerArmor[iMessageEntity] = get_msg_arg_int(1);
}

Use register_message porqué lo llama antes que register_event.

Cuando comienza la ronda (el primer spawn) no llama a message_health, así que obtengo la vida en el task_hidemoney. Después cuando lo matan y respawnea si llama a message_health, primero con el valor de 1 de HP(sigue estando muerto) y después lo llama de vuelta con el valor de 100, cuando revive.

message_armor si se llama la primera vez, así que no hace falta cachearlo en otro lado.
Responder
#9
register_event: Usado para leer los datos del evento (En tu caso)

register_message: Usado para modificar los datos del evento o bloquearlo

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#10
A lo que me refiero que no se puede cachear en una variable la vida si esta es mayor a 255.
[Imagen: 76561197999970868.png]
Responder
#11
(20/11/2013, 03:07 PM)LA BANDA escribió: A lo que me refiero que no se puede cachear en una variable la vida si esta es mayor a 255.



ese evento o mensaje te devuelve la vida exacta aunque sea mayor a 255, es el HUD de vida del cs el que no te puede mostrar más, pero eso no significa que ese evento o mensaje no te puedan devolver valores mayores a 255, testea y verás.
(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
si se puede la banda Sonrisa
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#13
Cita:L 11/20/2013 - 23:22:07: [test_health.amxx] 1

L 11/20/2013 - 23:22:11: [test_health.amxx] 89

L 11/20/2013 - 23:22:11: [test_health.amxx] 98

L 11/20/2013 - 23:22:11: [test_health.amxx] 90

L 11/20/2013 - 23:22:11: [test_health.amxx] 88

L 11/20/2013 - 23:22:11: [test_health.amxx] 74

L 11/20/2013 - 23:22:12: [test_health.amxx] 1

L 11/20/2013 - 23:22:12: [test_health.amxx] 36

L 11/20/2013 - 23:22:14: [test_health.amxx] 77

L 11/20/2013 - 23:22:14: [test_health.amxx] 96

L 11/20/2013 - 23:22:14: [test_health.amxx] 255

L 11/20/2013 - 23:22:14: [test_health.amxx] 255


L 11/20/2013 - 23:22:14: [test_health.amxx] 65

L 11/20/2013 - 23:22:14: [test_health.amxx] 94

L 11/20/2013 - 23:22:14: [test_health.amxx] 255

L 11/20/2013 - 23:22:15: [test_health.amxx] 53

L 11/20/2013 - 23:22:15: [test_health.amxx] 92

L 11/20/2013 - 23:22:15: [test_health.amxx] 255

L 11/20/2013 - 23:22:15: [test_health.amxx] 41

L 11/20/2013 - 23:22:15: [test_health.amxx] 90

L 11/20/2013 - 23:22:15: [test_health.amxx] 76

L 11/20/2013 - 23:22:15: [test_health.amxx] 97

L 11/20/2013 - 23:22:15: [test_health.amxx] 255

L 11/20/2013 - 23:22:15: [test_health.amxx] 255

L 11/20/2013 - 23:22:18: [test_health.amxx] 255

L 11/20/2013 - 23:22:19: [test_health.amxx] 255

L 11/20/2013 - 23:22:19: [test_health.amxx] 255


L 11/20/2013 - 23:22:19: [test_health.amxx] 60

L 11/20/2013 - 23:22:19: [test_health.amxx] 255

L 11/20/2013 - 23:22:20: [test_health.amxx] 255


L 11/20/2013 - 23:22:20: [test_health.amxx] 195

L 11/20/2013 - 23:22:20: [test_health.amxx] 30

L 11/20/2013 - 23:22:20: [test_health.amxx] 47

L 11/20/2013 - 23:22:21: [test_health.amxx] 19

L 11/20/2013 - 23:22:21: [test_health.amxx] 34

L 11/20/2013 - 23:22:21: [test_health.amxx] 8

L 11/20/2013 - 23:22:21: [test_health.amxx] 18

L 11/20/2013 - 23:22:22: [test_health.amxx] 0

L 11/20/2013 - 23:22:26: [test_health.amxx] 1

L 11/20/2013 - 23:22:26: [test_health.amxx] 0

L 11/20/2013 - 23:22:26: [test_health.amxx] 0

L 11/20/2013 - 23:22:28: [test_health.amxx] 91

L 11/20/2013 - 23:22:31: [test_health.amxx] 1

L 11/20/2013 - 23:22:38: [test_health.amxx] 43

L 11/20/2013 - 23:22:42: [test_health.amxx] 19

L 11/20/2013 - 23:22:56: [test_health.amxx] 0

L 11/20/2013 - 23:22:56: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100



Código PHP:
#include <amxmodx>

#include <engine>



new g_iHealth[33]



public 
plugin_init()

{

    
register_event("Health""EventHealth""b")

    
register_clcmd("say /health""fnGiveHealth")

}



public 
fnGiveHealth(id)

{

    
entity_set_float(idEV_FL_health1000.0)

}



public 
EventHealth(id)

{

    
g_iHealth[id] = read_data(1)

    
log_amx("%d"g_iHealth[id])





Testeen...
[Imagen: 76561197999970868.png]
Responder
#14
Entonces reemplaza read_data por get_user_health por ejemplo

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#15
Se estaria llamando get_user_health cada vez que cambie el HUD ?

Entonces para eso serviria repoco ya que se llamaria todas esas veces por segundo... Seria negativo no?
[Imagen: 76561197999970868.png]
Responder
#16
(21/11/2013, 12:20 AM)LA BANDA escribió: Se estaria llamando get_user_health cada vez que cambie el HUD ?



Entonces para eso serviria repoco ya que se llamaria todas esas veces por segundo... Seria negativo no?



Depende de como lo usarias

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#17
con register_message no pasa eso
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#18
(20/11/2013, 11:25 PM)LA BANDA escribió:
Cita:L 11/20/2013 - 23:22:07: [test_health.amxx] 1

L 11/20/2013 - 23:22:11: [test_health.amxx] 89

L 11/20/2013 - 23:22:11: [test_health.amxx] 98

L 11/20/2013 - 23:22:11: [test_health.amxx] 90

L 11/20/2013 - 23:22:11: [test_health.amxx] 88

L 11/20/2013 - 23:22:11: [test_health.amxx] 74

L 11/20/2013 - 23:22:12: [test_health.amxx] 1

L 11/20/2013 - 23:22:12: [test_health.amxx] 36

L 11/20/2013 - 23:22:14: [test_health.amxx] 77

L 11/20/2013 - 23:22:14: [test_health.amxx] 96

L 11/20/2013 - 23:22:14: [test_health.amxx] 255

L 11/20/2013 - 23:22:14: [test_health.amxx] 255


L 11/20/2013 - 23:22:14: [test_health.amxx] 65

L 11/20/2013 - 23:22:14: [test_health.amxx] 94

L 11/20/2013 - 23:22:14: [test_health.amxx] 255

L 11/20/2013 - 23:22:15: [test_health.amxx] 53

L 11/20/2013 - 23:22:15: [test_health.amxx] 92

L 11/20/2013 - 23:22:15: [test_health.amxx] 255

L 11/20/2013 - 23:22:15: [test_health.amxx] 41

L 11/20/2013 - 23:22:15: [test_health.amxx] 90

L 11/20/2013 - 23:22:15: [test_health.amxx] 76

L 11/20/2013 - 23:22:15: [test_health.amxx] 97

L 11/20/2013 - 23:22:15: [test_health.amxx] 255

L 11/20/2013 - 23:22:15: [test_health.amxx] 255

L 11/20/2013 - 23:22:18: [test_health.amxx] 255

L 11/20/2013 - 23:22:19: [test_health.amxx] 255

L 11/20/2013 - 23:22:19: [test_health.amxx] 255


L 11/20/2013 - 23:22:19: [test_health.amxx] 60

L 11/20/2013 - 23:22:19: [test_health.amxx] 255

L 11/20/2013 - 23:22:20: [test_health.amxx] 255


L 11/20/2013 - 23:22:20: [test_health.amxx] 195

L 11/20/2013 - 23:22:20: [test_health.amxx] 30

L 11/20/2013 - 23:22:20: [test_health.amxx] 47

L 11/20/2013 - 23:22:21: [test_health.amxx] 19

L 11/20/2013 - 23:22:21: [test_health.amxx] 34

L 11/20/2013 - 23:22:21: [test_health.amxx] 8

L 11/20/2013 - 23:22:21: [test_health.amxx] 18

L 11/20/2013 - 23:22:22: [test_health.amxx] 0

L 11/20/2013 - 23:22:26: [test_health.amxx] 1

L 11/20/2013 - 23:22:26: [test_health.amxx] 0

L 11/20/2013 - 23:22:26: [test_health.amxx] 0

L 11/20/2013 - 23:22:28: [test_health.amxx] 91

L 11/20/2013 - 23:22:31: [test_health.amxx] 1

L 11/20/2013 - 23:22:38: [test_health.amxx] 43

L 11/20/2013 - 23:22:42: [test_health.amxx] 19

L 11/20/2013 - 23:22:56: [test_health.amxx] 0

L 11/20/2013 - 23:22:56: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100

L 11/20/2013 - 23:23:01: [test_health.amxx] 0

L 11/20/2013 - 23:23:01: [test_health.amxx] 100



Código PHP:
#include <amxmodx>

#include <engine>



new g_iHealth[33]



public 
plugin_init()

{

    
register_event("Health""EventHealth""b")

    
register_clcmd("say /health""fnGiveHealth")

}



public 
fnGiveHealth(id)

{

    
entity_set_float(idEV_FL_health1000.0)

}



public 
EventHealth(id)

{

    
g_iHealth[id] = read_data(1)

    
log_amx("%d"g_iHealth[id])





Testeen...



rectifico, en el evento no, pero en el message sí.



(21/11/2013, 12:01 AM)alan_el_more escribió: Entonces reemplaza read_data por get_user_health por ejemplo



eso sería peor...
(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
#19
(21/11/2013, 12:01 AM)alan_el_more escribió: Entonces reemplaza read_data por get_user_health por ejemplo



eso sería peor...

[/quote]

No creo que sea tanta la diferencia, igual si funciona con register_message, mejor

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#20
No funciona con el message manda siempre el mismo valor del hud. Testeen antes de afirmar.
[Imagen: 76561197999970868.png]
Responder
#21
(21/11/2013, 04:53 PM)LA BANDA escribió: No funciona con el message manda siempre el mismo valor del hud. Testeen antes de afirmar.



no lo testeé, pero si fuera cierto lo que dices el bugfix del ZP no debería funcionar o no haría falta tenerlo.



postea el plugin con el que testeaste y el output, cuando esté en pc lo pruebo yo también, que me dejaste con la duda.
(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
#22
Lo testie solo...



Yo solo estoy aclarando que la variable llegara siempre a 255, nose si se podria hookear con orpheu el hud, aunque no creo.



El plugin se prueba solo.
[Imagen: 76561197999970868.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)