Личная аптечка игрока

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Идея и назначение

Идея в том, чтобы у каждого игрока был собственный запас аптечек, который он может тратить для моментального восстановления здоровья.

Подходит для RPG и DM серверов, где важно контролировать количество лечений и не раздавать бесконечный хил.

Аптечки можно выдавать через магазин, донат, квесты или стартовый набор.


Суть реализации

1. Создаем массив для хранения количества аптечек у каждого игрока.

2. Добавляем команду использования аптечки.

3. При использовании аптечки проверяем, есть ли запас и не полное ли здоровье.

4. Если все условия выполнены, уменьшаем счетчик аптечек и устанавливаем здоровье на нужный уровень.


Инициализация аптечек

Количество аптечек можно задавать по разному:

1. Выдавать фиксированный стартовый запас при первом входе на сервер.

2. Продавать в магазине за деньги или донат валюту.

3. Давать за выполнение заданий, миссий или достижений.

4. Связывать количество аптечек с уровнем игрока или его профессией.


Базовая реализация

Код:
new PlayerMedkits[MAX_PLAYERS];


CMD:usemed(playerid)
{
    if(PlayerMedkits[playerid] <= 0)
        return SendClientMessage(playerid, -1, "У тебя нет аптечек.");

    new Float:hp;
    GetPlayerHealth(playerid, hp);

    if(hp >= 100.0)
        return SendClientMessage(playerid, -1, "У тебя полное здоровье.");

    PlayerMedkits[playerid]--;

    SetPlayerHealth(playerid, 100.0);

    SendClientMessage(playerid, -1, "Ты использовал аптечку и восстановил здоровье.");

    return 1;
}


Дополнительные идеи

1. Добавить команду для просмотра количества аптечек, чтобы игрок видел свой запас.

2. Сделать несколько типов аптечек, маленькие и большие, с разным восстановлением.

3. Добавить задержку между использованиями, чтобы нельзя было спамить лечением.

4. Ограничить использование аптечек в определенных зонах, например запретить их на арене.

5. Добавить анимацию использования аптечки для красоты.

6. Логировать использование аптечек для отладки и баланса.

7. Привязать возможность использования аптечки к состоянию игрока, например запрещать при аресте.
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху