[Duda] Funciуn como condicional if.
#1

Hola mi duda serнa como poner una funciуn como condicional if? O sea, la funciуn la tomo como "stock" y me gustarнa usarla como if :P

Asн como "if(GetPlayerScore...".

Saludos
Reply
#2


pawn Код:
stock Tu_Funcion(playerid){
    //FUNCION
}

if(Tu_Funcion(playerid)) {
    //FUNCION
}
Reply
#3

Asн de fбcil? Y no es necesario una variable?.
Reply
#4

Quote:
Originally Posted by Exagen
Посмотреть сообщение
Asн de fбcil? Y no es necesario una variable?.

para ke una variable?
Reply
#5

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

para ke una variable?
Era una duda xD.

Gracias
Reply
#6

La estructura de control "if" trabaja mediante valores lуgicos, esto quiere decir que lo que estй dentro de su area (cуdigo que se ejecutarб si la condiciуn es cierta) solo funcionarб si la condiciуn es cierta (o true al ingles).

Los valores lуgicos son 2, el primero es falso (0) o cero, el segundo es verdadero (!0) o diferente a cero (con esto quiero decir que 1, 2, 3, 4... son verdaderos todos).

Por esta razуn, "if" utiliza los parentesis y las funciones strcmp, floatcmp y demбs devuelven valores lуgicos.

Ahora las funciones... al hacer esto.


pawn Код:
new var = 4;
stock funcion() return var;

//Callback cualquiera
new guardar = funcion();
La variable "guardar" tendrб el valor devuelto por "funcion()" que este es 4. Si utilizamos esta variable en la estructura "if".

pawn Код:
if(guardar)
{

}
Se cumplirнa lo de su interior ya que es verdadero (diferente a cero).
Reply
#7

Ahhh, o sea que si el valor de "funcion()" serб lo mismo que "guardar"?
Reply
#8

Algo asн. El valor que retorne "funcion()" serб el resultado de la variable, ya que eso quisimos al establecerle un valor con el signo de igualdad.

pawn Код:
/*||            var tendrб el valor retornado por funcion()                    ||*/
new var = funcion();
Es por eso que cuando crean un pickup, de esta forma.

pawn Код:
new pickup = CreatePickup(...
La funciуn nativa "CreatePickup" devuelve un valor (como nuestra funciуn) que es el ID del pickup, este se guarda en la variable "pickup" para luego usarla como condiciуn en mayormente la callback "OnPlayerPickUpPickup" para verificar si el jugador tocу el pickup con ID que se almacenaba en nuestra variable.
Reply
#9

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Algo asн. El valor que retorne "funcion()" serб el resultado de la variable, ya que eso quisimos al establecerle un valor con el signo de igualdad.

pawn Код:
/*||            var tendrб el valor retornado por funcion()                    ||*/
new var = funcion();
Es por eso que cuando crean un pickup, de esta forma.

pawn Код:
new pickup = CreatePickup(...
La funciуn nativa "CreatePickup" devuelve un valor (como nuestra funciуn) que es el ID del pickup, este se guarda en la variable "pickup" para luego usarla como condiciуn en mayormente la callback "OnPlayerPickUpPickup" para verificar si el jugador tocу el pickup con ID que se almacenaba en nuestra variable.
No entiendo mucho de eso de retornar valor y esas cosas.

+Rep por interesarte en ayudarme
Reply
#10

El valor retornado es el que se expone despues de "return ". En lenguaje Pawn.

pawn Код:
stock funcion() return 1;
main()
{
    printf("funcion: %d", funcion());
}
En ese caso es un valor numйrico por lo que puedo imprimirlo con "%d" o "%i".
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)