[Tutorial] [TUT] Entrando nos locais apertando 'F'
#1

Bom eu vi que muitos tem raiva, de quando a gente passa encima de uma pickup e jб vai entrando em um interior, e muitos tem dъvidas de como fazer para entrar apenas pressionando a tecla 'F'.
Ok estarei ensinando nesse tutorial, ou pelos menos tentando ajudar, pois й meu primeiro tutorial ok siga os passos:

Vб atй
pawn Код:
public OnPlayerPickUpPickup
E procure algum como se fosse assim:

pawn Код:
if(pickupid == Pickup)
    {
        GameTextForPlayer(playerid, "~p~Departamento Policial", 5000, 1);
        SetPlayerInterior(playerid, 6); // Aqui o interior de dentro do local.
        SetPlayerPos(playerid,246.7079,66.2239,1003.6406); // Aqui sгo as coordenadas de dentro do Departamento Policial, ou de outro interior.
        PlayerInfo[playerid][pInt] = 6;
    }
Apуs achar isso, pegue o nome que estб no if(pickupid == Pickup) no caso estarei usando como exemplo Pickup.
Entгo vai atй onde fica as pickups, e procure por algum do tipo:
pawn Код:
Pickup = CreatePickup(1318, 23, 1685.89,-2239.94,13.55,-1); // As coordenadas, sгo as da entrada, no caso fora do interior.
Ok as coordenadas que esta nessa pickup, й a de entrada do interior.
Agora crie um comando de /entrar vai atй:

pawn Код:
public OnPlayerCommandText
E crie o seguinte comando siga:

pawn Код:
if(strcmp(cmdtext, "/entrar", true) == 0 ||  strcmp(cmdtext, "/enter", true) == 0) // Aqui vai ser o comando do qual irб digitar para entrar.
{
    if (PlayerToPoint(2.0, playerid,1685.89,-2239.94,13.55)) // Aqui ficarб as coordenadas da entrada, no caso no ficarб a pickup de entrada.
       {
        SetPlayerInterior(playerid,3); // Aqui o interior de dentro do local.
        SetPlayerPos(playerid,246.7079,66.2239,1003.6406); // E aqui as coordenadas, de onde irб parar apуs a entrada.
        GameTextForPlayer(playerid, "~w~Departamento Policial", 5000, 1); // Nome do local Ex: Prefeitura, 24/7 e Loja de Armas...
    }            
    return 1;
}
Ok agora vamos criar o de saida siga o exemplo:
pawn Код:
if(strcmp(cmdtext, "/sair", true) == 0 )
{
    if (PlayerToPoint(2.0, playerid,387.7978,173.8582,1008.3828))  // Aqui й as coordenadas de dentro do interior, na qual ele vai apertar 'F' para sair.
      {
        SetPlayerInterior(playerid,0); // Aqui й o interior onde ele vai parar apуs sair, no caso NГO MODIFIQUE!
        SetPlayerPos(playerid,1480.9403,-1770.8481,18.7958); // Aqui as coordenadas, de onde ele vai parar apуs sai do interior, apertando 'F'.
        GameTextForPlayer(playerid, "~w~Los Santos", 5000, 1); // Aqui й o nome da cidade, Los Santos. Agora se seu servidor for em outra cidade й sу modificar.
    }
Pronto apуs criar isso tudo, apague isso:
pawn Код:
if(pickupid == Pickup)
    {
        GameTextForPlayer(playerid, "~p~Departamento Policial", 5000, 1);
        SetPlayerInterior(playerid, 6);
        SetPlayerPos(playerid,246.7079,66.2239,1003.6406);
        PlayerInfo[playerid][pInt] = 6;
    }
E apague o Pickup = da Pickup que estб criada, nгo apague a Pickup inteira, somente isso "Pickup =" veja como vai ficar:

pawn Код:
CreatePickup(1318, 23, 1685.89,-2239.94,13.55,-1);
Apуs isso vб nas news e procure:
pawn Код:
new Pickup;
E apague tambйm, o news Pickup por completo.

Bom vamos ao:
pawn Код:
CheckForWalkingTeleport(playerid)
Vou usar o GameMode do Caio_Cartaxo como exemplo o VLC.pwn, veja que й quase igual ao outro, sу que nгo precisa de pickup nada.
pawn Код:
if(PlayerToPointStripped(1, playerid,1554.9537,-1675.6584,16.1953, cx,cy,cz)) // Coordenadas de entrada.
    {
        GameTextForPlayer(playerid, "~p~DP", 5000, 1); // Nome do local.
        SetPlayerInterior(playerid, 6); // Interior de dentro do local.
        SetPlayerPos(playerid,246.7079,66.2239,1003.6406); // Coordenada de dentro do local, no caso interior.
        PlayerInfo[playerid][pInt] = 6;
    }
    else if(PlayerToPointStripped(1, playerid,246.5325,62.4251,1003.6406, cx,cy,cz)) // Coordenadas da saida.
    {
        SetPlayerInterior(playerid, 0); // Interior de fora, no caso NГO MODIFIQUE!
        SetPlayerPos(playerid,1552.3231,-1674.6780,16.1953); // Coordenadas de fora do inteior ou do local.
        PlayerInfo[playerid][pInt] = 0;
    }
Apуs isso й sу pegar as coordenadas e criar o comando /entrar atй como vocкs viu logo acima.
E tambйm o de /sair e depois de criar apague e fassa o teste.

Agora vamos colocar o entrar, para ficar sу na letra 'F', ou no comando vai atй na parte de:
pawn Код:
OnPlayerKeyStateChange // Aqui й onde se define, os botгo de cada comando.
E depos ache:
pawn Код:
if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) // Aqui й a letra 'F'
E adicione os comandos:
pawn Код:
OnPlayerCommandText(playerid,"/entrar"); // E aqui os comandos a ser destinados, ao uso da letra 'F'
            OnPlayerCommandText(playerid,"/sair");


