- Статьи
- 2018-04-13
Зомби-Класс:
zp_user_infected_pre(id) - Функция, возникающая перед тем, как id становится Зомби.
public zp_user_infected_pre(id)
{
if (zp_get_user_next_class(id) == g_zclass)
{
if(zp_level(id) < X)
{
zp_set_user_zombie_class(id, g_zclass_classic)
client_print(id, print_chat, "Вы не достигли X уровня!")
}
else
zp_set_user_zombie_class(id, g_zclass)
}
}
zp_get_user_next_class(id) - Функция, возвращающая значение, а именно, тот класс, который выбрал id в меню выбора классов зомби.
zp_set_user_zombie_class(id, g_zclass_classic) - Функция, которая насильно устанавливает, каким зомби-классом будет id перед заражением.
zp_level(id) - Функция, которая возвращает уровень id
g_zclass - Переменная, которая хранит тот класс, который мы хотим сделать за достижение определенного уровня
g_zclass_classic - Переменная, которая хранит тот класс, который мы будем заменять, если id не достиг определенного уровня + выводим сообщение
X - Очевидно, тот уровень, который мы хотим установить для данного класса
public zp_user_infected_pre(id)
{
if (zp_get_user_next_class(id) == g_zclass_fast)
{
if(zp_level(id) < 3)
{
zp_set_user_zombie_class(id, g_zclass_classic)
client_print(id, print_chat, "Вы не достигли 3 уровня!")
}
else
zp_set_user_zombie_class(id, g_zclass_fast)
}
else if (zp_get_user_next_class(id) == g_zclass_heavy)
{
if(zp_level(id) < 5)
{
zp_set_user_zombie_class(id, g_zclass_classic)
client_print(id, print_chat, "Вы не достигли 5 уровня!")
}
else
zp_set_user_zombie_class(id, g_zclass_heavy)
}
}
Оружие:
Здесь есть 2 способа. Один прямой, другой косвенный.
Прямой способ - перед выдачей. То есть сделать проверку, непосредственно в самой менюшке.
ps. Оружие нельзя выбрать/получить, если вы не достигли определенного уровня. Но само оружие не привязано к уровню.
Второй способ, более проверенный, и универсальный - косвенный. Устанавливается в самом плагине оружия, к которому вы хотите привязать уровень.
Для zombie_plague40:
Если мы хотим, чтобы в Extra-Items ( Магазин оружия ) была привязка по уровню, и какие то оружия мы могли покупать, только по достижению какого либо уровня, то нам необходимо изменить код:
Ищем в исходнике оружия функцию zp_extra_item_selected(id, itemid).
zp_extra_item_selected(id, itemid) - Функция, которая вызывается тогда, когда мы выбираем в меню Extra-Items какое либо оружие. В самом моде, проверяется соответствие цены и Аммо id, ну а мы сделаем привязку по уровню
public zp_extra_item_selected(id, itemid)
{
if(itemid == g_itemid)
{
if(zp_level(id) >= X)
give_itemid(id)
else
{
client_print(id, print_chat, "Вы не достигли X уровня!")
return ZP_PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
give_itemid(id) - Функция, которая вызывает native для выдачи оружия.
Для других модов ( сложнее )
Перед выдачей в нативе, можно так же поставить проверку на уровень
public native_give_itemid(id)
{
if(zp_level(id) >= X)
give_itemid(id)
else
{
client_print(id, print_chat, "Вы не достигли X уровня!")
return PLUGIN_HANDLED;
}
}
Так же, не забывайте, что в вашей lvl-системе может быть другой native-функция возвращающая уровень игрока. В наших примерах, это была zp_level(id).
ВАЖНО! В каждом плагине, в котороом вы делаете привязку по уровню, в начале должны прописать native функции уровня.
native zp_level(id)
Ну, или если вы используете мою lvl-систему, то инклуд
#include <zp_level_system>
30%
Скидка на покупку всех
сборок до 30.06.2025
Специально для тебя - Гость
Выбрать сборку
Паблик Сборка кс 1.6
нахер выкладывать бессплатною сборку а потом просить деньги чтоб адм прописать((((
Шаблон для GameCMS Cs-Rulit(dark)
топ шаблон
[CS 1.6] Addon - Система Питомцев + MySQL
Как открыть меню?
[ZP] Extra Item - Mk3a1 Space
old but gold
[ZP] Zombie Class - X Revenant 0.1 Beta
nice zm class
Данные для Связи.https://vk.com/id344641190 https://t.me/SysTemmmmmm Discord: Wizard#2169Услуга Помощь в установке/настройке серверов/модов/плагинов/сайтов.
GameCMS (Game Content Management System) Данные для Связи. https://vk.com/id344641190 https://t.me/SysTemmmmmm Discord: Wizard#2169
Исправили Почту всех приходит, Очистили базу от кометов, Мусорных файлов, Дальше будем работать по файлам.
ReHLDS (Reverse-engineered) - это новый шаг вперед, который дает второе дыхание нашим серверам. ReHLDS работает в 2 раза быстрей, чем HLDS.
AMXModX - это Metamod дополнение, которое позволяет создавать новые модификации для Half-Life на языке Pawn
Reunion является продолжением Dproto для ReHLDS. Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.
Revoice - это Metamod plugin, который дает возможность общения голосовым чатом между non-steam и steam клиентами.
Новый Metamod-r содержит огромное количество оптимизаций производительности и намного более чистый код. Ядро было написано с использованием JIT-компилятора.
Ultimate Unprecacher являет плагином для MetaMod, работает он по принципу отключение не нужных ресурсов на вашем сервере, тем самым вы сможете освободить места для ресурсов под ваши плагины, с помощью данного модуля можно избавиться от ошибки 512!
ReAuthCheck - это Metamod плагин, который занимается проверкой ваших игроков на валидность, с помощью данного модуля для REHLDS вы сможете защитить свой сервер от ботов, которые постоянно спамят рекламу или просто забивают слот на сервере!
NetBufExtender или NBEX - это метамод-плагин, который расширяет "интернет-буфер": буферы сервера и клиента(гарантия не 100%). Расширяет до 64 кб. Это значит, что у игроков уменьшается вероятность быть кикнутыми с ошибкой "Reliable channel overflowed".
UINO — metamod-плагин, который позволяет удалять ненужные поля из userinfo(setinfo) когда движок передаёт его другим игрокам на сервере. Данная мера уменьшает объём передаваемых данных и немного сокращает шанс быть кикнутым с "Reliable channel overflowed".