Dialog Zuordnung

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
  • Hei sry nochmal icH :D


    Ehm kann mir jemand helfen? Wie verbinde ich die strcmp mit dem rest.? :D
    Ich will einen Dialog erstellen, habe dazu den eigentlichen strcmp.
    //EDIT: Habe es herausgefunden =) Jaja, selbstständiges lernen :DDD
    Eine sache noch.. bei dem folgendem.. listitem > 10.. wie genau haabe ich das zu verstehen.?
    Ausserdem habe ich mit dem Geld etwas falsch gemacht, geht nämlich nicht :D
    Soll halt geld abziehen, das auto allerdings nicht spawnen, wenn nicht genügeng geld vorhanden ist^^


    Forum: Gta-Playground.de
    Teamspeak 3: ts.gta-playground.de
    Sa-MP: samp.gta-playground.de

    2 Mal editiert, zuletzt von SirLappen ()

  • Du solltest dir vielleicht überlegen, ob du das mit dem listitem wirklich so haben möchtest, denn:
    Wenn du das Item im Dialog 11 oder größer anklickst, dann wird das ausgeführt: ShowPlayersDefaultDialog( playerid );



    Nun zum Geld:
    Die Abfrage ist soweit richtig, außer ein kleines Zeichen ist zu viel.
    Schreibe die Abfrage bitte ohne das "-".



    Dann musst du nach der Abfrage (darunter), das setzen:


    C
    GivePlayerMoney(playerid,-AMOUNT);

    Ich hoffe du konntest das einigermaßen sinngemäß verstehen. ;) Bei Fragen kannst du dich gerne nochmals melden. :good:

    Einmal editiert, zuletzt von AirM4X ()

  • Also ich habe das nun so, allerdings gibt der nun geld, und das bei weitem mehr als diese 10000



    #define AMOUNT 10000
    case 9435 :
    {
    if ( listitem > 10 ) return ShowPlayersDefaultDialog( playerid );
    if (GetPlayerMoney(playerid) <AMOUNT) return TextBoxPriceWarning(playerid,AMOUNT);
    GivePlayerMoney(playerid,GetPlayerMoney(playerid)-AMOUNT);
    SendClientMessage(playerid, 0xFFFF00FF, "Vielen Dank für Ihre Bestellung bei Pegasus!");


    new
    model_array[] = { 577, 511, 512, 593, 553, 476, 519, 460, 513 };


    return CreatePlayerVehicle( playerid, model_array[ listitem ] );
    }
    #undef AMOUNT

    Forum: Gta-Playground.de
    Teamspeak 3: ts.gta-playground.de
    Sa-MP: samp.gta-playground.de

  • Ah, natürlich muss das so:

    C
    GivePlayerMoney(playerid,-AMOUNT);

    Sorry. :good:

  • {...} da GivePlayerMoney immer vom derzeitigen Geld addiert oder (in diesem Fall) subtrahiert. Der Gedanke, der hinter der Abfrage mit dem listitem war (wahrscheinlich) folgender: listitem entspricht der Zeile, die du bei einer Aufzählung in einem Dialog anklickst (angefangen bei 0). Die gewählte Zeile wird dann für den Array model_array verwendet, um die (wohl) entsprechende FahrzeugID des angeklickten Fahrzeuges zu ermitteln. Wenn nun aber beispielsweise listitem 10 entsprechen würde, der model_array aber nur 9 Einträge hätte, würdest du den Array sprengen und PAWN würde den folgenden Code nicht mehr ausführen. Ich denke mal, dass das eine Art Schutz sein sollte. Aber eigentlich kannst du die Zahl 10 mit der Zahl 8 ersetzen, da es die Einträge 0 - 8 gibt, sprich 9 würde zu einem Fehler führen.


    //Edit: Marv hat sich selbst korrigiert, daher die Ansprache entfernt - die Information trotzdem beibehalten.

  • nur ist die Verwendung von GivePlayerMoney() noch falsch. "GetPlayerMoney(playerid)" ist nicht nötig, da GivePlayerMoney immer vom derzeitigen Geld addiert oder (in diesem Fall) subtrahiert.

    Ja, das ist mir vorhin auch aufgefallen und habe es daher auch verbessert.

  • Ahh ja so sollte es gehen :D
    Also habe ich bei dem listitem die zahl immer auf die letzte vehicle id gesetzt, also wenn zb 12 ids gelistet sind auf 11
    so korrekt? :D

    Forum: Gta-Playground.de
    Teamspeak 3: ts.gta-playground.de
    Sa-MP: samp.gta-playground.de