Probleme mit lotto biz

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Moin zusammen


    Hab mir ein Lotto biz gemacht.Wo der Inhaber des Biz den Preis des Lottolos festlegen kann.
    Wenn jetzt einer ein los kaufen will kommt da "Du braucht 11.500.000.000$"Obwohl der preis bei 500$ liegt.



    if(strcmp(cmd, "/lotto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLottoNr] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast bereits ein Lotterielos !");
    return 1;
    }
    new cost = SBizzInfo[7][sbEntranceCost];
    if(GetPlayerMoney(playerid) >= cost)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du brauchst $%d um ein Lotterielos kaufen zu können !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE,"Benutze: /lotto [nummer]");
    return 1;
    }
    new lottonr = strval(tmp);
    if(lottonr < 1 || lottonr > 64) { SendClientMessage(playerid, COLOR_GREY, " Deine Lotterienummer darf nicht unter 1 oder über 64 liegen!"); return 1; }
    format(string, sizeof(string), "* Du hast dir ein Lotterielos mit der Nummer: %d gekauft, viel Glück.", lottonr);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, -cost);
    SBizzInfo[7][sbTill] += cost;
    Jackpot += 40;
    PlayerInfo[playerid][pLottoNr] = lottonr;
    }
    return 1;
    }


    gruß sharive

  • Du hast bei if(GetPlayerMoney(playerid) >= cost) das Zeichen falsch gesetzt.
    Anstatt >, muss das < rein, du hast abgefragt, ob der Spieler mehr Geld hat, als der Eintrittspreis und wenn ja, kommt diese Meldung und sonst passiert nix.
    So müsste es funktionieren:


    if(strcmp(cmd, "/lotto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLottoNr] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast bereits ein Lotterielos !");
    return 1;
    }
    new cost = SBizzInfo[7][sbEntranceCost];
    if(GetPlayerMoney(playerid) <= cost)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du brauchst $%d um ein Lotterielos kaufen zu können !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE,"Benutze: /lotto [nummer]");
    return 1;
    }
    new lottonr = strval(tmp);
    if(lottonr < 1 || lottonr > 64) { SendClientMessage(playerid, COLOR_GREY, " Deine Lotterienummer darf nicht unter 1 oder über 64 liegen!"); return 1; }
    format(string, sizeof(string), "* Du hast dir ein Lotterielos mit der Nummer: %d gekauft, viel Glück.", lottonr);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, -cost);
    SBizzInfo[7][sbTill] += cost;
    Jackpot += 40;
    PlayerInfo[playerid][pLottoNr] = lottonr;
    }
    return 1;
    }