Autohaus, Auto soll erstellt werden

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 habe einen Dialog erst einmal der zeigt;

    • Eigene Fahreuge
    • Andere Fahrzeuge

    Respond auf Eigene Fahrzeuge:


    Irgendwie habe ich jetzt das Problem, wenn ich auf eigene Fahrzeuge clicke also ich auf DIALOG_FAHRZEUG2 antworte er mir das nächste nicht Anzeigt mit den Fahrzeugen.


    Den 4. Punkt habe ich nicht ganz verstanden.


    Ich will das es dann auch so aussieht wenn kein Fahrzeug auf dem Slot ist.

    • Huntley
    • < Leer >
    • < Leer

    Dazu will ich noch das, sein Kennzeichen angezeigt wird , aber das sollte ich glaube ich hinkriegen.


    Bei den anderen Fahrzeugen, das sind dann die von anderen Spielern, steht der Besitzer dann noch in einem Tab ( \t )

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • if(dialogid == DIALOG_FAHRZEUG2)
    {
    if(response)
    {
    switch(listitem)
    {
    case 0: //Eigene Fahrzeugschlüssel
    {
    new string[300], name;
    for(new i = 0; i < sizeof(PCar[]); i++)
    {
    name = PCar[playerid][i][P_MID] - 400;
    if(name < 0 || name >= sizeof(carNames)) format(string,sizeof(string),"%s{FFFFFF}<Leer>\t<Leer>\n", string);
    else format(string,sizeof(string),"%s{FFFFFF}%s\tSF-1337\n", string, carNames[name]);
    }
    ShowPlayerDialog(playerid, DIALOG_FAHRZEUG3, DIALOG_STYLE_LIST, "{FFFFFF}schlüssel\tNummernschild\tAusgewählt", string, "Auswählen","Zurück");
    }
    case 1: //Andere Fahrzeugschlüssel
    {


    }
    }
    }
    else
    {
    //Wenn er wieder zurück ins Hautpmenü will
    }
    return 1;
    }
    Versuche es so.


    Was verstehst du an Punkt 4 nicht?

  • Was funktioniert nicht?


    Was weißt du nicht, wie du es machen sollst?




    Mehr Informationen, wie jedes Mal. Warum muss ich dir das jedes Mal aufs neue sagen? Mit "Funktioniert nicht" fange ich genau so viel an, wie du, wenn ich dir darauf "Ok" antworte, nämlich gar nichts.

  • Du hast mich doch gefragt das ich es so versuchen soll,
    ändert nichts soll ich wirklich jetzt unnötig den selben Code rein schicken den du im letzten Post rein geschickt hast?
    Hätte ich was anders gemacht, hätte ich schon Bescheid gesagt.


    Selbe Problem wie ebend, er zeigt mir nicht den Dialog DIALOG_FAHRZEUG3

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Den gleichen Code brauchst du natürlich nicht posten, das macht ja keinen Sinn.


    Dass es nicht geht ist mir auch klar, allerdings wäre eine Information hilfreich, wie zum Beispiel, der Code wird überhaupt aufgerufen, es gibt Fehler im Log, etc. Setze doch mal ein paar prints und prüfe ob diese überhaupt aufgerufen werden. Prüfe auch, ob dir crashdetect irgendwelche Fehler ausgibt.


    Danach postest du den Code mit den prints und den Server Log, mit den Ausgaben der prints. Oder du siehst den Fehler schon selbst.

  • Das kann eigentlich nicht sein, wenn der Code exakt so ist.
    Ich habe den Code nach den Posten nochmal direkt danach geändert, hast du diese Änderung im Code? Übernehme den Code bitte nochmal neu in deinen Code.
    Dort war bei ersten format noch der Indexzugriff drin, den hatte ich noch entfernt.

  • Ich habe vergessen meinen Server neu zu starten, es war mein Fehler tut mir leid.
    Im Dialog wird alles vollgespammt mit <Leer>

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Habs gefunden, danke



    Ich wollte mir das so anzeigen lassen, dass ich dann auch die Unterteilung habe also nach der Überschrift auch noch die Unterüberschrift ist. (Fahrzeug, Kennzeichen usw.)


    Wie sollen wir das machen, weil ich ja jetzt in jeder Zeile das ja auch mit rein bekomme.


    Habe noch zu TABLIST_HEADERS gewechselt, ist ordentlicher.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • So ist es ja falsch, habe es noch nie gemacht.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Danke, verstehe das jetzt auch.
    Jetzt würde ich gerne das es mit P_Current funktioniert.



    So wird ja für jedes Fahrzeug das Current gesetzt, habe es schon gemacht das im Dialog angezeigt wird welches Fahrzeug überhaupt Current ist.
    Aber es soll ja nur 1. Mit Current geben


    Und muss ich schonmal für das zweite, dritte, vierte... Fahrzeug P_MID2, P_MID3 erstellen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Schaue dir die beiden Punkte nochmal an.

    Bei Dialog-Klick: Nochmal Schleife durch die Fahrzeuge und counter so lange hochzählen lassen, bis identisch zu listitem (das listitem kann unter Umständen falsch sein, wenn in der Mitte ein Fahrzeug nicht existiert).


    Den index aus der Schleife in P_Current setzen.


    Davon hast du bis auf die Schleife nichts umgesetzt.
    Versuche doch anhand dessen mal, die Punkte exakt so umzusetzen. Nochmal einzeln gesplittet:

    • Schleife
    • Zähler hochzählen (bei -1 beginnen)
    • Zähler mit listitem vergleichen
    • Wenn Zähler == listitem: Index aus Schleife (i) in P_Current schreiben


    P_Current darf übrigens kein enum-Wert von PCar sein, sondern muss zum PlayerInfo (oder wie es bei dir eben heißt) gehören.


    Versuche das so im Code umzusetzen. Hake alle 4 Punkte ab. Poste dann den Code nochmal.
    Es geht hier um Basics, die musst du verstehen, sonst kann ich dir den Code auch komplett schreiben und du lernst nichts dabei.

  • Das verstehe ich ja nicht, also wie mache ich diesen Zähler? (dummer Frage)
    Hätte ich das verstanden hätte ich das vorbildlich schon gemacht, aber so verstehe ich das nicht weiß nicht wie.
    Hier nochmal angepasst.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Das verstehe ich ja nicht, also wie mache ich diesen Zähler? (dummer Frage)

    Genau so Fragen sollst du ja stellen, endlich! Wenn du etwas nicht verstehst, musst du sagen, was genau du nicht verstehst.
    Nur dann kann dir zielgerichtet geholfen werden.


    Ein Zähler ist einfach ein Integer:
    new counter = -1;
    //for(new ...
    {
    counter++;


    Den Counter natürlich nur dann hochzählen lassen, wenn das Fahrzeug auch existiert.
    Versuche, ob du damit jetzt weiter kommst. Ansonsten frage gerne zielgerichtet weiter. Wie gesagt, ich möchte, dass du es verstehst, dazu musst du es selbst coden.
    Würde ich es mir einfach machen, schreibe ich dir den Code in 2 Minuten hin, das wäre aber nicht Sinn der Sache.

  • Zitat von Jeffry

    schreibe ich dir den Code in 2 Minuten hin, das wäre aber nicht Sinn der Sache.

    Naja, wenn ich dann irgendwas hoch zählen soll und irgendwie den Sinn dahinter nicht verstehe verstehe ich wirklich noch weniger.
    Ich muss mir was angucken um zu verstehen ah der zählt also bis er was findet und dann macht er das und das...


    So geht es auch, mehr Stress für mich aber wird hoffentlich auch klappen :)


    Verstehe nicht was ich hier counten soll die ModelID? ist der Counter überhaupt richtig?
    Mein Compiler stürzt ab irgendwas stimmt nicht, am Counter liegt es nicht.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Edit:
    Mir fällt gerade noch ein, du zeigst ja alle Slots an, auch die leeren. Ist das noch so, oder hast du das geändert?


    Wenn ja, dann kannst du die Schleife weg lassen und auch den switch und es einfach so machen:
    pInfo[playerid][P_Current] = listitem;