WoLsTrEaM-CoMuNiTy
  [ZP]Modificar Color hud+agregado al menu+cases para elegir varios
 
Hola Gente les vengo a explicar internamente como cambiar el color del hud, agregarlo al menu principal del zombie plague y como hacer para elegir varios tipos de colores
Autor del tuto: kiske, edicion stick.Con respecto a color en naightvision yo solo lo adapte al hud y lo agregue al menu principal
aprendizaje necesario: sobre programacion en general, sin embargo yo explicare que es lo necesario sin hacer copy paste

Procedemos:

Quote:

Pasos a seguir: 
* Creacion de variables para utilizar 
* Eliminacion de lo necesario para el hud default 
* Agregado al hud 
* Creacion del menu del hud 
* Agregado al menu principal 

* Primer paso: Creacion de variables para utilizar. 
new rojo[33],verde[33],azul[33] // aca se definen las variables a utilizar para el hud que son RGB (red, green, blue), el new es la variable q las crea, aclaracion: se puede utilizar cualquier otro nombre pero en el transcurso de los pasos deberas usar los mismos nombres. 

// se busca el siguiente public: 
public client_putinserver(id) // este public es para cuando un jugador entra al servidor 
// en cualquier parte de este public, tener cuidado de no estar en parte de otro code como en una condicion (if) se agrega lo siguiente. 
rojo[id] = 255 
verde[id] = 0 
azul[id] = 255 
// aqui se determina el color 255 es el maximo grado de opacidad, en este caso al entrar el jugador tendra por defoult el color violeta como hud 

PASO 2: eliminacion de lo necesario para el hud default. 
// buscar en el public 
public ShowHUD // Dependiendo de la version del zp (si es 4.2 guiense buscando // format the classname, si es 4.3 buscando // format classname) 
// borran: 
, red, green, blue // para que no utilize mas estas variables y salga 1 error 
// ademas borran lo siguiente del if de los zombies y el else de los humanos ( no es q lo determine como una condicion sino es que, si no es zombie se lo considera humano) 
red = 250 
green = 250 
blue = 10 
// de los zombies 
red = 0 
green = 180 
blue = 255 
// de los humanos 

// luego se busca lo siguiente: 
// Show health, class and ammo packs 

// modifican: 

// Show health, class and ammo packs 
set_hudmessage(red, green, blue, HUD_STATS_X, HUD_STATS_Y, 0, 6.0, 1.1, 0.0, 0.0, -1) 
ShowSyncHudMsg(ID_SHOWHUD, g_MsgSync2, "%L: %d - %L %s - %L %d", id, "ZOMBIE_ATTRIB1", pev(ID_SHOWHUD, pev_health), ID_SHOWHUD, "CLASS_CLASS", class, ID_SHOWHUD, "AMMO_PACKS1", g_ammopacks[ID_SHOWHUD]) 

// por lo siguiente: 

// Show health, class and ammo packs 
set_hudmessage(rojo[id], verde[id], azul[id], HUD_STATS_X, HUD_STATS_Y, 0, 6.0, 1.1, 0.0, 0.0, -1) 
ShowSyncHudMsg(ID_SHOWHUD, g_MsgSync2, "%L: %d - %L %s - %L %d", id, "ZOMBIE_ATTRIB1", pev(ID_SHOWHUD, pev_health), ID_SHOWHUD, "CLASS_CLASS", class, ID_SHOWHUD, "AMMO_PACKS1", g_ammopacks[ID_SHOWHUD]) 

// se daran cuenta q se modifico el principio, en vez de utilizar lo defoult para el hud se modifico por las variables nuestras para determinar los colores basados en RGB ( aclaracion: si el hud de ustedes es distinto solo necesitan modificar el principio osea, reed, green, blue ) 

// ya falta poco tranquilos jeje :rolleyes:. AHORA EL PASO 3: la creacion del menu del hud 
// buscan en el public, plugin_init() 
register_menu // cualquiera sea y ponen abajo de estas o incluso si no te interesa el orden puedes ponerlo en cualquier lado de este public. 
// ponemos el siguiente register_menu: 
register_menu("MenuColorHud", KEYSMENU, "menu_colorhud") 
// luego. Ir abajo de todo el plugin o al final de un public. Colocando lo siguiente: 
public show_menu_colorhud(id) // se publica el menu q mostrara las opciones para elegir tu hud 

new menu = menu_create("yElige tu Color de Hud", "menu_colorhud") // se crea un nuevo menu, el cual dira en amarillo Elige tu Color de Hud y que se base en el menu_colorhud hecho mas abajo 
menu_additem(menu, "Blanco", "1", 0) // se agrega una opcion donde dira blanco 
menu_additem(menu, "Rojo", "2", 0) 
menu_additem(menu, "Verde", "3", 0) 
menu_additem(menu, "Azul", "4", 0) 
menu_additem(menu, "violeta", "5", 0) 

