Listitem abfragen was geklickt wurde(for schleife)

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 werd daraus irgendwie nicht schlau.


    Wenn du für jeden einen Dialog anzeigst, wird für jeden Spieler das Callback OnDialogResponse einzeln aufgerufen,
    mit all den gefüllten variablen

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ich zeig dir das mal so.


    case DIALOG_CONVOY_STRECKE:
    {
    if(response == 1)
    {
    if(listitem == 0){
    ShowPlayerDialog(playerid, DIALOG_CONVOY_STRECKE, DIALOG_STYLE_LIST, "An wenn soll es geliefert werden?", "Staat\nAmmunation\n", "Aktzeptieren", "Zurück");
    }
    if(listitem == 0){
    new tankstellentext[128];
    for(new i;i<MAX_TANKE;i++)
    {
    if(!strcmp("Staat",TankInfo[i][TankstelleBesitzer],false))
    {
    format(tankstellentext,sizeof(tankstellentext),"Tankstelle von: %s\nName:%s - Benzin:%d/Diesel:%d",TankInfo[i][TankstelleBesitzer],TankInfo[i][TankstelleName],TankInfo[i][Benzin],TankInfo[i][Diesel]);
    ShowPlayerDialog(playerid, DIALOG_CONVOY_STRECKE_1, DIALOG_STYLE_LIST, "An wenn soll es geliefert werden?", tankstellentext, "Aktzeptieren", "Zurück");
    }
    }
    }
    }
    else ShowPlayerDialog(playerid,DIALOG_CONVOY_1,DIALOG_STYLE_LIST,"{FFFFFF}Convoy","Convoy Member\nStart und Ziel\nConvoy Schließen","Weiter","Schließen");
    return 1;
    }


    Ich lasse alle Tankstellen auslesen und anzeigen, wenn sie gekauft sind.
    Nur wie frage ich jetzt ab welche Tankstelle angeklickt wurde ?

  • Kannste doch einfach per PVar zwischen speichern.
    PVars können auch mal nützlich sein^^

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • nein - nicht listitem^^


    Hier würd ich eher die Tankstellen ID speichern und eine PVar verwenden.
    was soll der Sinnlose RAM verbrach?


    Du brauchst die Var eh nur kurzzeitig

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ja und wie soll ich die ID raus finden. Die er anklickt ?


    #1


    Aktueller Status wie es aussieht:


    case DIALOG_CONVOY_STRECKE:
    {
    if(response == 1)
    {
    if(listitem == 0){
    ShowPlayerDialog(playerid, DIALOG_CONVOY_STRECKE, DIALOG_STYLE_LIST, "An wenn soll es geliefert werden?", "Staat\nAmmunation\n", "Aktzeptieren", "Zurück");
    }
    if(listitem == 1)
    {
    new tankstellentext[2000];
    for(new i;i<MAX_TANKE;i++)
    {
    format(tankstellentext,sizeof(tankstellentext),"%s\nID:%d | Tankstelle von: %s Benzin:%d/Diesel:%d",tankstellentext,i,TankInfo[i][TankstelleBesitzer],TankInfo[i][TankstelleName],TankInfo[i][Benzin],TankInfo[i][Diesel]);
    }
    ShowPlayerDialog(playerid, DIALOG_CONVOY_STRECKE_1, DIALOG_STYLE_LIST, "An wenn soll es geliefert werden?", tankstellentext, "Aktzeptieren", "Zurück");
    SendClientMessage(playerid,ROT,tankstellentext);
    return 1;
    }
    }
    else ShowPlayerDialog(playerid,DIALOG_CONVOY_1,DIALOG_STYLE_LIST,"{FFFFFF}Convoy","Convoy Member\nStart und Ziel\nConvoy Schließen","Weiter","Schließen");
    }
    case DIALOG_CONVOY_STRECKE_1:
    {
    new testid[MAX_PLAYERS];
    if(response == 1){
    testid[playerid] = listitem;
    printf("%d", testid[playerid]);
    }
    }