Posts: 87
Threads: 10
Joined: Mar 2014
pawn Код:
public GetPlayerScoreEx(playerid)
{
new Float:score;
score = PlayersData[playerid][Puntos] / 10;
floatround(score, floatround_round);
return score; // Lнnea del error
}
Error: warning 213: tag mismatch
Lo que quiero hacer es redondear el Float:score y retornarlo en la funciуn como un integer ya redondeado.
Gracias.
Posts: 87
Threads: 10
Joined: Mar 2014
Si, lo tengo asн:
pawn Код:
enum DataUsers
{
Dinero,
Admin,
Puntos,
Score
}
new PlayersData[MAX_PLAYERS][DataUsers];
Posts: 87
Threads: 10
Joined: Mar 2014
Pero tengo entendido que se aсadirнa el tag Float a la funciуn si esta retorna un valor del tipo Float, y floatround se supone que retorna un valor tipo Integer. їAlguien me explica esto por favor?
EDIT: He probado aсadiendo el tag Float a la funciуn y al forward y me sale ahora el mismo error en los lugares donde hago uso de la funciуn. Tambiйn he probado a poner la funciуn como stock y me sale el mismo error.
Posts: 87
Threads: 10
Joined: Mar 2014
Me funcionу al aсadirle _: a lo que retorno, muchas gracias.
Posts: 2,041
Threads: 97
Joined: Jun 2013
28.06.2014, 21:32
(
Последний раз редактировалось Swedky; 28.06.2014 в 21:54.
Причина: Ty OTACON por mostrarme el error.
)
Mencionarй tu error:
pawn Код:
public GetPlayerScoreEx(playerid)
{
new Float:score; // Declararemos que 'score' serб flotante.
score = PlayersData[playerid][Puntos] / 10;
floatround(score, floatround_round); // Aquн haremos que 'score' sea un entero.
return score; // Retornamos 'score', peeeero, como la funciуn no tiene el tag 'Float', pero la variable sн, darб errores.
}
Al usar '
floatround' no declararбs que el compilador tomarб esa variable como flotante, por lo que darб error.
Soluciуn:
pawn Код:
stock GetPlayerScoreEx(playerid) // Ya sea 'public' o 'stock', siempre serб el mismo cуdigo. No cambia errores.
{
return floatround(PlayersData[playerid][Puntos]/10);
}
O mбs simple:
pawn Код:
#define GetPlayerScoreEx(%1) floatround(PlayersData[%1][Puntos]/10)
Es solo simple lуgica.
Posts: 4,930
Threads: 467
Joined: Dec 2010
Quote:
Originally Posted by EnzoMetlc
Mencionarй tu error:
pawn Код:
public GetPlayerScoreEx(playerid) { new Float:score; // Declararemos que 'score' serб flotante. score = PlayersData[playerid][Puntos] / 10; floatround(score, floatround_round); // Aquн haremos que 'score' sea un entero. return score; // Retornamos 'score', peeeero, como la funciуn no tiene el tag 'Float', pero la variable sн, darб errores. }
Al usar ' floatround' no declararбs que el compilador tomarб esa variable como flotante, por lo que darб error.
Soluciуn:
pawn Код:
stock GetPlayerScoreEx(playerid) // Ya sea 'public' o 'stock', siempre serб el mismo cуdigo. No cambia errores. { return floatround(PlayersData[playerid][Puntos]/10); }
O mбs simple:
pawn Код:
#define GetPlayerScoreEx(%1) floatround(PlayersData[playerid][Puntos]/10)
Es solo simple lуgica.
|
Код:
#define GetPlayerScoreEx(%1) floatround(PlayersData[playerid][Puntos]/10)
Код:
#define GetPlayerScoreEx(%0) floatround(PlayersData[%0][Puntos]/10)