Простая система друзей

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

8

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

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

Система позволяет игрокам добавлять друг друга в список друзей.

Подходит для социальных и RPG серверов, где важна связь между игроками.


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

1. Храним флаг дружбы в двумерном массиве.

2. Делаем команду добавления друга по ID.

3. Делаем команду просмотра списка друзей.


Реализация

Код:
new bool:IsFriend[MAX_PLAYERS][MAX_PLAYERS];


CMD:addfriend(playerid, params[])
{
    new target;

    if(sscanf(params, "u", target))
        return SendClientMessage(playerid, -1, "Используй: /addfriend [id].");

    if(!IsPlayerConnected(target))
        return SendClientMessage(playerid, -1, "Игрок не найден.");

    if(target == playerid)
        return SendClientMessage(playerid, -1, "Нельзя добавить себя.");

    IsFriend[playerid][target] = true;

    SendClientMessage(playerid, -1, "Игрок добавлен в друзья.");

    return 1;
}


CMD:friends(playerid)
{
    new name[MAX_PLAYER_NAME], msg[64], found;

    SendClientMessage(playerid, -1, "Твои друзья онлайн:");

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(!IsFriend[playerid][i]) continue;

        GetPlayerName(i, name, sizeof name);

        format(msg, sizeof msg, "%d: %s", i, name);
        SendClientMessage(playerid, -1, msg);

        found = 1;
    }

    if(!found)
        SendClientMessage(playerid, -1, "У тебя нет друзей онлайн.");

    return 1;
}


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

1. Сделать взаимное подтверждение дружбы.

2. Сохранять друзей в базе данных.

3. Реализовать уведомления о входе друга в игру.
 

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

Сверху