Explicação da Função : CreatePickup.
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
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:
Pronto, Vamos Prosseguir Para o Passo Número 2.
Definimos no Topo Nossas Pickups. Agora Vamos na Callback OnGameModeInit.
pawn Code:
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:
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:
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:
pawn Code:
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:
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 )
- 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 )