PHP Code:
// Zombie Class Menu
public show_menu_zclass(id)
{
// Player disconnected
if (!is_user_connected(id))
return;
// Bots pick their zombie class randomly
if (is_user_bot(id))
{
g_zombieclassnext[id] = random_num(0, g_zclass_i - 1)
return;
}
static menu[400], len, class
len = 0
// Title
len += formatex(menu[len], sizeof menu - 1 - len, "y%L r[%d-%d]^n^n", id, "MENU_ZCLASS_TITLE", ZCLASSES_STARTID+1, min(ZCLASSES_STARTID+7, g_zclass_i))
// 1-7. Class List
for (class = ZCLASSES_STARTID; class < min(ZCLASSES_STARTID+7, g_zclass_i); class++)
{
if (g_level(id) >= g_zclass_lvl[class])
{
if (class == g_zombieclassnext[id])
len += formatex(menu[len], sizeof menu - 1 - len, "d%d. %s %s^n", class-ZCLASSES_STARTID+1, g_zclass_name[class], g_zclass_info[class])
else
len += formatex(menu[len], sizeof menu - 1 - len, "r%d.w %sy %s^n", class-ZCLASSES_STARTID+1, g_zclass_name[class], g_zclass_info[class])
}
else
len += formatex(menu[len], sizeof menu - 1 - len, "r%d.d %s %s r(Nivel Requerido: %d)^n", class-ZCLASSES_STARTID+1, g_zclass_name[class], g_zclass_info[class], g_zclass_lvl[class])
}
// 8. Back - 9. Next - 0. Exit
len += formatex(menu[len], sizeof menu - 1 - len, "^nr8.w %L^nr9.w %L^n^nr0.w %L", id, "MENU_BACK", id, "MENU_NEXT", id, "MENU_EXIT")
show_menu(id, KEYSMENU, menu, -1, "Zombie Class Menu")
}
// Zombie Class Menu
public menu_zclass(id, key)
{
// Special keys / items list exceeded
if (key >= MENU_KEY_BACK || ZCLASSES_SELECTION >= g_zclass_i)
{
switch (key)
{
case MENU_KEY_BACK: // back
{
if (ZCLASSES_STARTID-7 >= 0) ZCLASSES_STARTID -= 7
}
case MENU_KEY_NEXT: // next
{
if (ZCLASSES_STARTID+7 < g_zclass_i) ZCLASSES_STARTID += 7
}
case MENU_KEY_EXIT: // exit
{
return PLUGIN_HANDLED;
}
}
// Show extra items menu again
show_menu_zclass(id)
return PLUGIN_HANDLED;
}
if (g_level(id) >= g_zclass_lvl[ZCLASSES_SELECTION])
{
// Store selection for the next infection
g_zombieclassnext[id] = ZCLASSES_SELECTION;
// Show selected zombie class info and stats
zp_colored_print(id, "^x04[ZP]^x01 %L: %s", id, "ZOMBIE_SELECT", g_zclass_name[g_zombieclassnext[id]])
zp_colored_print(id, "^x04[ZP]^x01 %L: %d %L: %d %L: %d %L: %d%%", id, "ZOMBIE_ATTRIB1", g_zclass_hp[g_zombieclassnext[id]], id, "ZOMBIE_ATTRIB2", g_zclass_spd[g_zombieclassnext[id]],
id, "ZOMBIE_ATTRIB3", floatround(g_zclass_grav[g_zombieclassnext[id]]*800), id, "ZOMBIE_ATTRIB4", floatround(g_zclass_kb[g_zombieclassnext[id]]*100))
}
else
{
zp_colored_print(id, "^x04[ZP]^x01 No tenes Nivel suficiente para elegir esta Clase de Zombie. [Nivel Requerido: %d]", g_zclass_lvl[ZCLASSES_SELECTION])
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}