SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Criando GangZone ( GZ )

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031971
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Criando GangZone ( GZ ) Empty [Tutorial] Criando GangZone ( GZ )

    Mensagem por Weslley_Script Ter 28 Mar 2023 - 11:27

    Nesse Tutorial, Vamos Criar um GangZone do 0, uma no Casarгo e outra prуximo ao aeroporto.

    PS: vamos utilizar as seguintes organizaзхes Imaginarias:

    pawn Код:

    Código:
    if(MinhaGang[playerid] == Vagos)


    if(MinhaGang[playerid] == Grove)


    1.0 - Pegando Coordenada da Nossa GangZone.



    Como vocк ver a cima, Vocк tem que da /save do lado esquerdo abaixo, e do lado direito em cima. Veja o Vнdeo
    ( OBRIGATORIO PARA APRENDER ):



    Vocк tambйm pode usar meu FS para criar: https://scriptsamp.forumeiros.com/t48570-filterscript-criador-de-gangzone-gz#98180

    1.1 - Coordenada Criada.

    Код:

    Código:
    AddPlayerClass(78,1208.1812,-2068.6694,69.0078,91.1575,0,0,0,0,0,0); // Esquerda Abaixo


    AddPlayerClass(78,1122.5748,-1994.9491,69.0078,92.7242,0,0,0,0,0,0); // Direita Acima


    Essas Sгo as Coordenadas Que Criamos Usando o Vнdeo.

    Vamos Usar a Funзгo:

    pawn Код:

    Código:
    GangZoneCreate(MinX, MinY, MaxX, MaxY);


    // Ou Seja, a Menor Coordenada X e Y, e maior Coordenada X,Y.
    Agora vamos pegar nossa coordenada e bota-lб no GangZoneCreate Ficando.

    pawn Код:

    Código:
    GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);


    Verifique Agora a Coordenada X,Y Do Nosso Vнdeo e a GangZoneCreate a cima.

    pronto, criamos nossa primeira GangZone, agora vamos dar continuidade...

    1.2 - Criando a GangZone

    Bote Isso no Topo do Seu GameMode:
    pawn Код:

    Código:
    new Dominando[MAX_PLAYERS]; // Usaremos Quando o Player For Dominar


    new GZCasarao; // Da Nome a Nossa GZ


    new donoCasarao; // Define quem й o dono da GZ


    new GuerranoCasarao; // Se Estiver Em Guerra o Casarao.


    new ProvocoCasarao[MAX_PLAYERS]; // Se Ele der /do no casarгo.


    new TempoGuerraCasarao; // Tempo Para Dominar/


    forward GuerraCasarao(playerid); // Public de Dominar.


    new CelulasJFS[128]; // new Que Iremos usar Para Nossas format.


    new NomeJFS[MAX_PLAYER_NAME]; // Pegarб o Nome do Player ^^


    Depois de Definir, Vamos Definir Para Quando Algum Player Entrar no Servidor, Setar a Cor da GangZone.

    Bote Isso Abaixo No OnPlayerConnect.
    pawn Код:

    Código:
    if(donoConstrucao == 0) // Se o DonoCasarao For 0, й Branca, de Ninguem.


    {


         GangZoneShowForPlayer(playerid, GZConstrucao, 0xC0C0C0AA); // GangZone de Cor Normal ( Branca ).


    }


    if(donoConstrucao == 1) // Se o DonoCasarao For 1, й Dos Vagos.


    {


        GangZoneShowForPlayer(playerid, GZConstrucao, CorVagos); // GangZone de Cor Vagos ( Amarela )


    }


    if(donoConstrucao == 2) // Se o DonoCasarao For 2, й Dos Grove.


    {


        GangZoneShowForPlayer(playerid, GZConstrucao,CorGrove); // GangZone de Cor Grove ( Verde )


    }


    Bote Isso Abaixo no OnPlayerDisconnect

    pawn Код:

    Código:
    if(ProvocoConstrucao[playerid] == 1) // Se o Player Estiver Domindo ( /do ), se ele sair, a GZ Ficarб Branca Denovo, Assim Podendo Dominar Denovo.


    {


            // Essas Funзхes Abaixo Reseta a GangZone, Porque o Player que estavб dominando saiu, a GZ Volta ao seu estado de inнcio.


            GangZoneStopFlashForAll(GZCasarao); // Para Fazer a GangZone Parar de Piscar.


            GangZoneShowForAll(GZCasarao, 0xFFFFFF96); // GangZone Voltarб a Ficar Branca.


            GuerranoCasarao = 0; // Setando Para poder dominar.


            ProvocoCasarao[playerid] = 0; // Setando Para poder dominar.


            donoCasarao = 0; // Setando para o dono 0 ( ninguem ).


            Dominando[playerid] = 0; // Setando que ninguem estб dominando.


            KillTimer(TempoGuerraCasarao); // Destroi o SetTimer Criado Para Dominar a GZ


    }


    Se Vocк Quiser Por Essa Parte, й a mesma coisa que a gente fez em cima, sу que, se o Player Morrer ele й resetado, se vocк quiser por para quando o player morrer, resetar bote na public OnPlayerDeath:

    pawn Код:

    Código:
    if(ProvocoConstrucao[playerid] == 1) // Se o Player Estiver Domindo ( /do ), se ele Morrer, a GZ Ficarб Branca Denovo, Assim Podendo Dominar Denovo.


    {


            // Essas Funзхes Abaixo Reseta a GangZone, Porque o Player que estavб dominando e morreu, a GZ Volta ao seu estado de inнcio.


            GangZoneStopFlashForAll(GZCasarao); // Para Fazer a GangZone Parar de Piscar.


            GangZoneShowForAll(GZCasarao, 0xFFFFFF96); // GangZone Voltarб a Ficar Branca.


            GuerranoCasarao = 0; // Setando Para poder dominar.


            ProvocoCasarao[playerid] = 0; // Setando Para poder dominar.


            donoCasarao = 0; // Setando para o dono 0 ( ninguem ).


            Dominando[playerid] = 0; // Setando que ninguem estб dominando.


            KillTimer(TempoGuerraCasarao); // Destroi o SetTimer Criado Para Dominar a GZ


    }


    Agora no OnGameModeInit, Bote o Cуdigo Abaixo, Que Criarб nossa GangZone.

    pawn Код:

    Código:
    GZCasarao = GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);


    // a GangZoneCreate foi o que a gente criou no nosso vнdeo, e demos o nome a ela.
    Pronto Criamos a Nossa GZ e as funзхes, Agora Vamos Criar o Comando.

    1.3 - Criando o Comando.

    pawn Код:

    Código:
    if(strcmp(cmdtext, "/dominar", true) == 0 || strcmp(cmdtext, "/do", true) == 0) // Ou /dominar ou /do ^^


    {


            if(MinhaGang[playerid] == Vagos) // se for vagos


            {


                  if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em nenhum territуrio!");


                  if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Vocк Jб Estб Dominando um Territorio.");


                  if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Jб estб tendo uma guerra nesse territorio.");


                  GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME); // pegando o nome do player


                  format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Estгo Dominando o Casarгo",NomeJFS); // mensagem ao dominar


                  SendClientMessageToAll(CorVagos, CelulasJFS); // para todos a mensagem.


                  SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");


                  SendClientMessage(playerid, -1, "Espere 1 minuto para dominar estб area.");


                  GangZoneFlashForAll(GZCasarao, CorVagos); // Ficar piscando para todos.


                  Dominando[playerid] = 1; // setando o 'DOMINANDO' Para 1.


                  ProvocoCasarao[playerid] = 1; // setando o 'ProvocoCasarao' Para 1.


                  GuerranoCasarao = 1; // setando o 'GuerranoCasarao ' Para 1.


                  TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid); // SetTimer Atй dominar ( 1 MIN )


                  return true;


            }


            if(MinhaGang[playerid] == Grove) // se for grove


            {


                  if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em nenhum territуrio!");


                  if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Vocк Jб Estб Dominando um Territorio.");


                  if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Jб estб tendo uma guerra nesse territorio.");


                  GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME); // getando o nome do player.


                  format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Estгo Dominando o Casarгo",NomeJFS); // mensagem


                  SendClientMessageToAll(CorGrove, CelulasJFS); // mensagem a cima para todos


                  SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");


                  SendClientMessage(playerid, -1, "Espere 1 minuto para dominar estб area.");


                  GangZoneFlashForAll(GZCasarao, CorGrove);// Ficar piscando para todos.


                  Dominando[playerid] = 1; // setando o 'DOMINANDO' Para 1.


                  ProvocoCasarao[playerid] = 1; // setando o 'ProvocoCasarao' Para 1.


                  GuerranoCasarao = 1; // setando o 'GuerranoCasarao ' Para 1.


                  TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid);// SetTimer Atй dominar ( 1 MIN )


                  return true;


            }


            return true;


    }


    1.4 - Completando o Timer SetTimerEx.

    Agora Bote no Final do GameMode, Quando Dominar:

    pawn Код:

    Código:
    public GuerraCasarao(playerid)


    {


          if(MinhaGang[playerid] == Vagos)


          {


              if(ProvocoCasarao[playerid] == 1)


              {


                    if(IsPlayerInCasarao(playerid))


                    {


                        GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);


                        format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Dominaram a GangZone do Casarгo.",NomeJFS);


                        SendClientMessageToAll(CorVagos, CelulasJFS);


                        SendClientMessage(playerid, -1, "Vocк Dominou a GangZone do Casarгo.");


                        GangZoneStopFlashForAll(GZCasarao);


                        GangZoneShowForAll(GZCasarao, CorVagos);


                        Dominando[playerid] = 0;


                        ProvocoCasarao[playerid] = 0;


                        GuerranoCasarao = 0;


                        donoCasarao = 1;


                        KillTimer(TempoGuerraCasarao);


                        return true;


                    }


                    else


                    {


                       SendClientMessage(playerid, CorVagos, "Vocк nгo estб na Construзгo Abandonada.");


                       Dominando[playerid] = 0;


                       GangZoneStopFlashForAll(GZCasarao);


                       GangZoneShowForAll(GZCasarao, 0xFFFFFF96);


                       ProvocoCasarao[playerid] = 0;


                       GuerranoCasarao = 0;


                       donoCasarao = 0;


                       KillTimer(TempoGuerraCasarao);


                       return true;


                    }


              }


              return true;


          }


          if(MinhaGang[playerid] == Grove)


          {


              if(ProvocoCasarao[playerid] == 1)


              {


                    if(IsPlayerInCasarao(playerid))


                    {


                           GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);


                           format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Dominaram o Casarгo.",NomeJFS);


                           SendClientMessageToAll(CorGrove, CelulasJFS);


                           SendClientMessage(playerid, -1, "Vocк dominou o Casarгo.");


                           GangZoneStopFlashForAll(GZCasarao);


                           GangZoneShowForAll(GZCasarao, CorGrove);


                           Dominando[playerid] = 0;


                           ProvocoCasarao[playerid] = 0;


                           GuerranoCasarao = 0;


                           donoCasarao = 2;


                           KillTimer(TempoGuerraCasarao);


                           return true;


                    }


                    else


                    {


                           SendClientMessage(playerid, CorGrove, "Vocк nгo estб na Construзгo Abandonada.");


                           Dominando[playerid] = 0;


                           GangZoneStopFlashForAll(GZCasarao);


                           GangZoneShowForAll(GZCasarao, 0xFFFFFF96);


                           ProvocoCasarao[playerid] = 0;


                           GuerranoCasarao = 0;


                           donoCasarao = 0;


                           KillTimer(TempoGuerraCasarao);


                           return true;


                    }


              }


              return true;


          }


          return true;


    }


    1.5 - Finazilando o IsPlayerInCasarao.

    Se Lembra da Coordenada Que Criamos Lб no Comeзo ?
    pawn Код:

    Código:
    GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);


    Entгo Basta Fazer o Seguinte.
    No Final do Seu GameMode, Bote:
    pawn Код:

    Código:
    stock IsPlayerInCasarao(playerid)


    {


        new Float:x,Float:y,Float:z;


        GetPlayerPos(playerid, x, y, z);


        if(x >= 1122.5748 && y >= -2068.6694 && x <= 1208.1812 && y <= -1994.9491) return true;


        else return false;


    }


    Ou Seja, Basta Aplicar na Ordem Que Estб na GangZoneCreate.

    Pronto Terminou o Nosso Tutorial, Caso Queria Um Code Sem Erros, й Pegando Normalmente, Abaixo um FilterScript Criado Por Mim:

    pawn Код:

    Código:
    #include <a_samp>




    Código:
    new Dominando[MAX_PLAYERS];


    new GZCasarao;


    new donoCasarao;


    new GuerranoCasarao;


    new ProvocoCasarao[MAX_PLAYERS];


    new TempoGuerraCasarao;


    forward GuerraCasarao(playerid);


    new CelulasJFS[128];


    new NomeJFS[MAX_PLAYER_NAME];



    //========================
    //S istema de Gang Criado

    Código:
    new MinhaGang[MAX_PLAYERS];


    #define Vagos 1


    #define Grove 2


    #define CorGrove 0x00FF00C8


    #define CorVagos 0xFFFF00C8


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


    Código:
    public OnFilterScriptInit()


    {


        print("\n--------------------------------------");


        print("FS GangZ5one Casarгo Por Jonathan Feitosa Carregado.");


        print("--------------------------------------\n");


        return 1;


    }




    Código:
    public OnFilterScriptExit()


    {


        print("\n--------------------------------------");


        print("FS GangZone Casarгo Por Jonathan Feitosa Descarregado..");


        print("--------------------------------------\n");


        return 1;


    }




    Código:
    main()


    {


        print("\n----------------------------------");


        print("Criado Por: Jonathan Feitosa");


        print("----------------------------------\n");


    }




    Código:
    public OnGameModeInit()


    {


        GZCasarao = GangZoneCreate(1122.5748, -2068.6694, 1208.1812, -1994.9491);


        return 1;


    }




    Código:
    public OnPlayerConnect(playerid)


    {


        MinhaGang[playerid] = Grove;


        if(donoCasarao == 0)


        {


             GangZoneShowForPlayer(playerid, GZCasarao, 0xC0C0C0AA);


        }


        if(donoCasarao == 1)


        {


            GangZoneShowForPlayer(playerid, GZCasarao, CorVagos);


        }


        if(donoCasarao == 2)


        {


            GangZoneShowForPlayer(playerid, GZCasarao,CorGrove);


        }


        return 1;


    }




    Código:
    public OnPlayerDisconnect(playerid, reason)


    {


        if(ProvocoCasarao[playerid] == 1)


        {


            


             GangZoneStopFlashForAll(GZCasarao);


             GangZoneShowForAll(GZCasarao, 0xFFFFFF96);


             GuerranoCasarao = 0;


             ProvocoCasarao[playerid] = 0;


             donoCasarao = 0;


             Dominando[playerid] = 0;


             KillTimer(TempoGuerraCasarao);


        }


        return 1;


    }





    Código:
    public OnPlayerDeath(playerid, killerid, reason)


    {


        if(ProvocoCasarao[playerid] == 1)


        {


                


             GangZoneStopFlashForAll(GZCasarao);


             GangZoneShowForAll(GZCasarao, 0xFFFFFF96);


             GuerranoCasarao = 0;


             ProvocoCasarao[playerid] = 0;


             donoCasarao = 0;


             Dominando[playerid] = 0;


             KillTimer(TempoGuerraCasarao);


        }


        return 1;


    }




    Código:
    public OnPlayerCommandText(playerid, cmdtext[])


    {


        if(strcmp(cmdtext, "/dominar", true) == 0 || strcmp(cmdtext, "/do", true) == 0) // Ou /dominar ou /do ^^


        {


            if(MinhaGang[playerid] == Vagos)


            {


                 if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em nenhum territуrio!");


                 if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Vocк Jб Estб Dominando um Territorio.");


                 if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Jб estб tendo uma guerra nesse territorio.");


                 GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);


                 format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Estгo Dominando o Casarгo",NomeJFS);


                 SendClientMessageToAll(CorVagos, CelulasJFS);


                 SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");


                 SendClientMessage(playerid, -1, "Espere 1 minuto para dominar estб area.");


                 GangZoneFlashForAll(GZCasarao, CorVagos);


                 Dominando[playerid] = 1;


                 ProvocoCasarao[playerid] = 1;


                 GuerranoCasarao = 1;


                 TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid);


                 return true;


            }


            if(MinhaGang[playerid] == Grove)


            {


                 if(!IsPlayerInCasarao(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo estб em nenhum territуrio!");


                 if(Dominando[playerid] == 1) return SendClientMessage(playerid, -1, "Vocк Jб Estб Dominando um Territorio.");


                 if(GuerranoCasarao == 1) return SendClientMessage(playerid, -1, "Jб estб tendo uma guerra nesse territorio.");


                 GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);


                 format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Estгo Dominando o Casarгo",NomeJFS);


                 SendClientMessageToAll(CorVagos, CelulasJFS);


                 SendClientMessage(playerid, -1, "Fique esperto, Todos os Terroristas Foi Avisados!");


                 SendClientMessage(playerid, -1, "Espere 1 minuto para dominar estб area.");


                 GangZoneFlashForAll(GZCasarao, CorGrove);


                 Dominando[playerid] = 1;


                 ProvocoCasarao[playerid] = 1;


                 GuerranoCasarao = 1;


                 TempoGuerraCasarao = SetTimerEx("GuerraCasarao", 60000, 0, "i", playerid);


                 return true;


            }


            return true;


        }


        if(strcmp(cmdtext, "/virarvagos", true) == 0)


        {


            MinhaGang[playerid] = Vagos;


            return true;


        }


        if(strcmp(cmdtext, "/virargrove", true) == 0)


        {


            MinhaGang[playerid] = Grove;


            return true;


        }


        return false;


    }




    Código:
    public GuerraCasarao(playerid)


    {


          if(MinhaGang[playerid] == Vagos)


          {


              if(ProvocoCasarao[playerid] == 1)


              {


                    if(IsPlayerInCasarao(playerid))


                    {


                        GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);


                        format(CelulasJFS, sizeof(CelulasJFS), "%s e os Vagos Dominaram a GangZone do Casarгo.",NomeJFS);


                        SendClientMessageToAll(CorVagos, CelulasJFS);


                        SendClientMessage(playerid, -1, "Vocк Dominou a GangZone do Casarгo.");


                        GangZoneStopFlashForAll(GZCasarao);


                        GangZoneShowForAll(GZCasarao, CorVagos);


                        Dominando[playerid] = 0;


                        ProvocoCasarao[playerid] = 0;


                        GuerranoCasarao = 0;


                        donoCasarao = 1;


                        KillTimer(TempoGuerraCasarao);


                        return true;


                    }


                    else


                    {


                       SendClientMessage(playerid, CorVagos, "Vocк nгo estб na Construзгo Abandonada.");


                       Dominando[playerid] = 0;


                       GangZoneStopFlashForAll(GZCasarao);


                       GangZoneShowForAll(GZCasarao, 0xFFFFFF96);


                       ProvocoCasarao[playerid] = 0;


                       GuerranoCasarao = 0;


                       donoCasarao = 0;


                       KillTimer(TempoGuerraCasarao);


                       return true;


                    }


              }


              return true;


          }


          if(MinhaGang[playerid] == Grove)


          {


              if(ProvocoCasarao[playerid] == 1)


              {


                if(IsPlayerInCasarao(playerid))


                {


                       GetPlayerName(playerid, NomeJFS, MAX_PLAYER_NAME);


                       format(CelulasJFS, sizeof(CelulasJFS), "%s e os Grove Dominaram o Casarгo.",NomeJFS);


                       SendClientMessageToAll(CorGrove, CelulasJFS);


                       SendClientMessage(playerid, -1, "Vocк dominou o Casarгo.");


                       GangZoneStopFlashForAll(GZCasarao);


                       GangZoneShowForAll(GZCasarao, CorGrove);


                       Dominando[playerid] = 0;


                       ProvocoCasarao[playerid] = 0;


                       GuerranoCasarao = 0;


                       donoCasarao = 2;


                       KillTimer(TempoGuerraCasarao);


                       return true;


                }


                else


                {


                       SendClientMessage(playerid, CorGrove, "Vocк nгo estб na Construзгo Abandonada.");


                       Dominando[playerid] = 0;


                       GangZoneStopFlashForAll(GZCasarao);


                       GangZoneShowForAll(GZCasarao, 0xFFFFFF96);


                       ProvocoCasarao[playerid] = 0;


                       GuerranoCasarao = 0;


                       donoCasarao = 0;


                       KillTimer(TempoGuerraCasarao);


                       return true;


                }


              }


              return true;


          }


          return true;


    }




    Código:
    stock IsPlayerInCasarao(playerid)


    {


        new Float:x,Float:y,Float:z;


        GetPlayerPos(playerid, x, y, z);


        if(x >= 1122.5748 && y >= -2068.6694 && x <= 1208.1812 && y <= -1994.9491) return true;


        else return false;


    }


    Crйditos: Jonathan Feitosa

    Antes de Terminar a GZ Ficou Pequena Como eu Criei, Simples, e Bem Legal.

    PS: Tutorial em Construзгo ( Explicaзхes. )
    Ajudei ? Reputation.



    [Tutorial] Criando GangZone ( GZ ) D07Xwqb
    [Tutorial] Criando GangZone ( GZ ) Yjab9HN

      Data/hora atual: Qui 2 maio 2024 - 6:27