TRADUCCIÓN DE ESTE POST DE SAMURAI16
http://forums.alliedmods.net/showthread.php?t=52529
En este tutorial voy a explicar/mostrar cosas sobre el icono de estado
El icono de estado es un icono hud puesto en la pantalla del jugador y es usado en ocasiones para indicar el estado del jugador.
Podemos usar como ejemplo para mostrar cuando un usuario se esta quemando, o congelado (ejemplos del zp, muy claro xD)
Para mostrar al jugador un icono hud, el icono se debe de crear en un mensaje constante.
Empezemos:
• Antes de nada, vamos a declarar una vvariable para get_user_msgid. La variable se llamara iconstatus.
• En el plugin_init, asignamos el get_user_msgid a la variable:
PHP Code:
iconstatus = get_user_msgid("StatusIcon")
• Como ya dije antes, tenemos que mostrar el icon ode estado con un mensaje constante.
Empezemos con:
PHP Code:
message_begin(MSG_ONE, iconstatus, {0, 0, 0}, id)
• Despues, tenemos que escribir un byte, dependiendo de como lo queramos mostrar.
Hay 3 formas para mostrarlo
0 = Oculto
1 = Normal
2 = Con un parpadeo
Asi que pondremos:
PHP Code:
write_byte(1)
// Esto significa que mostraremos el icono de manera normal
Hay 88 iconos de estado.
Unos ejemplos de iconos:
dmg_heat
[IMG]http://img178.**************/img178/4803/dmgheatnd4.jpg[/IMG]
d_awp
Y, un ejemplo completo. Un plugin que muestra un icono cuando estas en el aire.
PHP Code:
#include <amxmodx>
#include <fakemeta>
new iconstatus;
public plugin_init() {
register_plugin("Status Icon","0.1","SAMURAI");
register_forward(FM_PlayerPreThink,"fw_prethink");
iconstatus = get_user_msgid("StatusIcon");
}
public fw_prethink(id)
{
if(!(pev(id,pev_button) & FL_ONGROUND))
{
message_begin(MSG_ONE,iconstatus,{0,0,0},id);
write_byte(1); // status (0=hide, 1=show, 2=flash)
write_string("dmg_poison"); // nombre del sprite
write_byte(0); // red
write_byte(255); // green
write_byte(0); // blue
message_end();
}
}
Y, aqui una lista con todos los iconos de estado
Code:
selection
bucket1
bucket2
bucket3
bucket4
bucket5
bucket0
dmg_bio
dmg_poison
dmg_chem
dmg_cold
dmg_drown
dmg_heat
dmg_gas
dmg_rad
dmg_shock
number_0
number_1
number_2
number_3
number_4
number_5
number_6
number_7
number_8
number_9
divider
cross
dollar
minus
plus
c4
defuser
stopwatch
smallskull
smallc4
smallvip
buyzone
rescue
escape
vipsafety
suit_full
suit_empty
suithelmet_full
suithelmet_empty
flash_full
flash_empty
flash_beam
train_back
train_stop
train_forward1
train_forward2
train_forward3
autoaim_c
title_half
title_life
d_knife
d_ak47
d_awp
d_deagle
d_flashbang
d_fiveseven
d_g3sg1
d_glock18
d_grenade
d_m249
d_m3
d_m4a1
d_mp5navy
d_p228
d_p90
d_scout
d_sg550
d_sg552
d_ump45
d_usp
d_tmp
d_xm1014
d_skull
d_tracktrain
d_aug
d_mac10
d_elite
d_headshot
item_battery
item_healthkit
item_longjump
radar
Saludos,
Javivi.
PD:
Ej de un plugin que utiliza esto:
http://forums.alliedmods.net/showthread.php?t=69664
(Concretamente usa los d_ de las armas)
__________________