19.12.2012, 19:56
Criando entradas sa-mp
Ola vim trazer um estilo novo creio que seja mais facil
Explicaзao :
Este tutorial vai te mostrar como e mais simples fazer entradas, voce tera que botar as coordenada
da entrada e da saida e id do interio vamos a pratica
Pratica :
Vamos definir o maximo de entradas
agora vamos criar o enum com as informacoes
Agora logo abaixovoce irar adicionar as informaзoes
caso se perca com as informaзoes e assim adc
Agora iremos criar um lop para criar todos os pinckup das entradas/saidas , tudo que conter no lop vai
ser carregado do enum criado acima.
PS: VOCE SO VAI PRECISAR CRIAR DOIS PICKUP / UM DENTRO E OUTRO FORA DO INTERIOR ,IGUALMENTE COM A LABEL.
Agora claro para entrar no interior ele tera que apertar F voces terao que ir na public OnPlayerKeyStateChange
La tbm usaremos lop para carregar as informaзoes do enum, vamos la.
Espero ter ajudado alguns que tenha dificuldade neste tipo de coisa.
Creditos :
Se achar algum erro por favor me fale!
Ola vim trazer um estilo novo creio que seja mais facil

Explicaзao :
Este tutorial vai te mostrar como e mais simples fazer entradas, voce tera que botar as coordenada
da entrada e da saida e id do interio vamos a pratica
Pratica :
Vamos definir o maximo de entradas
pawn Код:
#define MAX_ENTRADAS 1 // Altere para quanto voce criar de entradas
pawn Код:
enum Entradas
{
IdPinckup, // ID pinckup
NomeEntrada[30], // Nome da Entrada
Float:EX, // Coord 1 Entrada
Float:EY, // Coord 2 Entrada
Float:EZ, // Coord 3 Entrada
NomeSaida[30], // Nome sairda
Float:SX, // Coord 4 Saida
Float:SY, // Coord 5 Saida
Float:SZ, // Coord 6 Saida
IDInt // Id Do interior
};
pawn Код:
Exemplo :
new EntradasInfo[MAX_ENTRADAS][Entradas] = {
{1318,"NomeEntrada", 0.0, 0.0, 0.0,"NomeSaida", 0.0, 0.0, 0.0, 3}
};
PHP код:
(ID pinckup, Nome da Entrada, Cord1, Cord2, Cord3, NomeSaida, Cord4, Cord5, Cord6, Id do Interior}
ser carregado do enum criado acima.
pawn Код:
new str[30], tito[30];
for(new e=0; e<MAX_ENTRADAS; e++)
{
CreatePickup(EntradasInfo[e][IdPinckup], 2, EntradasInfo[e][EX], EntradasInfo[e][EY], EntradasInfo[e][EZ]);// Criar o Pickup
CreatePickup(EntradasInfo[e][IdPinckup], 2, EntradasInfo[e][SX], EntradasInfo[e][SY], EntradasInfo[e][SZ], EntradasInfo[e][IDInt]);// Criar o Pickup
format(str, sizeof(str), "%s",EntradasInfo[e][NomeEntrada]);
Create3DTextLabel(str , 0x008080FF, EntradasInfo[e][EX], EntradasInfo[e][EY], EntradasInfo[e][EZ], EntradasInfo[e][IdPinckup], 0, 0);
format(tito, sizeof(tito), "%s",EntradasInfo[e][NomeSaida]);
Create3DTextLabel(tito , 0x008080FF, EntradasInfo[e][SX], EntradasInfo[e][SY], EntradasInfo[e][SZ], EntradasInfo[e][IdPinckup], 0, 0);
}
Agora claro para entrar no interior ele tera que apertar F voces terao que ir na public OnPlayerKeyStateChange
La tbm usaremos lop para carregar as informaзoes do enum, vamos la.
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
for(new e=0; e<MAX_ENTRADAS; e++)
{
if ((newkeys == KEY_SECONDARY_ATTACK))
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, EntradasInfo[e][EX], EntradasInfo[e][EY], EntradasInfo[e][EZ]))
{
SetPlayerInterior(playerid, EntradasInfo[e][IDInt]); // id do interiror
SetPlayerPos(playerid, EntradasInfo[e][SX], EntradasInfo[e][SY], EntradasInfo[e][SZ]); // vai pegar coordenadas de dentro do interiror
}
else if(IsPlayerInRangeOfPoint(playerid, 2.0, EntradasInfo[e][SX], EntradasInfo[e][SY], EntradasInfo[e][SZ]))
{
SetPlayerInterior(playerid, 0); // interior da city SA
SetPlayerPos(playerid, EntradasInfo[e][EX], EntradasInfo[e][EY], EntradasInfo[e][EZ]);
}
return 1;
}
}
return 1;
}
Espero ter ajudado alguns que tenha dificuldade neste tipo de coisa.
Creditos :
PHP код:
mau tito: fez code
Jonhatan Feitosa tutorial dele me ajudou a pensar nisto