Активный
- Тема Автор
- #1
Идея и назначение
Система позволяет игрокам добавлять друг друга в список друзей.
Подходит для социальных и RPG серверов, где важна связь между игроками.
Суть реализации
1. Храним флаг дружбы в двумерном массиве.
2. Делаем команду добавления друга по ID.
3. Делаем команду просмотра списка друзей.
Реализация
Дополнительные идеи
1. Сделать взаимное подтверждение дружбы.
2. Сохранять друзей в базе данных.
3. Реализовать уведомления о входе друга в игру.
Система позволяет игрокам добавлять друг друга в список друзей.
Подходит для социальных и 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. Реализовать уведомления о входе друга в игру.