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


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

Я расскажу вам как можно добавить зомби класс для ВИП по способу как у 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 //Класс зомби не выбирается, а остается тем же какой был раньше

Для начинающих 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;

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


Комментарии:


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