Problem mit DIALOG Konto system

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

  • if(dialogid==DIALOG_EINZAHLEN)
    {
    if(response== 0)
    {
    SendClientMessage(playerid,GRAU,"** Abgebrochen");
    }


    if(response== 1)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid, DIALOG_EINZAHLEN, DIALOG_STYLE_INPUT, "Einzahlen", "{00FF00}Wie viel wollen sie Einzahlen ?", "Einzahlen", "Abbrechen");
    PlayerInfo[playerid][pKonto] =

    }
    else
    {
    PlayerInfo[playerid][pKonto] = inputtext;
    }
    return 1;
    }


    Doch dan kommt ein Arraj Irgendwas fehler...

  • Was bringt uns dein Text ?
    Du hast

    • nicht angegeben,welche Zeile den Fehler verursacht
    • nicht angegeben,wie die vollständige Fehlermeldung lautet


    Merk dir für die Zukunft,solche Dinge direkt zu posten.


    Wahrscheinlich liegt der Fehler in dieser Zeile und lautet "Array must be indexed":
    PlayerInfo[playerid][pKonto] = inputtext;
    Ich nehme mal stark an,dass pKonto kein Array/String ist. Die Variable inputtext ist aber ein Array/String ( auch wenn dort vllt eine Zahl drin steckt , z.B. "435254" ) .
    Du kannst nämlich nicht ein Array/String dort speichern,wo nur Platz für einen Wert ist.
    Um einen String der aus Zahlen besteht in eine Zahl ( Integer ) umzuwandeln,benutzt man strval.


    //Edit:
    new a;
    new b[5] = "test";
    a = b; // Geht nicht. b brauch 5 Speicherzellen, a bietet aber nur 1 an.
    a = b[0]; // Funktioniert,da jetzt 1 zu 1.