9 posts in this topic

Разрабатываю свой проект, сделал команду, взял изначально с мода Аризоны и немного подправил.

Моя изюминка в том, что я сливаю сразу с маппингом! еще раз! ВЗЯЛ С МОДА АРИЗОНЫ!

НЕ ЗАБУДЬТЕ КОПИРОВАТЬ С РУССКОЙ РАСКЛАДКОЙ

В моем же моде эта команда для первых уровней админок, хотя тут есть возможность телепортировать других игроков... думайте сами

Но мой мод не позиционирует себя как фулл-рп, а как бонусник.

 

Координаты для телепорта есть в самой команде

 

 SetPlayerPos(id, 2077.1770,-1187.7722,1049.8934);  

 

Цветовые коды:

 

#define COLOR_ADMIN                     (0x828282FF)

 

Сама команда:

 

Спойлер

CMD:az(playerid, params[])
{
    if(admin_ban_time[playerid] > 0) return SendErr(playerid, "Ваши админ-действия на сервере заблокированы"); // удаляем если ваш мод не такой)
    if(p_info[playerid][pAdmin] < 1) return 1; // заменяем на свои проверки
    extract params -> new id; else
    return SendClientMessage(playerid, 0xCC0000FF, "[!] {ffffff}/az [id]");

    if(!IsPlayerConnected(id))
    return SendClientMessage(playerid, 0xCC0000FF, "[!] {ffffff}Выбранный вами игрок не в игре!");

    SetPlayerPos(id, 2077.1770,-1187.7722,1049.8934); //adminzonee  == 2077.1770,-1187.7722,1049.8934 (старая инта)
    SetPlayerInterior(id, 0);
    SetPlayerVirtualWorld(id, 2);
    SendClientMessage(id, 0xFF0000FF,"Администратор телепортировал Вас в {ffffff}Админ-Зону");
    new string[128];
    format(string, sizeof(string), "{99FF99}[A] {FFCC33}%s[%d] {FF0000}телепортировал в {ffffff}Админ-Зону %s[%d]", GetName(playerid), playerid, GetName(params[0]), params[0]);
    SendAdminMessage(COLOR_ADMIN, string);

    SetPlayerPos(playerid, 2077.1770,-1187.7722,1049.8934); //adminzonee  == 2077.1770,-1187.7722,1049.8934 (старая инта)
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,2);

    return true;
}

 

 

Вот сам маппинг:

Спойлер

CreateDynamicObject(5487, 2078.84, -1191.88, 1048.17,   0.00, 0.00, -4.32);   //adminzonee - админ зона
CreateDynamicObject(5485, 2063.61, -1169.79, 1051.52,   0.00, 0.00, 0.00);
CreateDynamicObject(5485, 2096.61, -1172.15, 1051.44,   0.00, 0.00, 0.00);
CreateDynamicObject(707, 2105.24, -1170.45, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2087.72, -1174.74, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2072.62, -1168.02, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2055.28, -1171.38, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2056.66, -1182.52, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2069.64, -1181.42, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2066.57, -1194.15, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2080.30, -1183.88, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2077.30, -1201.92, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2087.87, -1197.89, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(707, 2100.77, -1186.50, 1049.32,   0.00, 0.00, -13.32);
CreateDynamicObject(5483, 2079.60, -1180.46, 1051.10,   1.98, -0.06, -3.60);
CreateDynamicObject(18783, 2083.57, -1125.23, 1049.53,   0.00, 0.00, 0.00);
CreateDynamicObject(18783, 2103.53, -1145.24, 1049.57,   0.00, 0.00, 0.00);
CreateDynamicObject(18783, 2103.55, -1125.22, 1049.50,   0.00, 0.00, 0.00);
CreateDynamicObject(18783, 2083.92, -1145.21, 1049.53,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2099.31, -1171.27, 1043.49,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2096.97, -1172.56, 1043.62,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2094.83, -1169.32, 1043.49,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2064.58, -1167.09, 1043.53,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2063.09, -1165.91, 1043.53,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2079.33, -1191.56, 1043.14,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2081.35, -1156.81, 1046.36,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2079.50, -1154.92, 1046.36,   0.00, 0.00, 0.00);
CreateDynamicObject(9211, 2085.22, -1151.46, 1046.17,   0.00, 0.00, 0.00);

 

 

Машины в админ зоне:

Спойлер

        //==================== [ NAME SERVER Role Play ADMIN ZONE BMW'S ]

    AddStaticVehicle(466,2109.7168,-1148.0809,1052.6907,94.7575,6,6); // BMW1
    AddStaticVehicle(466,2109.5457,-1142.8895,1052.6918,90.8498,6,6); // BMW2
    AddStaticVehicle(466,2109.3809,-1137.7531,1052.6907,90.8015,6,6); // BMW3
    AddStaticVehicle(466,2078.5022,-1149.8744,1052.6508,271.6696,6,6); // BMW4
    AddStaticVehicle(466,2077.9929,-1142.7198,1052.6511,270.5048,6,6); // BMW5
    AddStaticVehicle(466,2077.5610,-1137.2969,1052.6519,269.9786,6,6); // BMW6

   //=========================== [ END ADMIN ZONE CAR'S ]

 

 

//====================================

Ну и не забудьте добавить команду в /ahelp

 

                    {ffffff}/az{FFFFFF} - телепорт в зону адм\n\

//====================================

 

 

 

ВРОДЕ ВСЕ! МОЖЕТЕ ОЦЕНИТЬ МОЮ ДОРАБОТКУ В КОММЕНТАРИЯХ, ЕСЛИ БУДУТ НОВОСТИ, ДОБАВЛЮ!

cr-mp-002.png

cr-mp-000.png

cr-mp-001.png

Edited by DEST

Заметка от DEST , создано

Необязательно код раскрашивать вручную, можно воспользоваться встроенным функционалом форума (Подробнее).

Share this post


Link to post
Share on other sites

если проблема с машинами, а именно "они невидимые", в команде изменить setplayerinterior на 0, и virtualworld на 0, но когда игрок будет проезжать или же проходить под админ зоной, он будет видеть на карте Треугольники или прямоугольники, типа что там вверху есть машины.

Share this post


Link to post
Share on other sites

{ffffff}/az{FFFFFF} - телепорт в зону адм\n\ А зачем там два

 {FFFFFF}

?

 

Что-то я вообще не вдупляю зачем это два раза?

    SetPlayerPos(playerid, 2077.1770,-1187.7722,1049.8934); //adminzonee  == 2077.1770,-1187.7722,1049.8934 (старая инта)
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,2);

