Mensajes: 54
Temas: 15
Registro en: Oct 2013
Reputación:
0
19/11/2013, 09:51 AM
(Última modificación: 19/11/2013, 10:01 AM por Goonzah.)
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
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
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.
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
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.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
(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.
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
Se supone que le hace update al hud de la vida solo soporta 255 el hud.
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(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
(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.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
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.
Mensajes: 54
Temas: 15
Registro en: Oct 2013
Reputación:
0
20/11/2013, 10:28 AM
(Última modificación: 20/11/2013, 10:46 AM por Goonzah.)
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.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
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.
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
A lo que me refiero que no se puede cachear en una variable la vida si esta es mayor a 255.
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(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.
Mensajes: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
si se puede la banda
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.
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
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(id, EV_FL_health, 1000.0)
}
public EventHealth(id)
{
g_iHealth[id] = read_data(1)
log_amx("%d", g_iHealth[id])
}
Testeen...
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
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.
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
21/11/2013, 12:20 AM
(Última modificación: 21/11/2013, 12:21 AM por LA BANDA.)
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?
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
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.
Mensajes: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
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.
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(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(id, EV_FL_health, 1000.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.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
(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.
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
21/11/2013, 04:53 PM
(Última modificación: 21/11/2013, 04:59 PM por LA BANDA.)
No funciona con el message manda siempre el mismo valor del hud. Testeen antes de afirmar.
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
(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.
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
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.
|