Duda / Entendimiento de cуdigo
#1

Vale serй directo,observando el tutorial de "Aprender pawn" que esta muy completo por cierto,tengo una duda sobre
este cуdigo la razуn es que no sй si entendн dicho cуdigo,Bueno este es.

pawn Код:
IsValidPlayer(playerid)
{
    if(playerid == INVALID_PLAYER_ID || !IsPlayerConnected(playerid))
        return false;
    return true;
}
Vale segъn yo: Al parecer es una funciуn,en el desarrollo de el hace una verificaciуn con if.
si playerid es igual a INVALID_PLAYER_ID retorna a false їNo?, "у" (Guiбndome de los ||) que segъn eso significa "O / OR" de lo contrario IsPlayerConnected toma el valor contrario que viene siendo true. Saco la conclusiуn por el signo de "!". Osea їEs un if + else a la vez?,їSi no es igual PLAYERID y INVALID_PLAYER_ID,se ejecuta el IsPlayerConnected?.

esa es la parte del return,Gracias

Por cierto se me olvidaba,Cuando la gente se refiere a la lуgica de pawn їQue quiere decir con eso?
Reply
#2

En realidad, 'return' detiene le script retornбndole un valor. Mira:

pawn Код:
IsValidPlayer(playerid)
{
    if(playerid == INVALID_PLAYER_ID || !IsPlayerConnected(playerid)) return false; // Si claramente no es una ID vбlida, detendrб el script y retornarб 'false'.
    return true; // Si retorna este valor, es por que lo anterior se cumpliу.
}
Tu primera pregunta es cierta. A lo de '!', significa que el valor es 0. O sea:

pawn Код:
if(!IsPlayerConnected(playerid))
// Serб lo mismo que
if(IsPlayerConnected(playerid) == 0)
No sй si entenderбs, tambiйn yo no soy mucho de explicar bien.
Reply
#3

Si entendн muy bien,Por eso le puse mucha atenciуn a los signos esos (Que ni me recuerdo como se llama jaja).
iba a editar el tema,por que me confundн con las funciones,por que no tengo conocimientos de ellas,pero por los nombres me imaginaba algo. ahora la pregunta es,їDуnde saber el funcionamiento de esas funciones en espaсol?.
que por cierto tambiйn,no estoy muy seguro que INVALID_PLAYER_ID sea una funciуn,їQue es exactamente esto?,lo digo por que las funciones segъn el tutorial y cosas que he visto son asн "Nombredelafuncion(parametros blabla);". Gracias enzo
Reply
#4

Las funciones de SA-MP puedes verlas en la Wiki de la misma (En ******: MiFuncion SA-MP Wiki). Puedes ver las funciones de SA-MP abriendo el include 'a_samp' (Lo puedes hacer con cualquier editor de textos como el Bloc de Notas, Pawno, otros...) y las encontrarбs.

'INVALID_PLAYER_ID' es un macro definido de la siguiente manera:

pawn Код:
#define INVALID_PLAYER_ID                   (0xFFFF)
// Esto estarб en el include 'a_samp'.
Y no, las funciones de SA-MP estбn todas en inglйs. Puedes hacer tus propias funciones con nombres en espaсol, pero es algo feo jajajaja.
Reply
#5

Esto es mбs sencillo si lo pensas como una oraciуn, expresado en una oraciуn ese cуdigo serнa:

Si playerid es igual a una ID invalida del jugador o si playerid no esta conectado retorna un valor falso, caso contrario retorna verdadero.
IsPlayerConnected retorna true si el jugador esta conectado, con el signo de exclamaciуn lo que hace es verificar si retorna falso es como poner
pawn Код:
if(IsPlayerConnected(playerid) == false)
Despuйs a ese cуdigo le falta un else aunque no sea necesario la gente que reciйn empieza se puede preguntar el porque retornamos true despuйs de retornar false.
Reply
#6

Vale,gracias,no me referнa a funciones en espaсol el nombre,si no la explicaciуn de cada una,pero gracias,No sй que es exactamente un macro,pero entiendo un poco,no soy cerebro corto,saludos y gracias enzo

EDIT: Ok just eso estaba claro,pero me ha quedado aъn mбs,ahora tengo una idea alternativa para no usar if - else
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)