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.

    Entrando/Saindo de Interiores - Apertando F e Pickup

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    Entrando/Saindo de Interiores - Apertando F e Pickup Empty Entrando/Saindo de Interiores - Apertando F e Pickup

    Mensagem por Weslley_Script Qui 10 Out 2019 - 18:06

    Explicação da Função : CreatePickup.




    Código:
    CreatePickup(Modelo, Spawn, Corx, Coy, Corz,-1);



    Explicando :

    CreatePickup = Criar a Pickup.
    Modelo = a Pickup Que Irá Aparecer ( Irei Escolher a I )
    Spawn = ( Irei Colocar o 2 )
    Corx = Coordenada X Da Onde a Pickup Ficará.
    Cory = Coordenada Y Da Onde a Pickup Ficará.
    Corz = Coordenada Z Da Onde a Pickup Ficará.
    -1 = Virtual Word ( deixe -1 mesmo )


    Explicando a Função : IsPlayerInRangeOfPoint




    Código:
    if(IsPlayerInRangeOfPoint(playerid, 2.0, Corx, Cory, Corz))




    2.0 = Raio
    Corx = Coordenada X
    Cory = Coordenada Y
    Corz = Coordenada Z

    Veja Mais Em : http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint



    Vamos Começar Agora.

    Criando Entrada/Saida de Interiores Usando Pickup

    Primeiramente, Vamos Definir Nossas 2 Pickups. Que Ajudará a Fazer o Player Entrar é Sair do Interior


    pawn Code:


    Código:
    new EntradaPickup; // Usaremos Para Entrar
    new SaindaPickup; // Usaremos Para Sair




    Pronto, Vamos Prosseguir Para o Passo Número 2.
    Definimos no Topo Nossas Pickups. Agora Vamos na Callback OnGameModeInit.


    pawn Code:


    Código:
    // Então Vou da um Nome Para Minha Pickup. Colocar Ela Para Entrar.
    EntradaPickup = CreatePickup(1239, 2, 1503.3359, 1432.3585, 10.1191, -1);
    // Então Vou da um Nome Para Minha Pickup. Colocar Ela Para Sair.
    SaidaPickup = CreatePickup(1239, 2, 1323.3359, 1122.3585, 10.12391, -1);




    Ou Seja, as nossas pickups Defininas em Cima, Demos Uma Função a Elas.Agora Vamos Para o Passo Número 3.

    Então Ao Ficar Em Cima da Pickup Com Nome " Entrada Pickup ", a Seguinte Função Será Chamada :

    Na Callback OnPlayerPickUpPickup Bote a Função Que Será Chamada, Na Pickup de Entrada :


    pawn Code:


    Código:
    if(pickupid == EntradaPickup)
    {
         SetPlayerInterior(playerid, 11); // Interior Do Local que Será Setado.
         SetPlayerPos(playerid, 1323.3359, 1122.3585, 10.12391); // Setando ele Para Dentro do Interior.
    }




    Resultado : Ao Ficar em Cima da Pickup "EntradaPickup" Ele Tele transportará o Player Para o Local Desejado, é Setará o Interior dele, Para Não Bugará.

    Terminado o Passo 4. Faça a Mesma Coisa Com a "SaidaPickup".


    pawn Code:


    Código:
    if(pickupid == SaidaPickup)
    {
         SetPlayerInterior(playerid, 0); // Interior Do Local que Será Setado.
         SetPlayerPos(playerid, 1503.3359, 1432.3585, 10.1191); // Setando ele Para Fóra Ou Seja Saindo do Interior.
    }




    Resultado : Ao Ficar em Cima da Pickup "SaidaPickup" Ele Tele transportará o Player Para o Local Desejado.

    - Assim Podendo Criar Teleportes, Entradas, Saidas, Entre Outros.


    Criando Entrada/Saida de Interiores Apertando F


    Primeiramente. Vamos Ter que Fazer Nosso Comando.

    - Na Callback OnPlayerCommandText Coloque Nosso Comando de Entrada/Saida.

    pawn Code:


    Código:
    // Vamos ao Comando Entrar
    if(strcmp(cmdtext, "/entrandointerior", true) == 0) // Comando ( Não Importa Vamos Usar o F )
    {
       // Ou Seja. Se Ele tiver no Local Do IsPlayerInRangeOfPoint, Funcionará as Funções Abaixo
       if(IsPlayerInRangeOfPoint(playerid, 2.0, 2695.6880, -1704.6300, 11.8438))
       {
           SetPlayerInterior(playerid, 11); // .Setando o Interior ao Entrar
           SetPlayerPos(playerid, 1503.3359, 1432.3585, 10.1191); // Setado Para Aqui ( TELE )
       }
       return true; // Returnando a 1
    }




    pawn Code:


    Código:
    // Vamos No Comando Sair
    if(strcmp(cmdtext, "/sairdointerior", true) == 0) // Comando ( Não Importa Vamos Usar o F )
    {
       // Ou Seja. Se Ele tiver no Local Do IsPlayerInRangeOfPoint, Funcionará as Funções Abaixo
       if(IsPlayerInRangeOfPoint(playerid, 2.0, 503.3359, 1432.3585, 10.1191))
       {
          SetPlayerInterior(playerid, 0); // Setando o Interior ao Sair.
          SetPlayerPos(playerid, 2695.6880, -1704.6300, 11.8438); // Setado Para Aqui ( TELE )
       }
       return true; // Returnando a 1
    }




    Como Você Pode ver é Quase a Mesma Coisa. Só é Adicionada a Função IsPlayerInRangeOfPoint. Que Funcionará o Comando Apenas Naquele Local.
    Agora Vamos Por Para Apertar F.


    Na Callback OnPlayerKeyStateChange Coloque o Seguinte Código.

    pawn Code:


    Código:
    if ((newkeys==KEY_SECONDARY_ATTACK)) // Key ( F / Enter )
    {
       OnPlayerCommandText(playerid,"/entrandointerior"); // Ao Apertar "F" Funcionará o Comando Do Lado.
       OnPlayerCommandText(playerid,"/sairdointerior"); // Ao Apertar "F" Funcionará o Comando Do Lado.
      // Se Quiser Colocar mais, a vontade.
    }




    Então é Muito Fácil. é Com Isso Da Para Fazer Várias Coisas. Espero Que Tirado Uma Dúvida de Alguem.

    Erros Avisar-me. Tou Enferrujado rsrs.
    Créditos: >> Jonathan Feitosa << ( Sumido )



    Entrando/Saindo de Interiores - Apertando F e Pickup D07Xwqb
    Entrando/Saindo de Interiores - Apertando F e Pickup Yjab9HN

      Data/hora atual: Seg 20 maio 2024 - 10:47