Система личных меток на карте

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

8

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

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

Игрок может ставить и убирать свою личную метку на карте.

Подходит для ориентирования и запоминания важных мест.


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

1. Храним координаты метки и флаг ее существования.

2. Команда /setmark сохраняет текущую позицию.

3. Команда /gotomark телепортирует к метке.


Реализация

Код:
new Float:MarkX[MAX_PLAYERS], Float:MarkY[MAX_PLAYERS], Float:MarkZ[MAX_PLAYERS];
new bool:HasMark[MAX_PLAYERS];


CMD:setmark(playerid)
{
    GetPlayerPos(playerid, MarkX[playerid], MarkY[playerid], MarkZ[playerid]);
    HasMark[playerid] = true;

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

    return 1;
}


CMD:gotomark(playerid)
{
    if(!HasMark[playerid])
        return SendClientMessage(playerid, -1, "У тебя нет личной метки.");

    SetPlayerPos(playerid, MarkX[playerid], MarkY[playerid], MarkZ[playerid]);
    SendClientMessage(playerid, -1, "Ты телепортировался к своей метке.");

    return 1;
}


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

1. Несколько слотов меток.

2. Показ метки на радаре через иконки.

3. Обмен метками между друзьями.
 

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

Сверху