Share this post


Link to post
Share on other sites
В 05.11.2019 в 19:52, DeonTade сказал:

{ffffff}/az{FFFFFF} - телепорт в зону адм\n\ А зачем там два


 {FFFFFF}

?

 

Что-то я вообще не вдупляю зачем это два раза?


    SetPlayerPos(playerid, 2077.1770,-1187.7722,1049.8934); //adminzonee  == 2077.1770,-1187.7722,1049.8934 (старая инта)
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,2);

Мне так удобнее, меняй, если не нравиться.

Share this post


Link to post
Share on other sites

Тупо даю минус, из-за тупых ошибок

 

Share this post


Link to post
Share on other sites
В 03.12.2019 в 20:44, Clement Dev сказал:

Тупо даю минус, из-за тупых ошибок

 

Твое право :D

Share this post


Link to post
Share on other sites

Тогда уж, так:
 

CMD:az(playerid, params[])
{
    if(admin_ban_time[playerid] > 0) return SendErr(playerid, "Ваши админ-действия на сервере заблокированы"); // удаляем если ваш мод не такой)
    if(p_info[playerid][pAdmin] < 1) return 1; // заменяем на свои проверки
    extract params -> new id; else
    return SendClientMessage(playerid, 0xCC0000FF, "[!] /az [id]");

    if(!IsPlayerConnected(id))
    return SendClientMessage(playerid, 0xCC0000FF, "[!] Выбранный вами игрок не в игре!");

    SetPlayerPos(id, 2077.1770,-1187.7722,1049.8934); //adminzonee  == 2077.1770,-1187.7722,1049.8934 (старая инта)
    SetPlayerInterior(id, 0);
    SetPlayerVirtualWorld(id, 0);
    SendClientMessage(id, 0xFFFFFFFF,"Администратор телепортировал Вас в {FF0000}Админ-Зону");
    new string[72];
    format(string, sizeof(string), "[A] {FFCC33}%s[%d] {FFFFFF}телепортировал в {FF0000}Админ-Зону %s[%d]", GetName(playerid), playerid, GetName(id), id);
    SendAdminMessage(COLOR_ADMIN, string);
    return true;
}

 

Share this post


Link to post
Share on other sites

Братик, ошибка в твоем коде одна - Если я пишу ID игрока то зачем телепортирует меня? Проблемы в самом коде тоже есть, если исправишься "+" получишь :)

Share this post


Link to post
Share on other sites

чел норм конечно  ноо playerid вместо  id и  очень много переменных ну норм воще

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • odosenok
      By odosenok
      Описание системы.
      Система полета камерой представляет собой возможность перемещаться в пространстве игры по всем осям (X, Y, Z) путем нажатия кнопок на клавиатуре.
       
      Подключение системы.
      1. Система написана в отдельном файле - include. Вам необходимо скачать этот файл и добавить в папку, находящейся в следующей директории:
      "..\pawno\include" 2. Затем Вам следует открыть свой игровой мод и в начале, после всех инклудов, дописать следующую строку:
      #include <fly>  
      Работа с системой.
      В систему полета камерой включены две функции:
      1.
      SetPlayerFlyStatus(playerid, status = 2) /* playerid - ID игрока, которого Вы хотите "отправить" в режим полета status - режим полета* * предусмотрено три режима полета: CAMERA_MODE_NONE (0) - выключить режим полета, CAMERA_MODE_FLY (1) - включить режим полета, CAMERA_MODE_REVERSE (2) - сменить режим на реверсивный */ 2. 
      IsPlayerFlying(playerid) /* playerid - ID игрока, пребывание в состоянии полета которого Вы хотите проверить *данная функция возвращает: CAMERA_MODE_NONE (0), если игрок не находится в состоянии полета, CAMERA_MODE_FLY (1), если игрок находится в состоянии полета */ При помощи данных функций Вы можете управлять пребыванием игрока в режиме полета, а также получать информацию о том, "летает" ли игрок в тот или иной момент.
       
      Особенности системы.
      Системой полета предусмотрено, что игрок, выходящий из режима полета, появится именно там, где вышел. Так, если Вы покидаете режим полета, пребывая в озере, то появление игрока будет именно в этом озере.
       
      Пример использования.
      CMD:fly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /fly [mode 0-2]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new mode; if(sscanf(params, "d", mode)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(!(0 <= mode <= 2)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; SetPlayerFlyStatus(playerid, mode); return 1; } CMD:checkfly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /checkfly [playerid]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new id; if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, !"The player is not connected") & 0; static const status_fly[][] = { !"The player is not flying", !"The player is flying" }; SendClientMessage(playerid, -1, status_fly[IsPlayerFlying(id)]); return 1 } Авторское право.
      Функции для получения позиции для перемещения камеры, само перемещение вырезаны из разработки Norck.
      В свою очередь я, @odosenok, лишь преобразовал данный код, создал более удобный интерфейс.
       
      fly.inc