-
CMD:rppont(playerid, params[])
{
if(IsLogged[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || Info[playerid][admin] >= 2)
{
new id;
if(sscanf(params, \"u\", id)) SendClientMessage(playerid, COLOR_WHITE, \"Használat: /rppont [iD]\");
else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_WHITE, \"Nincs ilyen játékos!\");
else
{
if(Info[id][rppontszam] != 0)
{
new str[128];
format(str,128,\"% jelenglegi állása: %d pontozás, átlag: %d\", Info[id][rppontszam],Info[id][rppont]/Info[id][rppontszam]);
SendClientMessage(playerid, COLOR_WHITE, str);
printf(\"%s használta a /rppont parancsot %s-ra\", PlrName(playerid), PlrName(id));
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"Az illetõnek nincs rppontja!\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"Nem vagy bejelentkezve!\");
}
return 1;
}
Ha pontozások számát jól kiirja, de az átlagot nem. Mi lehet a baj?
-
Mert egy átlag általában egy nem egész szám tehát float típusú. (0.34)
format(str,128,\"% jelenglegi állása: %d pontozás, átlag: %d\", Info[id][rppontszam],Info[id][rppont]/Info[id][rppontszam]);
Próbáld ki így:
format(str,128,\"Jelenlegi állása: %d pontozás, átlag: %f\", Info[id][rppontszam], float( Info[id][rppont] / Info[id][rppontszam] ));
-
CMD:rppont(playerid, params[])
{
if(IsLogged[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || Info[playerid][admin] >= 2)
{
new id;
if(sscanf(params, \"u\", id)) SendClientMessage(playerid, COLOR_WHITE, \"Használat: /rppont [iD]\");
else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_WHITE, \"Nincs ilyen játékos!\");
else
{
if(Info[id][rppontszam] != 0)
{
new str[128];
new Float:atlag = Info[id][rppont]/Info[id][rppontszam];
format(str,128,\"%s jelenglegi állása: %d pontozás, átlag: %.2f\", PlrName(id), Info[id][rppontszam], atlag);
SendClientMessage(playerid, COLOR_WHITE, str);
printf(\"%s használta a /rppont parancsot %s-ra\", PlrName(playerid), PlrName(id));
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"Az illetõnek nincs rppontja!\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"Nem vagy bejelentkezve!\");
}
return 1;
}
Így se írja ki rendesen, csak egész számot ír ki:S
-
Most lehet nagy baromságot mondok de hagyd ki a kettest a float-nál a formatban és úgy próbáld ki ha úgyse megy akkor passzolok...=/
Vampy
-
CMD:rppont(playerid, params[])
{
if(IsLogged[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || Info[playerid][admin] >= 2)
{
new id;
if(sscanf(params, \"u\", id)) SendClientMessage(playerid, COLOR_WHITE, \"Használat: /rppont [iD]\");
else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_WHITE, \"Nincs ilyen játékos!\");
else
{
if(Info[id][rppontszam] != 0)
{
new str[128];
new Float:atlag = Info[id][rppont]/Info[id][rppontszam];
format(str,128,\"%s jelenglegi állása: %d pontozás, átlag: %.2f\", PlrName(id), Info[id][rppontszam], atlag);
SendClientMessage(playerid, COLOR_WHITE, str);
printf(\"%s használta a /rppont parancsot %s-ra\", PlrName(playerid), PlrName(id));
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"Az illetõnek nincs rppontja!\");
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"Nem vagy bejelentkezve!\");
}
return 1;
}
Így se írja ki rendesen, csak egész számot ír ki:S
Zsolesszka errõl beszélt:
[pawn]format(str,128,\"Jelenlegi állása: %d pontozás, átlag: %f\", Info[id][rppontszam], float( Info[id][rppont] / Info[id][rppontszam] ));[/pawn]
Nem arról, hogy lebegõpontosként hozd is létre...