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
  • wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ok, dann kannst du es auch so machen:
    Ändere
    else if(pInfo[playerid][P_Current] > 0)
    zu:
    else if(pInfo[playerid][P_Current] == i)


    Und der andere Code dann so:
    if(dialogid == DIALOG_FAHRZEUG3)
    {
    if(response)
    {
    if(PCar[playerid][listitem][P_MID] < 400)
    {
    //Fahrzeug <Leer> ausgewählt
    }
    else if(pInfo[playerid][P_Current] == listitem)
    {
    //P_Current bereits dieses Fahrzeug
    }
    else
    {
    //Key auswählen
    pInfo[playerid][P_Current] = listitem;
    }
    }
    else
    {
    //Wenn er wieder zurück ins Hautpmenü will
    }
    return 1;
    }


    Sorry für die Verwirrung. Da bin ich noch vom Ursprung ausgegangen.

  • Also erst einmal muss ich das so hinbekommen das ich mehrere Fahrzeuge brauch.
    Hier wird ja gefragt ob P_MID == 0 ist dann legt er ja alles an, kann ich die Abfragen auch mit P_MID1, P_MID2, P_MID3, P_MID4


    Dazu was muss ich jetzt alles nochmal in der Datenbank kopieren?
    Also welche Variablen brauche ich doppelt damit es funktioniert


    Also würde ich das machen wer der Code locker 200 Zeilen lang.




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

  • Wenn ich ein 2. Fahrzeug kaufe ersetzt er ja nur das erste.
    Ich muss das machen mit P_MID1, 2, 3 genauso mit X Y Z


    Aber wie mache ich das im Code

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

  • Nein, das macht er nicht.
    Dafür ist der Code da:
    for(new d = 0; d < sizeof(PCar[]); d++)
    {
    //Prüfe, ob Fahrzeug existiert. Wenn nicht, nutze den Slot und lege das Fahrzeug an.
    if(PCar[playerid][d][P_MID] == 0)


    Ist in Slot 0 schon ein Fahrzeug, nimmt er Slot 1. Ist dort auch schon eins, nimmt er Slot 2, etc.

  • Oh, habe darauf gar nicht geachtet, jetzt ergibt alles einen Sinn für mich.
    Ein Zulassungssystem habe ich auch schon erstellt mit Kennzeichen.


    Er speichert mir den Fuel nicht ab. Laden tut er aber wenn ich ein Wert in die Tabelle gebe.

    Kann ich irgendwie ohne großartig die Tankart wieder zu speichern sie irgendwie in einem Dialog anzeigen lassen?
    Haben da ja was gemacht mit e_fuelType



    Dazu wollte ich noch:
    Spieler1 = X
    Spieler2 = Y


    Wenn Spieler X auf dem Server ist kann Spieler Y sein Fahrzeug öffnen wenn er seinen Schlüssel hat.
    Das Fahrzeug wird trotzdem im Dialog angezeigt und mit einer anderen Variable wird noch im Dialog angezeigt ob das Fahrzeug überhaupt dar ist.
    Fahrzeug wird natürlich als P_Current wieder gesetzt.

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

  • Sorry, hatte den Thread schon als gelesen markiert und dann nicht mehr drauf geachtet.

    Er speichert mir den Fuel nicht ab. Laden tut er aber wenn ich ein Wert in die Tabelle gebe.

    Gibt dir der MySQL Log etwas aus?



    Kann ich irgendwie ohne großartig die Tankart wieder zu speichern sie irgendwie in einem Dialog anzeigen lassen?

    Grundsätzlich schon, kommt halt drauf an wie dein Code dazu aktuell aussieht.



    Wenn Spieler X auf dem Server ist kann Spieler Y sein Fahrzeug öffnen wenn er seinen Schlüssel hat.

    Kannst du das genauer erklären? Willst du den Schlüssel sozusagen an einen anderen Spieler weitergeben?

  • Zitat von Jeffry

    Kannst du das genauer erklären? Willst du den Schlüssel sozusagen an einen anderen Spieler weitergeben?

    Genau man kann irgendwo seinen Schlüssel kopieren lassen für X $. Damit werde ich glaube ich wenig Probleme haben.
    Aber wie gebe ich den Schlüssel weiter und das dann angezeigt wird im Dialog ob das Fahrzeug überhaupt da ist.


    Ist es da kann man das Fahrzeug anklicken wie die eigenen Schlüssel und es ist ein P_Current Fahrzeug


    Mit dem MySqL Log schaue ich morgen noch einmal nach.


    EDIT:



    Zitat von JEFFRY

    Grundsätzlich schon, kommt halt drauf an wie dein Code dazu aktuell aussieht.

    Code
    v = Vehicle
    fuelName[vehDefaultData[v][e_fuelType]]

    Wie mache ich das mit den PCars also im Dialog.


    Zum Fuel speichern:





    Code
    [21:17:07] [ERROR] cache_get_row_count: no active cache

    Das habe ich jetzt gefunden im Log der Rest war irrelevant.
    ( http://prntscr.com/l2od3k )


    Der Code ist gleich wie im Post 107

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

    Einmal editiert, zuletzt von Jameso ()

  • Aber wie gebe ich den Schlüssel weiter und das dann angezeigt wird im Dialog ob das Fahrzeug überhaupt da ist.

    Ich würde das vermutlich über die Datenbank-ID des Fahrzeugs regeln. Sprich, beim weitergeben des Schlüssels wird die Datenbank-ID des Fahrzeugs von Spieler A in die Variable von Spieler B geschrieben. Gegebenenfalls dazu auch die Model-ID.
    Der Rest muss natürlich vollständig integriert werden, heißt, dass das Fahrzeug beim verlassen nicht gelöscht wird, etc.



    Wie mache ich das mit den PCars also im Dialog.

    Zeige das in einem weiteren Tab an, wie das Kennzeichen.



    Der Code ist gleich wie im Post 107

    Der Log Eintrag kommt nicht vom Code aus Post 107, da dort kein Zugriff auf den Cache erfolgt.

  • Das war das einzige deswegen dachte ich das.


    Zitat von Jeffry

    Ich würde das vermutlich über die Datenbank-ID des Fahrzeugs regeln. Sprich, beim weitergeben des Schlüssels wird die Datenbank-ID des Fahrzeugs von Spieler A in die Variable von Spieler B geschrieben. Gegebenenfalls dazu auch die Model-ID.
    Der Rest muss natürlich vollständig integriert werden, heißt, dass das Fahrzeug beim verlassen nicht gelöscht wird,


    Ich weiß halt nur nicht wie ich das alles im Code umsetzte, es ist auch schwierig.
    Hab ja schon einen Dialog mit Andere Fahrzeuge aber, so vom Code Aufbau das man halt ein Fahrzeug besitzt wenn es da ist sprich es öffnen kann usw.

    Zitat von Jeffry

    Zeige das in einem weiteren Tab an,

    //EDIT
    Doch nicht hinbekommen



    Code
    name = PCar[playerid][i][P_MID] - 400;
    format(string,sizeof(string),"%s{FFFFFF}%s\t%d\tLS-%d\tX\n", string, carNames[name], fuelName[vehDefaultData[name][e_fuelType]],PCar[playerid][i][P_KZ]);

    Er zeigt mir Ingame zahlen an wie z:b 66 oder 68

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

    Einmal editiert, zuletzt von Jameso ()

  • Er zeigt mir Ingame zahlen an wie z:b 66 oder 68

    Nutze %s da du einen String anzeigst.



    Ich weiß halt nur nicht wie ich das alles im Code umsetzte, es ist auch schwierig.

    Ich rate dir, erst mal an den weiteren Systemen zu arbeiten, Erfahrung zu sammeln, und dann daran weiter zu machen, wenn du eine Idee hast, wie du es in deinen gesamten Code integrieren kannst.

  • Ja du hast Recht, ich bin auch der Meinung ich komme mehr zurecht auch wenn man es vielleicht nicht so sehen kann.

    Hier wid doch gefragt ob M_ID == 0 ist fals ja macht er weiter oder nicht?
    Aber es soll es doch machen wenn es nicht = 0 ist dann existiert doch ein Fahrzeug oder nicht?

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

  • Ja du hast Recht, ich bin auch der Meinung ich komme mehr zurecht auch wenn man es vielleicht nicht so sehen kann.

    Natürlich, das entwickelt sich mit der Zeit. Deine Systeme solltest du immer so aufbauen, dass zuerst das Grundgerüst steht und funktioniert. Solche zusätzlichen Funktionen macht man dann später, da diese oft weitaus mehr Aufwand bedeuten. (~ 20% Aufwand für die ersten 80% des Systems, und 80% Aufwand für die restlichen 20% des Systems).



    Hier wid doch gefragt ob M_ID == 0 ist fals ja macht er weiter oder nicht?

    continue heißt, gehe sofort zum nächsten Schleifendurchlauf.
    Sprich, wenn die MID 0 ist, dann geht er sofort zum nächsten "i", ohne das Query auszuführen.

  • Dummheit,
    Es lag noch daran das ich vor einer Woche oder so einmal mein Projekt ohne zu speichern geschlossen habe,
    habe einfach den public SavePlayerCars nirgends benutzt kein Wunder, dass nichts im Log steht und nichts gespeichert wird. ||


    Funktioniert alles, großes Dankeschön für die ganze Hilfe :) ♥♥♥

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

  • Gerne! :)


    Und wie gesagt, nehme dir das Thema mit der Weitergabe des Schlüssels für später irgendwann vor, wenn du etwas länger auch mit dem System gearbeitet hast und eventuell auch noch weitere Dinge eingebaut hast.
    Mit der Zeit kommt da die Erfahrung und du hast dann auch schneller Ideen, wie du das in deinem Code am besten und geschicktesten umsetzen kannst.