GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Detrot - 2011. Június 28. - 13:18:00

Cím: Rppont kiirás hiba
Írta: Detrot - 2011. Június 28. - 13:18:00
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?
Cím: Rppont kiirás hiba
Írta: Zsolesszka - 2011. Június 28. - 15:16:22
Mert egy átlag általában egy nem egész szám tehát float típusú. (0.34)
 
Idézetet írta: Detrot date=1309259880\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9240\" data-ipsquote-contentclass=\"forums_Topic
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] ));
Cím: Rppont kiirás hiba
Írta: Detrot - 2011. Június 28. - 19:25:02
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
Cím: Rppont kiirás hiba
Írta: Vampesz - 2011. Június 29. - 03:55:51
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
Cím: Rppont kiirás hiba
Írta: GroX - 2011. Június 30. - 11:14:39
Idézetet írta: Detrot date=1309281902\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9240\" data-ipsquote-contentclass=\"forums_Topic

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...