1 post in this topic

Спойлер

CMD:selfie(playerid)
{
    if(!GetPVarInt(playerid,"Selfie"))
    {
        PlayerPlaySound(playerid, 17001, 0.0, 0.0, 0.0);
        SendClientMessage(playerid, 0xFFC800AA, "[Подсказка]: Используйте /headmove, чтобы было выровнять голову.");
        SendClientMessage(playerid, 0xFFC800AA, "[Подсказка]: Нажмите 'F8', для того чтобы сделать фото.");
        SendClientMessage(playerid, 0xFFC800AA, "[Подсказка]: Используйте '/selfie' , чтобы сбросить анимацию.");
        GetPlayerPos(playerid, positionCam[playerid][0], positionCam[playerid][1], positionCam[playerid][2]);
        static Float: n1X, Float: n1Y, Float:PositionCam;
        GetPlayerFacingAngle(playerid, PositionCam);
        n1X = positionCam[playerid][0] + Radiuses * floatcos(180.0, degrees);
        n1Y = positionCam[playerid][1] + Radiuses * floatsin(180.0, degrees);
        SetPlayerAttachedObject(playerid, 0, 18868, 6, 0.06, 0.01, 0.08, 180.0, 90.0, 0.0);
        SetPlayerCameraPos(playerid, n1X, n1Y, positionCam[playerid][2] + Height);
        SetPlayerCameraLookAt(playerid, positionCam[playerid][0], positionCam[playerid][1], positionCam[playerid][2] + 1);
        SetPlayerFacingAngle(playerid, Reedeg[playerid] - 270.0);
        ApplyAnimation(playerid, "PED", "gang_gunstand", 4.1, 1, 1, 1, 1, 1, 1);
        SetPVarInt(playerid, "Selfie", 1);
        SetPVarInt(playerid, "selfie_knopka", 1);
    }
    else
    {
        TogglePlayerControllable(playerid, 1);
        SetCameraBehindPlayer(playerid);
        RemovePlayerAttachedObject(playerid, 0);
        ApplyAnimation(playerid, "PED", "ATM", 4.1, 0, 1, 1, 0, 1, 1);
        DeletePVar(playerid, "Selfie");
        DeletePVar(playerid, "selfie_knopka");
    }
}

 


 

 

Edited by DEST

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...
Sign in to follow this  
Followers 0

  • 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