ї Cuando y por que crear un native ?.
#1

Como dice el tнtulo mi duda es esa.

Si por ejemplo creo una funciуn:

pawn Код:
public MiFuncion(MisValores)
{

return true;
}
ї Tendrнa que crear el native ?.
ї Por que ?.
ї Cuando se debe crear un native ? ( supongo que solo en los plugins pero no estoy 100 x 100 seguro ).
Reply
#2

las natives solo es para llamar a la funciуn en el editor pawno asн tener las funciones a mano.

https://sampwiki.blast.hk/wiki/Keywords:Initialisers#native
Reply
#3

їTendrнa que crear el native? No.
їPor que? Porque no es necesario.
їCuando se debe crear un native? Cuando quieres definir funciones que ya estбn implementado en SA:MP o en un plugin.

Cuando creas funciones, debes de hacerlo haci:
pawn Код:
forward funcion(parameters);
public funcion(parameters)
{
    return true;
}
O, asi:
pawn Код:
forward public funcion(parameters);
{
    return true;
}
O, asi:
pawn Код:
#define function%0(%1)    forward%0(%1); public%0(%1)
function funcion(parameters)
{
    return true;
}
Reply
#4

o asн:

pawn Код:
stock(parameters)
{
  return true;
}
Reply
#5

Quote:
Originally Posted by Juance
Посмотреть сообщение
o asн:

pawn Код:
stock(parameters)
{
  return true;
}
Код:
stock Function(parameters)
{
  return true;
}
o asi, si la funcion es ejecutara directamente.

Код:
Function(parameters)
{
  return true;
}
Reply
#6

pawn Код:
stock Funcion(argumentos)
{
}

Funcion(argumentos)
{
}

new Funcion(argumentos)
{
}

static Funcion(argumentos)
{
}

forward Funcion(argumentos);
public Funcion(argumentos)
{
}
Tambiйn puede intentar hacer funciones con las directivas.

Ejemplo de una funciуn en linea:

pawn Код:
static Name[24];
#define GetName(%0) (GetPlayerName(%0, Name, sizeof(Name)), Name)

format(string, sizeof(string), "%s", GetName(playerid));
La desventaja es simple, si se llama 2 veces en una misma funciуn solo responderб a la primera llamada, o sea que devolverб un mismo nombrй si es llamada en una misma linea.

PD: Por cierto los natives son diferentes ya que digamos que cuando utilizamos native es para importar una funciуn que estб creada en un plugin para ser usada en PAWN, no sй si me di a entender.

Un saludo.
Reply
#7

Quote:
Originally Posted by oOFotherOo
Посмотреть сообщение
pawn Код:
stock Funcion(argumentos)
{
}

Funcion(argumentos)
{
}

new Funcion(argumentos)
{
}

static Funcion(argumentos)
{
}

forward Funcion(argumentos);
public Funcion(argumentos)
{
}
Tambiйn puede intentar hacer funciones con las directivas.

Ejemplo de una funciуn en linea:

pawn Код:
static Name[24];
#define GetName(%0) (GetPlayerName(%0, Name, sizeof(Name)), Name)

format(string, sizeof(string), "%s", GetName(playerid));
La desventaja es simple, si se llama 2 veces en una misma funciуn solo responderб a la primera llamada, o sea que devolverб un mismo nombrй si es llamada en una misma linea.

PD: Por cierto los natives son diferentes ya que digamos que cuando utilizamos native es para importar una funciуn que estб creada en un plugin para ser usada en PAWN, no sй si me di a entender.

Un saludo.
Practicamente repetistes todo lo que dijeron los usuarios que respondieron anteriormente.

Eso del "GetName" seria mejor como una funcion directa que un define.
Reply
#8

Lo mandaron a la mierda...

Se usa native para 2 cosas:

1: El native se usarб para que le den funciones en un plugin, o sea, un plugin tendrб implementada las funciones de un native que estй escrito en el cуdigo.

2: Como dijo OTACON, tener los parбmetros de dicha funciуn a mano.
Reply
#9

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
1: El native se usarб para que le den funciones en un plugin, o sea, un plugin tendrб implementada las funciones de un native que estй escrito en el cуdigo.
No sуlo plugins, para cualquier funciуn se puede usar, si entre comentario pones "native cualquiercosa(x, y);" luego te saldrбn los parбmetros cuando pongas "cualquiercosa(" como ayuda (no se como se llama la funciуn esa que te muestra los parбmetros de todo)
Reply
#10

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
No sуlo plugins, para cualquier funciуn se puede usar, si entre comentario pones "native cualquiercosa(x, y);" luego te saldrбn los parбmetros cuando pongas "cualquiercosa(" como ayuda (no se como se llama la funciуn esa que te muestra los parбmetros de todo)
A eso me referн

Quote:
Originally Posted by EnzoMetlc
Посмотреть сообщение
2: Como dijo OTACON, tener los parбmetros de dicha funciуn a mano.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)