Главная » Статьи » Zombie Plague |
Добавление зомби класса для VIP (способ SISA)
// Zombie Class Menu public menu_zclass(id, menuid, item) Можете оттуда смело все удалить, кроме: if (item == MENU_EXIT) menu_destroy(menuid) return PLUGIN_HANDLED; Так как вы можете вставить все, что находится ниже. 2) Для начала нужно сделать так, чтобы когда игрок без флага(флагов) ВИП не мог выбрать Зомби класс для ВИП: if (item == 6) // какой по счету в списке зомби класс для ВИП [color=red]if (!(get_user_flags(id) & ADMIN_LEVEL_H)) zp_colored_print(id, "^x04[Zombie CSO]^x01 %L", id, "ZCLASS_VIP") /*Выводится сообщение что этот класс только для ВИП*/ g_zombieclassnext[id] = 0 //Класс зомби не выбирается, а остается тем же какой был раньше Для начинающих item == 6: цифра 6 не означает, что ВИП класс находится шестым по списку, он находится в списке седьмым. 3) Если игрок не выбирал класса зомби для ВИП и он сам не является ВИПом, то выполняются следудующие действия: if ((item != 6) & !(get_user_flags(id) & ADMIN_LEVEL_H)) // Retrieve zombie class id static buffer[2], dummy, classid menu_item_getinfo(menuid, item, dummy, buffer, charsmax(buffer), _, _, dummy) classid = buffer[0] // Store selection for the next infection g_zombieclassnext[id] = classid static name[32] ArrayGetString(g_zclass_name, g_zombieclassnext[id], name, charsmax(name)) // Show selected zombie class info and stats zp_colored_print(id, "^x04[Zombie CSO]^x01 %L: %s", id, "ZOMBIE_SELECT", name) zp_colored_print(id, "^x04[Zombie CSO]^x01 %L: %d %L: %d %L: %d %L: %d%%", id, "ZOMBIE_ATTRIB1", ArrayGetCell(g_zclass_hp, g_zombieclassnext[id]), id, "ZOMBIE_ATTRIB2", ArrayGetCell(g_zclass_spd, g_zombieclassnext[id]), id, "ZOMBIE_ATTRIB3", floatround(Float:ArrayGetCell(g_zclass_grav, g_zombieclassnext[id]) * 800.0), id, "ZOMBIE_ATTRIB4", floatround(Float:ArrayGetCell(g_zclass_kb, g_zombieclassnext[id]) * 100.0)) 4) Если ВИП выбрал любой класс зомби, то должно выполнится следующее: if (get_user_flags(id) & ADMIN_LEVEL_H) // Retrieve zombie class id static buffer[2], dummy, classid menu_item_getinfo(menuid, item, dummy, buffer, charsmax(buffer), _, _, dummy) classid = buffer[0] // Store selection for the next infection g_zombieclassnext[id] = classid static name[32] ArrayGetString(g_zclass_name, g_zombieclassnext[id], name, charsmax(name)) // Show selected zombie class info and stats zp_colored_print(id, "^x04[Zombie CSO]^x01 %L: %s", id, "ZOMBIE_SELECT", name) zp_colored_print(id, "^x04[Zombie CSO]^x01 %L: %d %L: %d %L: %d %L: %d%%", id, "ZOMBIE_ATTRIB1", ArrayGetCell(g_zclass_hp, g_zombieclassnext[id]), id, "ZOMBIE_ATTRIB2", ArrayGetCell(g_zclass_spd, g_zombieclassnext[id]), id, "ZOMBIE_ATTRIB3", floatround(Float:ArrayGetCell(g_zclass_grav, g_zombieclassnext[id]) * 800.0), id, "ZOMBIE_ATTRIB4", floatround(Float:ArrayGetCell(g_zclass_kb, g_zombieclassnext[id]) * 100.0)) menu_destroy(menuid) return PLUGIN_HANDLED;[/color] | |
Просмотров: 2498
| Теги: |
Всего комментариев: 0 | |