Mensajes: 299
Temas: 44
Registro en: Aug 2016
Reputación:
2
Hola buenas necesito un hud permanente que muestre tus datos y los datos del jugador a quien especteas ejemplo
Nombre : %s
Vida : %d
Armadura : %d
cuando espectees a alguien muestre
Viendo a : %s // Muestre el nombre de la persona a quien vea
Vida : %d // vida de la persona que este viendo
Armadura : %d // Armadura de la persona que este viendo
porfa ojala me ayuden ya que vi algunos por internet pero me tiran logs
Mensajes: 33
Temas: 0
Registro en: Jun 2019
Reputación:
2
14/07/2019, 07:30 PM
(Última modificación: 14/07/2019, 07:32 PM por INTIFADA. Edited 5 times in total.)
Tomá, testealo si anda porque no lo probé.
Está para la versión 1.9, si tenes una más vieja, cambia el %n por %s y obtene el nombre del jugador, o lo guardas cuando se conecta al servidor.
Código PHP: // Variables globales const Float:DELAY = 1.0; new const THINK_CLASSNAME[] = "entThinkHud"; new g_HudSync_General;
// En tu plugin precache() public plugin_precache() { g_HudSync_General = CreateHudSyncObj();
new iEnt; iEnt = create_entity("info_target");
if(is_valid_ent(iEnt)) { entity_set_string(iEnt, EV_SZ_classname, THINK_CLASSNAME); entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + HUD_DELAY); register_think(THINK_CLASSNAME, "thinkGeneral"); } }
// Agregar la funcion public thinkGeneral(const iEnt) { if(!is_valid_ent(iEnt)) return;
static iSpectId;
for(i = 1; i <= g_MaxClients; ++i) { if(!is_user_connected(i)) continue;
set_hudmessage(0, 255, 0, -1.0, 0.0, 0, 1.0, 1.5, 0.1, 0.1, 1);
if(is_user_alive(i)) ShowSyncHudMsg(i, g_HudSync_General, "Nombre: %n^nVida: %d^nArmadura: %d", i, get_user_health(i), get_user_armor(i)); else { iSpectId = entity_get_int(i, EV_INT_iuser2);
if(is_user_alive(iSpectId)) ShowSyncHudMsg(i, g_HudSync_General, "Viendo a: %n^nVida: %d^nArmadura: %d", iSpectId, get_user_health(iSpectId), get_user_armor(iSpectId)); } }
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + HUD_DELAY); }
Mensajes: 1,867
Temas: 57
Registro en: Oct 2014
Reputación:
16
No te va a saltar el nombre ni tuyo ni del que estas viendo ya que pones el index en vez de captar el nombre
Mensajes: 299
Temas: 44
Registro en: Aug 2016
Reputación:
2
Gracias @Intifada pero no me funcionaba:/, pero encontre uno de kikizon2 y me anduvo pero me gustaria saber como hago para que aparesca el hud al espectear:/ ?
Código PHP: #include amxmisc #include fakemeta
#define TASK_HUD 2000
new g_hud; new g_variable[33];
public plugin_init() { register_plugin("HUDSITO", "SIN", "NADA QUE HACER"); register_clcmd("say /comando", "comando"); g_hud = CreateHudSyncObj(); }
public client_putinserver(id) { g_variable[id] = true; set_task(1.0, "ShowHUD", id+TASK_HUD, _, _, "b"); }
public client_disconnect(id) remove_task(id+TASK_HUD);
public comando(id) { if(g_variable[id]) { g_variable[id] = false client_print(id, print_center, "hud desactivado"); } else { g_variable[id] = true client_print(id, print_center, "hud activado"); } }
public ShowHUD(taskid) { new id = taskid-TASK_HUD if (!is_user_alive(id)) { id = pev(id, pev_iuser2) if (!is_user_alive(id)) return; } if(g_variable[id]) { set_hudmessage(0, 255, 0, 0.39, 0.8, 0, 6.0, 1.0) ShowSyncHudMsg(id, g_hud, "Oie zi, k riko"); } }
Mensajes: 33
Temas: 0
Registro en: Jun 2019
Reputación:
2
¿Qué es lo que no te anda? En mi opinión, veo más eficiente hacer un hud permanente mediante una entidad que hacerlo con un task.
De todas maneras me gustaría que muestres los logs asi te puedo ayudar a que uses el que te pasé, para no usar tasks.
(14/07/2019, 08:13 PM)matrix123 escribió: No te va a saltar el nombre ni tuyo ni del que estas viendo ya que pones el index en vez de captar el nombre
La versión 1.9 del AMXx te brinda la posiblidad de usar "%n", y con solo pasar el index del jugador te printea el nombre del jugador sin necesidad de obtenerlo mediante métodos.
Click me
Mensajes: 299
Temas: 44
Registro en: Aug 2016
Reputación:
2
(14/07/2019, 11:39 PM)INTIFADA escribió: ¿Qué es lo que no te anda? En mi opinión, veo más eficiente hacer un hud permanente mediante una entidad que hacerlo con un task.
De todas maneras me gustaría que muestres los logs asi te puedo ayudar a que uses el que te pasé, para no usar tasks.
No me aparecia el hud, aparte no arrojaba logs ni en modo debug.
pd : ayudame con el codigo que deje arriba porfa
Mensajes: 123
Temas: 16
Registro en: May 2019
Reputación:
2
agrega :
Código PHP: #define ID_HUD (taskid - TASK_HUD)
en tu ShowHUD(taskid) borra el que tienes y agrega esto
Código PHP: public ShowHUD(taskid) { new id = ID_HUD if (!is_user_alive(id)) { id = pev(id, pev_iuser2) if (!is_user_alive(id)) return; } if(id != ID_HUD) { set_hudmessage(0, 255, 0, 0.39, 0.8, 0, 6.0, 1.0) ShowSyncHudMsg(ID_HUD, g_hud, "Hud que muestra las estadisticas de la persona que vez"); } else { set_hudmessage(0, 255, 0, 0.39, 0.8, 0, 6.0, 1.0) ShowSyncHudMsg(ID_HUD, g_hud, "Hud que muestras las estadisticas tuya"); } }
Mensajes: 299
Temas: 44
Registro en: Aug 2016
Reputación:
2
|