Falsche ID und packt es nicht in die Datenbank

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
  • Hey icha habe Folgendes Problem
    Ich hab mir das Zusammengebastelt
    public TankstelleBezahlen(playerid)
    {
    if(RechnungZahlenuTankstelle[playerid] > 0)
    {
    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%i' WHERE `id` = '%i'",TankstellenPreisPlayerID[playerid],RechnungZahlenuTankstelle[playerid]);
    mysql_query(query);
    printf("Test : %d\n",query);
    }
    return 1;
    }
    public Auftanken(playerid)
    {
    for(new T;T<MAX_TANKSTELLEN;T++)
    {
    new car = GetPlayerVehicleID(playerid);
    Tank[car] = Tank[car] +1;
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    TankstellenPreisPlayerID[playerid] = preis;
    if(Tank[car] >= 100)
    {
    TanktGerade[car] = false;
    Tank[car] = 100;
    new string[64];
    TankstelleBezahlen(playerid);
    SendClientMessage(playerid, BLAU, "Dein Fahrzeug wurde vollgetankt.");
    format(string,sizeof(string),"[Tankwart]Ihre rechnung %d$ an Tankstelle: %d",TankstellenPreisPlayerID[playerid],RechnungZahlenuTankstelle[playerid]);
    SendClientMessage(playerid,BLAU,string);
    TogglePlayerControllable(playerid,1);
    KillTimer(tanktimer[playerid]);
    }
    }
    return 1;
    }
    ocmd:tanken(playerid,params[])
    {
    for(new T;T<MAX_TANKSTELLEN;T++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,Tankstell[T][Tankstelle_X],Tankstell[T][Tankstelle_Y],Tankstell[T][Tankstelle_Z]))
    {
    if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
    new car = GetPlayerVehicleID(playerid);
    if (TanktGerade[car]) return SendClientMessage(playerid,ROT,"Du tankst schon!");
    if (Motor[car] == true) return SendClientMessage(playerid,ROT,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken*BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid, -preis);
    RechnungZahlenuTankstelle[playerid] = T;
    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+preis' WHERE `id` = '%i'",T);
    mysql_query(query);
    SendClientMessage(playerid, BLAU, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",2000,true,"i",playerid);
    }
    }
    return 1;
    }
    doch wen ich an Egal an welsche tanke ich tanken will Gibt er mir als printf Test : 85 Raus
    aba in der SendClientMessage Gibt er mir [16:24:57] [Tankwart]Ihre rechnung -8$ an Tankstelle: 2


    kann mir da bitte wer helfen
    lg kifkat


    Sup oder Admins
    Ich mach das Thema nur neu auf da die andren Wohl denken das das Thema Geklärt Währe :D da es als Blau dargestellt wurde

    //edit
    er Speichert das Geld einfach nicht ab und Findet eine falsche ID egal wie ich es Drehe und Wende
    hab es Inzwischen schon so Probiert
    public TankstelleBezahlen(playerid,tid,monay)
    {
    if(RechnungZahlenuTankstelle[playerid] > 0)
    {
    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%d' WHERE `id` = '%i'",monay,tid);
    mysql_query(query);
    printf("Test : %d\n",query);//hier Sagt er mir imma in der Consolle 85
    }
    return 1;
    }
    bitte helft mir doch ;(

    Einmal editiert, zuletzt von Kevin B. ()

  • format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%d' WHERE `id` = '%i'",monay,tid);


    wenn ich mich nicht irr fehlt hier was du gibst den das monay an aber nicht das tid
    wenn ein fehler ist bitte korrigieren

  • Tankstelle_kasse+%d = monay
    `id` = '%i' = tid
    Ist doch Korrekt?
    und so TankstelleBezahlen(playerid,T,preis); wende ich es an in Auftanken
    die nachricht in Auftanken gibt er ja wie Gewollt raus nur halt bei TankstelleBezahlen(playerid,tid,monay) Gibt er es Falsch raus In der printf

  • format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%d' WHERE `id` = '%i'",monay,tid);


    versuch mal das


    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%s' WHERE `id` = '%i'",monay,tid);


    villeicht geht es aber sicher bin ich mir nur zu 30%


  • format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%d' WHERE `id` = '%i'",monay,tid);
    mysql_query(query);
    mysql_store_result();
    printf("%d", mysql_fetch_int());
    mysql_free_result();

  • Meine Güte,schaut euch doch endlich mal die Syntax von SQL an.


    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%d' WHERE `id` = '%i'",monay,tid);


    Der Rote Teil funktioniert nicht.Willst du `Tankstelle_kasse` um X erhöhen,machst du es Anders.
    Werte in ' ' werden als völlständig angenommen.Es wird also versuch den Wert 'Tankstelle_kasse+50' ( falls tid 50 ist ) einzutragen. Das ist aber keine Zahl,richtig?

    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = `Tankstelle_kasse`+%d WHERE `id` = '%i'",monay,tid);


    Das der restlich Code von dir sowieso totaler Käse ist,sollte auch noch erwähnt werden.
    /tanken ruft in einer Schleife Auftanken auf.Auftanken in einer Schleife TankstelleBezahlen auf ... :pinch:


    //Edit:

    [...]
    format(query, 128, "UPDATE `Tankstellen` SET `Tankstelle_kasse` = 'Tankstelle_kasse+%s' WHERE `id` = '%i'",monay,tid);


    villeicht geht es aber sicher bin ich mir nur zu 30%


  • killer


    Ohne dir jetzt Anzufahren doa so ja aba ich frage mich warum das den Hier Funktioniert?
    format(query, 128, "UPDATE Firmen SET aFirma_einahmen = aFirma_einahmen+500 WHERE id = '1'");
    das soll Eine Normale Frage sein


    ich hab das Nun mal Geändert und nun Trägt er in 2Tankstellen -8 Ein
    aba das scheint Wohl an den Schleifen zu Liegen das er es in 2Eintragen tut aba warum in der Haubt also da wo es eigentlich rien soll warum Trägt er da -8 ein?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • aso sorry hab ich wohl Überlesen oda schon wider vergessen gehabt sorry ich brauch da manchmal Bissen Länger
    gäbe es noch eine Losung auf das andre ?

    Zitat

    ich hab das Nun mal Geändert und nun Trägt er in 2Tankstellen -8 Ein
    aba das scheint Wohl an den Schleifen zu Liegen das er es in 2Eintragen tut aba warum in der Haubt also da wo es eigentlich rien soll warum Trägt er da -8 ein?


    //edit noch mal zu den schleifen wie soll ich es den Sonst machen? ich brauch sie ja in allen 2 Abteilungen
    //edit
    die Helfte Vergessen ;(
    ich brauch sie ja weil in den BENZINPREIS verbirgt sich ja nochTankstell[T][TankstellenPreis] Also#define BENZINPREIS Tankstell[T][TankstellenPreis]
    //edit hat da wer noch eine Idee warum es nicht so Funktioniert?

    2 Mal editiert, zuletzt von Kevin B. ()