Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Цветные enex-маркеры

OKStyle

Эксперт
Для начала давайте определимся, что же это за маркеры такие. "ENEX" - расшифровывается как: ENTER и EXIT. То есть вход и выход. Это такие жёлтые маркеры, через которые вы попадали в интерьеры и выходили из них.
В сингловых enex'ах гораздо больше параметров, включая название интерьеров и прочее, но мы сделаем упрощённый вариант.
Изначально тема поднялась в мануале про про цветные гоночные чекпоинты. Но сегодня я потратил время и доисследовал то, что откладывал долгое время.

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


Для начала инициализируем необходимые для работы переменные:
PHP:
#define MAX_ENEX_MARKERS 100 // лимит маркеров
new gEnexCount; // счетчик маркеров
enum dEnex
{
    Float:Ex,
    Float:Ey,
    Float:Ez,
    Float:ePosX,
    Float:ePosY,
    Float:ePosZ,
    Float:ePosA,
    eInt,
    eVw
};
new Data_Enex[MAX_ENEX_MARKERS][dEnex]; // конструкция, содержащая параметры маркеров
Далее функция создания искомых маркеров и заполнения параметров:
PHP:
stock CreateEnexMarker(Float:eX, Float:eY, Float:eZ, Float:pEx, Float:pEy, Float:pEz, Float:pEa, interior = 0, vworld = 0, fgcolor = 2, bool:bgcolor = false) // если bgcolor = true, то ставится чёрный сердечник
{
    if(gEnexCount + 1 == MAX_ENEX_MARKERS) return 0; // превышен лимит
    new enexid;
    switch(fgcolor) // цвет маркера (от 0 до 21, т.е. 22 прозрачных варианта + 20 с черным сердечником, всего 42 варианта цвета)
    {
        case 00: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1);        // black
        case 01: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD");            // white
        case 02: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 03: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 04: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 05: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 06: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 07: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 08: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 09: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 10: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 11: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 12: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 13: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 14: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"),    // green
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 15: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 16: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 17: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 18: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 19: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"),    // blue
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 20: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"),    // green
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"),    // blue
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 21: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"),    // green
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
    }
    if(bgcolor) SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1);        // black
    Data_Enex[enexid][Ex] = eX;
    Data_Enex[enexid][Ey] = eY;
    Data_Enex[enexid][Ez] = eZ;
    Data_Enex[enexid][ePosX] = pEx;
    Data_Enex[enexid][ePosY] = pEy;
    Data_Enex[enexid][ePosZ] = pEz;
    Data_Enex[enexid][ePosA] = pEa;
    Data_Enex[enexid][eInt] = interior;
    Data_Enex[enexid][eVw] = vworld;
    gEnexCount++;
    // создаём сферу (динамическую) или что хотите с id = enexid
    return enexid;
}
Использовать, например, в OnFilterScriptInit:
PHP:
CreateEnexMarker(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // x y z posx posy posz posa
// как видно, тут указываются координаты маркера, а затем координаты телепорта
// далее должны идти параметры интерьера и виртуального мира, по умолчанию - 0
// потом идут цвета, если они не указаны - будет по умолчанию прозрачный жёлтый
// пропустить аргументы до цветов можно так: _, _, как и в любой другой функции
Далее экспериментальные функции, не тестировались...

PHP:
stock DestroyEnexMarker(enexid) // удаляет enex-маркер
{
    for(new i, Float:oX, Float:oY, Float:oZ; i < MAX_OBJECTS; i++)
    {
        if(GetObjectModel(i) != 19607) continue;
        GetObjectPos(i, oX, oY, oZ);
        if(oX != Data_Enex[enexid][Ex] || oY != Data_Enex[enexid][Ey] || oZ != Data_Enex[enexid][Ez]) continue;
        DestroyObject(i);
    }
    for(new dEnex:i; i < dEnex; ++i) Data_Enex[enexid][i] = 0;
    gEnexCount--;
    // + удаляем сферу или что там у вас
    return 1;
}
stock PlayerUseEnexMarker(enexid, playerid) // реагирует на взаимодействие с enex-маркером
{
    SetPlayerPos(playerid, Data_Enex[enexid][ePosX], Data_Enex[enexid][ePosY], Data_Enex[enexid][ePosZ]);
    SetPlayerFacingAngle(playerid, Data_Enex[enexid][ePosA]);
    SetPlayerInterior(playerid, Data_Enex[enexid][eInt]);
    SetPlayerVirtualWorld(playerid, Data_Enex[enexid][eVw]);
    SetCameraBehindPlayer(playerid);
    return 1;
}
В вашей проверке на сферу сравнить условия, если норм, то:
PHP:
PlayerUseEnexMarker(enexid, playerid); // где enexid будет id сферы, если вы все сделали правильно
P.S. Попробуйте поэкспериментируйте с цветами, вероятно 2 белых и красный сделают маркер светлее, чем просто белый и красный.

Автор: OKStyle

ЗЫ: Пока писал тему, нашёл клиентский lua-скрипт от Vladimir_P, тут всё проще, но только для стандартных. Если что, скачать его можно в ресурсах.

PHP:
// Colored Enex Marker by O.K.Style
#define MAX_ENEX_MARKERS 100
new gEnexCount;
enum dEnex
{
    Float:Ex,
    Float:Ey,
    Float:Ez,
    Float:ePosX,
    Float:ePosY,
    Float:ePosZ,
    Float:ePosA,
    eInt,
    eVw
};
new Data_Enex[MAX_ENEX_MARKERS][dEnex];
stock CreateEnexMarker(Float:eX, Float:eY, Float:eZ, Float:pEx, Float:pEy, Float:pEz, Float:pEa, interior = 0, vworld = 0, fgcolor = 2, bool:bgcolor = false)
{
    if(gEnexCount + 1 == MAX_ENEX_MARKERS) return 0;
    new enexid;
    switch(fgcolor)
    {
        case 00: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1);        // black
        case 01: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD");            // white
        case 02: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 03: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 04: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 05: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 06: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 07: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 08: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 09: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 10: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 11: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 12: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 13: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 14: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"),    // green
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 15: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 16: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2");    // red
        case 17: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3");    // green
        case 18: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"),            // white
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"),    // yellow
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4");    // blue
        case 19: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"),    // blue
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 20: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"),    // green
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"),    // blue
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
        case 21: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"),    // red
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"),    // green
                 SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2");    // yellow
    }
    if(bgcolor) SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1);        // black
    Data_Enex[enexid][Ex] = eX;
    Data_Enex[enexid][Ey] = eY;
    Data_Enex[enexid][Ez] = eZ;
    Data_Enex[enexid][ePosX] = pEx;
    Data_Enex[enexid][ePosY] = pEy;
    Data_Enex[enexid][ePosZ] = pEz;
    Data_Enex[enexid][ePosA] = pEa;
    Data_Enex[enexid][eInt] = interior;
    Data_Enex[enexid][eVw] = vworld;
    gEnexCount++;
    // создаём сферу (динамическую) или что хотите с id = enexid
    return enexid;
}
stock DestroyEnexMarker(enexid)
{
    for(new i, Float:oX, Float:oY, Float:oZ; i < MAX_OBJECTS; i++)
    {
        if(GetObjectModel(i) != 19607) continue;
        GetObjectPos(i, oX, oY, oZ);
        if(oX != Data_Enex[enexid][Ex] || oY != Data_Enex[enexid][Ey] || oZ != Data_Enex[enexid][Ez]) continue;
        DestroyObject(i);
    }
    for(new dEnex:i; i < dEnex; ++i) Data_Enex[enexid][i] = 0;
    gEnexCount--;
    // + удаляем сферу или что там у вас
    return 1;
}
stock PlayerUseEnexMarker(enexid, playerid)
{
    SetPlayerPos(playerid, Data_Enex[enexid][ePosX], Data_Enex[enexid][ePosY], Data_Enex[enexid][ePosZ]);
    SetPlayerFacingAngle(playerid, Data_Enex[enexid][ePosA]);
    SetPlayerInterior(playerid, Data_Enex[enexid][eInt]);
    SetPlayerVirtualWorld(playerid, Data_Enex[enexid][eVw]);
    SetCameraBehindPlayer(playerid);
    return 1;
}
 
Сверху Снизу