Простая модульная система уровней с сохранением в базу данных.
Система уровней имеет свое небольшое API для дополнений.
Система использует свой собственный Item Manager.
Поддерживает моды:
Имеет поддержку:
Возможности форвардов в Item Manager
Дополнения к системе:
Система уровней имеет свое небольшое API для дополнений.
Система использует свой собственный Item Manager.
Поддерживает моды:
- Public
- Zombie Plague 5.0
- Сохранение всех данных в MySQL
- Собственный Item Manager
- Бонусы за достигнутые уровни
- Авто очищение БД
Имеет поддержку:
- CsStats MySQL by SKAJIbnEJIb
- CSstatsX SQL by serfreeman1337
Возможности форвардов в Item Manager
C++:
#include <amxmodx>
#include <reapi>
#include <level_system>
#define ITEM_NAME "FULL_MONEY" // Название Item в ML формате
#define ITEM_COST 2 // Цена за Item
#define BLOCK_GIVE_MONEY 10000 // Сумма при которой не будут выдаваться деньги
#define GIVE_MONEY 16000 // Сколько денег выдать игроку
new g_ItemMoney, // Глобальная переменная для работы с Item
g_iRoundCounter; // Глобальная переменная для подсчета раундов
public plugin_init(){
register_plugin("[Level System] Item: Full Money", PLUGIN_VERSION, "BiZaJe");
// Хук для отлова начала/рестарта раунда
RegisterHookChain(RG_CSGameRules_RestartRound, "@HC_CSGameRules_RestartRound_Pre", .post = false);
// Регистрация Item в Item Manager
g_ItemMoney = ls_item_register(ITEM_NAME, ITEM_COST);
}
@HC_CSGameRules_RestartRound_Pre()
{
// Обнуляем счетчик если был рестарт
if(get_member_game(m_bCompleteReset)){
g_iRoundCounter = 0;
}
// В ином случае прибавляем
g_iRoundCounter++;
}
public ls_item_buy_pre(iPlayer, iItem, Cost){
// Блокируем показ Item в Item Manager если: Это не наш Item/Денег у игрока больше чем задано/Мало сыгранных раундов
if(iItem != g_ItemMoney || get_member(iPlayer, m_iAccount) >= BLOCK_GIVE_MONEY || g_iRoundCounter < 3){
return TL_ITEM_BLOCK;
}
// В ином случае показываем
return TL_ITEM_SHOW;
}
public ls_item_buy_post(iPlayer, iItem, Cost){
// Блокируем если не наш предмет
if(iItem != g_ItemMoney){
return;
}
// Добавляем игроку деньги
rg_add_account(iPlayer, GIVE_MONEY);
}
level_system_reset
- серверная команда для принудительного сброса БДДополнения к системе: