Система отслеживания последнего повреждения

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

8

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

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

Система сохраняет, кто последним нанёс урон игроку.

Подходит для жалоб, анти-РК и логирования боёв.


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

1. Храним ID последнего атакующего.

2. В обработчике урона (через плагин) записываем атакующего в массив.

3. Команда /lastattacker показывает, кто последний нанёс урон.


Реализация

Код:
new LastAttacker[MAX_PLAYERS] = {INVALID_PLAYER_ID, ...};


CMD:lastattacker(playerid)
{
    new a = LastAttacker[playerid];

    if(a == INVALID_PLAYER_ID || !IsPlayerConnected(a))
        return SendClientMessage(playerid, -1, "Данных о последнем атакующем нет.");

    new name[MAX_PLAYER_NAME], msg[64];

    GetPlayerName(a, name, sizeof name);

    format(msg, sizeof msg, "Последний, кто наносил тебе урон: %s[%d].", name, a);
    SendClientMessage(playerid, -1, msg);

    return 1;
}


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

1. Сохранять время последнего удара.

2. Комбинировать с логами смертей.

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

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

Сверху