Dynamischer Rucksack erkennt nicht die richtige Zeile

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
  • es ist so, es ist ein dynamischer Rucksack.


    Wenn man /rucksack macht dann kommt eine dialogbox mit den Sachen die man auch hat. Hat man eine Sache nicht ( zb Bier oder Wein) dann bleibt das einfach leer und steht nicht im Rucksack drinnen. siehe Bild.


    Wenn man jetzt aber zb auf Zigarre klickt, dann kommt die Meldung du hast kein Bier. Und wenn ober Zigarre noch Wein stehen würde, dann kommt die Fehlermeldung (wenn man wieder auf Zigarre klickt) du hast keinen Wein. Also er nimmt meines achtens nach immer die Zeile im dialogfenster und vergleicht die mit der Script Zeile.
    Eigentlich muss ich ja aber den String abfragen der in dem Dialogfenster drinnen steht und dann bekommt er die richtige zuweisung im script zu den switch case abfragen.


    Aber irgendwie passt das noch nicht ganz das es wirklich nur nach den String in der dialogbox abfragt, sondern er nimmt immer noch die Zeile.
    Denn wenn der Rucksack mit allen Sachen voll ist die man haben kann, dann funktioniert er einwandfrei. Doch ist das nicht der Sinn der Sache, dass der Rucksack immer mit mindestens einer von den Sachen (einem Bier, einem Wein, einer Zigarre) voll ist. Er soll auch leer sein wenn man eben nchts von den Sachen hat.


    Im Script ist das so aufgebaut:


    er fragt den String ab und gibt dem switch case dann die richtige zuweisung wo dann die tätigkeit ausgeführt wird.
    new biersochn[8];
    new weinsochn[8];
    new drogensochn[8];
    new zigarrensochn[8];
    new telefonbuchsochn[16];
    biersochn = "Bier";
    weinsochn = "Wein";
    zigarrensochn = "Zigarre";
    drogensochn = "Drogen";
    telefonbuchsochn = "Telefonbuch";
    new rucksacknummer;
    if(inputtext[listitem] == strcmp(biersochn,"Bier",true))
    {
    rucksacknummer = 0;
    }
    else if(inputtext[listitem] == strcmp(weinsochn,"Wein",true))
    {
    rucksacknummer = 1;
    }
    else if(inputtext[listitem] == strcmp(zigarrensochn,"Zigarre",true))
    {
    rucksacknummer = 2;
    }
    else if(inputtext[listitem] == strcmp(drogensochn,"Drogen",true))
    {
    rucksacknummer = 3;
    }
    else if(inputtext[listitem] == strcmp(telefonbuchsochn,"Telefonbuch",true))
    {
    rucksacknummer = 4;
    }
    switch(rucksacknummer)
    {
    case 0:
    {
    //hier passiert dann halt was
    }
    //und weiter case kommen dann eben auch noch..


    Bild:


    Reallife-Server
    62.141.35.206:7777
    TeamSpeak
    85.131.199.220:9995

  • Du könntest fixe IDs für die Items vergeben, und die Liste dann so anzeigen:


    "Bier | ID: 1"
    "Wein | ID: 2"


    Die Sortierung ist dann egal.
    Wenn der Benutzer nun auf "Benutzen" klickt, kommt ein Input-Dialog, indem man nun die ID eingibt.


    Es ist zwar etwas umständlicher, jedoch wäre das eine Lösung.


    Lg.


    #Brotfischbaron


    In schā'a llāh