Depois й sу compilar e ir testar, bom isso somente um exemplo.
Use-o para seguir o comando por completo.
Obs: Lembre-se o nome Pickup, foi usado apenas como exemplo.

Perguntas freqьentes:

1- Como faz para ver o nъmero do interior?
R: Digite o comando /interior que irб aparecer.

2- Mas por que o meu nгo deu certo?
R: Poste o comando aqui, para que a gente possa ajudar.

3- Isso pega em qual quer lugar?
R: Sim qual quer lugar, desde que configurado correto.

Se tiver algum errado por favor postem, pois й meu primeiro tutorial e eu nгo sei muito de pawn tambйm.
Obrigado.
Creditos: diretor7
Nгo pegue antes de falar comigo por MP.
Reply
#2

acho que falto a parte das keys eim? '-'

Mais ta nй.
Reply
#3

Quote:
Originally Posted by Rodrigo_LosT
Посмотреть сообщение
acho que falto a parte das keys eim? '-'

Mais ta nй.
/\ ґ
Reply
#4

WFT ?

Lixo de tutorial
Reply
#5

Bem existe uma maneira mais fбcil, se tivermos muitos pickups como fazemos?

Eu sei que existe uma maneira mais fбcil porque eu tenho no meu GM feito por mim, mas como nao sei explicar xD

Reply
#6

Quote:

Entrando nos locais apertando 'F'

E nem chegou perto de OnPlayerKeyStateChange kkkkk!

Cada um que apareзe...
Reply
#7

Quote:
Originally Posted by faeldk
Посмотреть сообщение
E nem chegou perto de OnPlayerKeyStateChange kkkkk!

Cada um que apareзe...
Bom sobre o OnPlayerKeyStateChange tinha me esquecido estarei adicionado.
Tutorial FAIL ._.
Pelo menos no meu GameMode eu estava tudo assim. rs

@Edit
Prontinho OnPlayerKeyStateChange adicionado. rs
Reply
#8

Include Streamer
CreateDynamicPickup =)
ai na pubric la '-'
vc poe if(pickup id tal tal...
ai ele nem precisa apertar 'F'
ai ele ja entra
Reply
#9

Erick aqui ensina a como entrar pressionando 'F' lol.
Pois muitos querem aprender, creio eu estar ajudando.

Quote:
Originally Posted by PatrickChucky
Посмотреть сообщение
Bem existe uma maneira mais fбcil, se tivermos muitos pickups como fazemos?

Eu sei que existe uma maneira mais fбcil porque eu tenho no meu GM feito por mim, mas como nao sei explicar xD

Sobre muitos pickups, se a pessoa prestar bem atenзгo ela vai entender como fazer com todo o resto.
Reply
#10

Quote:
Originally Posted by [Banido]HigorOliver
Посмотреть сообщение
WFT ?

Lixo de tutorial
The message you have entered is too short. Please lengthen your message to at least 4 characters.
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)