Wo versteckt sich der Fehler? :O

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,
    hab ein kleines Problem mit meinem Dialog der mich noch wahnsinnig macht -.-


    unzwar, wenn man den linken button anklickt, kommt man in das vorherige Menü, was auch funktioniert.
    Nur wenn man den zweiten anklickt sollte eig. abgefragt werden was für Items der Spiel hat (siehe paste) und wenn er genug hat, stellt er eine Flare her...nur genau DAS will nicht funktionieren.



    if(dialogid == DIALOG_INFO_FLARES)
    {
    if(response == 1)
    {
    CraftDialog
    return 1;
    }
    else if(response == 0)
    {
    if(Spieler[playerid][Aluminium] >= 2 && Spieler[playerid][Phosphor] >= 1 && Spieler[playerid][Magnesium] >= 1)
    {
    Spieler[playerid][Aluminium] -= 2;
    Spieler[playerid][Phosphor] -= 1;
    Spieler[playerid][Magnesium] -= 1;
    Spieler[playerid][Flare] += 1;
    SendClientMessage(playerid,WEISS,"Flare hergestellt!");
    Spieler[playerid][Exp] += 25;
    GameTextForPlayer(playerid,"~b~+25 EXP", 3000,4);
    return 1;
    }
    else
    {
    new string[256];
    format(string, sizeof(string), "Du hast nicht genügend Materialen um eine Flare zu bauen! Aluminium: %d, Phosphor: %d, Magnesium: %d",Spieler[playerid][Aluminium],Spieler[playerid][Phosphor],Spieler[playerid][Magnesium]);
    SendClientMessage(playerid,GELB,string);
    return 1;
    }
    }
    return 1;
    }


    Wenn einer die Lösung hat, wäre ich sehr dankbar!


    MfG

  • ich würde eher sagen so :


    if(dialogid == DIALOG_INFO_FLARES)
    {
    if(response == 0)
    {
    CraftDialog
    return 1;
    }
    else if(response == 1)
    {
    if(Spieler[playerid][Aluminium] >= 2 && Spieler[playerid][Phosphor] >= 1 && Spieler[playerid][Magnesium] >= 1)
    {
    Spieler[playerid][Aluminium] -= 2;
    Spieler[playerid][Phosphor] -= 1;
    Spieler[playerid][Magnesium] -= 1;
    Spieler[playerid][Flare] += 1;
    SendClientMessage(playerid,WEISS,"Flare hergestellt!");
    Spieler[playerid][Exp] += 25;
    GameTextForPlayer(playerid,"~b~+25 EXP", 3000,4);
    return 1;
    }
    else
    {
    new string[256];
    format(string, sizeof(string), "Du hast nicht genügend Materialen um eine Flare zu bauen! Aluminium: %d, Phosphor: %d, Magnesium: %d",Spieler[playerid][Aluminium],Spieler[playerid][Phosphor],Spieler[playerid][Magnesium]);
    SendClientMessage(playerid,GELB,string);
    return 1;
    }
    }
    return 1;
    }

  • Schreibe es mal so:


    if(dialogid == DIALOG_INFO_FLARES)
    {
    if(response == 0) return CraftDialog;
    else if(response == 1)
    {
    if(Spieler[playerid][Aluminium] >= 2 && Spieler[playerid][Phosphor] >= 1 && Spieler[playerid][Magnesium] >= 1)
    {
    Spieler[playerid][Aluminium] -= 2;
    Spieler[playerid][Phosphor] -= 1;
    Spieler[playerid][Magnesium] -= 1;
    Spieler[playerid][Flare] += 1;
    SendClientMessage(playerid,WEISS,"Flare hergestellt!");
    Spieler[playerid][Exp] += 25;
    GameTextForPlayer(playerid,"~b~+25 EXP", 3000,4);
    }
    else
    {
    new string[256];
    format(string, sizeof(string), "Du hast nicht genügend Materialen um eine Flare zu bauen! Aluminium: %d, Phosphor: %d, Magnesium: %d",Spieler[playerid][Aluminium],Spieler[playerid][Phosphor],Spieler[playerid][Magnesium]);
    SendClientMessage(playerid,GELB,string);
    }
    }
    return 1;
    }


    mfg. :thumbup:


    //Edit: Wenn es jetzt immer noch nicht gehen sollte, hast du einen Fehler in der if - Abfrage !

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • mach nen Command und geb dem Spieler die Sachen also Alu und so


    Was würde das bringen?


    b2t:
    Hab den Fehler gefunden, hab alles neu geschrieben und eingerück, für die dies intressiert bzw. den gleichen Fehler haben:



    if(dialogid == DIALOG_CRAFT_FLARES)
    {
    if(response == 0) {
    CraftDialog }
    else if(response == 1) {
    if(Spieler[playerid][Aluminium] >= 2 && Spieler[playerid][Phosphor] >= 1 && Spieler[playerid][Magnesium] >= 1) {
    Spieler[playerid][Aluminium] -= 2;
    Spieler[playerid][Phosphor] -= 1;
    Spieler[playerid][Magnesium] -= 1;
    Spieler[playerid][Flare] += 1;
    SendClientMessage(playerid,WEISS,"Flare hergestellt!");
    Spieler[playerid][Exp] += 25;
    GameTextForPlayer(playerid,"~b~+25 EXP", 3000,4); }
    else {
    new string[256];
    format(string, sizeof(string), "Du hast nicht genügend Materialen um eine Flare zu bauen! Aluminium: %d, Phosphor: %d, Magnesium: %d",Spieler[playerid][Aluminium],Spieler[playerid][Phosphor],Spieler[playerid][Magnesium]);
    SendClientMessage(playerid,GELB,string); } }
    return 1;
    }