Добавление зомби класса для ВИП

Добавление зомби класса для ВИП

Я расскажу вам как можно добавить зомби класс для ВИП по способу как у SISA.

Добавление зомби класса для ВИП

Я расскажу вам как можно добавить зомби класс для ВИП по способу как у SISA.

1) Найдем в исходнике zombie_plague40.sma функцию:

// Zombie Class Menupublic menu_zclass(id, menuid, item)

Можете оттуда смело все удалить, кроме:

if (item == MENU_EXIT)    menu_destroy(menuid)    return PLUGIN_HANDLED;

Так как вы можете вставить все, что находится ниже.

2) Для начала нужно сделать так, чтобы когда игрок без флага(флагов) ВИП не мог выбрать зомби класс для ВИП:

if (item == 6) // какой по счету в списке зомби класс для ВИП    if (!(get_user_flags(id) & ADMIN_LEVEL_H))            zp_colored_print(id, \»^x04[Zombie CSO]^x01 %L\», id, \»ZCLASS_VIP\») /*Выводится сообщение что этот  класс только для ВИП*/        g_zombieclassnext[id] = 0 //Класс зомби не выбирается, а остается тем же какой был раньше
Читайте также:   [TUT] NRS: Делаем поддержку ZP и War3FT своими руками

Для начинающих 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))
Читайте также:   [TUT]Работа с файлами(Закупочное меню/Buy Menu)

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;

Вот и все. Если в статье обнаружите ошибку или баг, то пишите мне в личку или скайп: mojiotok60.
Если есть вопросы тоже можете обратиться.

Читайте также:   Взлом сервера Counter Strike 1.6

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Zombie-Mod.com — крупнейший портал по Counter Strike