Servercrash nach Nutzung eines Dialogs

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
  • Ich habe ein Problem mit diesem Dialog:


    if(dialogid == DIALOG_SMAT)
    {
    if(response == 0)
    {
    SCM(playerid,ROT,"Abgebrochen");
    return 1;
    }
    if(response == 1)
    {
    new anzahl = strval(inputtext);
    if(anzahl >= 1 && anzahl <= 100)
    {
    new geld = GetPVarInt(playerid,"Geld");
    new kosten = 100 * anzahl;
    if(geld >= anzahl)
    {
    GiveMoney(playerid,-kosten);
    SetPVarInt(playerid,"Mats", GetPVarInt(playerid,"Mats")+anzahl);
    SCMF(playerid,COLOR_YELLOW,"Du hast dir %s Mats für %s$ gekauft!",anzahl,kosten);
    return 1;
    }
    SCM(playerid,ROT,"Du hast nicht genügend Bargeld dabei!");
    return 1;
    }
    SCM(playerid,ROT,"Der Wert muss zwischen 1 und 100 Mats liegen");
    return 1;
    }
    }


    Wenn ich den Dialog nun mit einer Zahl bestätige bekomme ich zwar das
    Geld noch abgezogen, direkt danach crasht aber der Server! :o



    Wisst ihr mehr? :o

  • Laut Crashlog liegt dein Problem in "SCMF" was nach einer definition von "SendClientMessageFormated" klingt.
    Kannst du uns diese Funktion mal posten um möglicherweise interne Fehler festzustellen?


    Dass du Geld abgezogen bekommst, liegt wohl daran, dass du die Geldwerte vor der Textausgabe mit SCMF behandelst.

    "Einen Streit im Internet gewinnen, ist wie ein Sieg bei den Paralympics. Du hast zwar gewonnen, aber du bist immer noch behindert."

  • Habe das SendClientMessageFormatted in dieser Version nie benutzt, es könnte aber an den Platzhaltern liegen:
    SCMF(playerid,COLOR_YELLOW,"Du hast dir %s Mats für %s$ gekauft!",anzahl,kosten);
    Sowohl das erste als auch zweite %s müsstest du in %d ändern. Die Variablen anzahl und kosten sind bei dir Integers.