menu_setprop(menu, MPROP_EXITNAME, "Salir") // se agrega la opcion salir 
menu_display(id, menu, 0) 


public menu_colorhud(id, menu, item) // se publica el menu internamente osea los cases q se utilizaran para las opciones 

if(item == MENU_EXIT) 

menu_destroy(menu) 
return PLUGIN_HANDLED 
} // esta condicion representa que si se presiona la opcion salir se destruye el menu 

new data[6], iName[64], access, callback 
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback) 
// se registra lo necesario para el menu del hud 

switch(str_to_num(data)) 

case 1: 

rojo[id] = 255 
verde[id] = 255 
azul[id] = 255 
show_menu_colorhud(id) // para que se exprese lo del show_menu_colorhud 

// aca se determina el primer caso que seria el color blanco 

case 2: 

rojo[id] = 255 
verde[id] = 0 
azul[id] = 0 
show_menu_colorhud(id) 

// se determina el color rojo 
case 3: 

rojo[id] = 0 
verde[id] = 255 
azul[id] = 0 
show_menu_colorhud(id) 

// se determina el color verde 
case 4: 

rojo[id] = 0 
verde[id] = 0 
azul[id] = 255 
show_menu_colorhud(id) 

// se determina el color azul 
case 5: 

rojo[id] = 255 
verde[id] = 0 
azul[id] = 255 
show_menu_colorhud(id) 

// aca les mostrare como agregar otro color mezclando el color rojo puro osea a full opacidad y el azul puro a full opacidad formando el violeta, ustedes pueden agregar mas colores modificando los numeros definidos en las variables nuevas y creando otro case como este que es el 5 y agregando una opcion mas en el show_menu_colorhud 


menu_destroy(menu) 
return PLUGIN_HANDLED // en estos codes se destruye el menu y se retoma al plugin 


// bueno el menu ya esta hecho ahora hay q agregarlo al menu principal. PASAMOS AL PASO 4: la agregacion del menu del hud al menu principal. 

// buscamos lo siguiente: 

show_menu_game(id) 

// hay agregamos abajo de: 
// 7. Join spec 
if (!g_isalive[id] || !get_pcvar_num(cvar_blocksuicide) || (userflags & g_access_flag[ACCESS_ADMIN_MENU])) 
len += formatex(menu[len], charsmax(menu) - len, "r7.w %L^n^n", id, "MENU_SPECTATOR") 
else 
len += formatex(menu[len], charsmax(menu) - len, "d7. %L^n^n", id, "MENU_SPECTATOR") 

// lo siguiente: 
// 8. Color de Hud 
len += formatex(menu[len], charsmax(menu) - len, "r8.w %L^n^n", id, "MENU_COLORHUD") 
// aca se registra que el menu_colorhud sea la octava opcion 

// ahora vamos a: 
case 6: // Join Spectator 

// Player alive? 
if (g_isalive[id]) 

// Prevent abuse by non-admins if block suicide setting is enabled 
if (get_pcvar_num(cvar_blocksuicide) && !(get_user_flags(id) & g_access_flag[ACCESS_ADMIN_MENU])) 

zp_colored_print(id, "^x04[ZP]^x01 %L", id, "CMD_NOT") 
return PLUGIN_HANDLED; 


// Check that we still have both humans and zombies to keep the round going 
check_round(id) 

// Kill him before he switches team 
dllfunc(DLLFunc_ClientKill, id) 


// Temporarily save player stats? 
if (get_pcvar_num(cvar_statssave)) save_stats(id) 

// Remove previous tasks 
remove_task(id+TASK_TEAM) 
remove_task(id+TASK_MODEL) 
remove_task(id+TASK_FLASH) 
remove_task(id+TASK_CHARGE) 
remove_task(id+TASK_SPAWN) 
remove_task(id+TASK_BLOOD) 
remove_task(id+TASK_AURA) 
remove_task(id+TASK_BURN) 

// Then move him to the spectator team 
fm_cs_set_user_team(id, FM_CS_TEAM_SPECTATOR) 
fm_user_team_update(id) 


// y abajo de esto colocamos, lo siguiente: 
case 5: // Hud Menu 

show_menu_colorhud(id) 



Creditos: stick

Gracias por haber atendido si encuentran un error o si tienen alguna duda consulten con migo en este foro o consulten a mi msn: mauro_andres_lp@hotmail.com
 
 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis