Autohaus Problem

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

  • Hey Leute,
    ich habe ein riesen Problem weswegen ich nicht weiter komme. :thumbdown:
    Ich Arbeite gerade an einem Autohaus System. Pickups, Dialoge, Auto erstellen ist fertig.
    Das Problem ist wie mache ich dieses Auto nur für den Spieler der das Kauft zugänglich?
    Ich weiß nicht genau wie vorgehen soll. Ich benutze Dini. Ich hoffe ihr könntet mir paar Beispiele zeigen oder
    direkt weiterhelfen.


    lg Cubase

  • new VehOwner[MAX_VEHICLES][20];
    // Wenn der Wagen gekauft wird
    new pname[20];
    GetPlayerName(playerid, pname, sizeof(pname));
    VehOwner[vehicleid] = pname;


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new pname[20];
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strcmp(VehOwner[vehicleid], pname, true)) == 0)// Wenn der Name in der Variable übereinstimmen
    {
    // dein Code
    }
    else
    return 1;
    }

  • Danke für die Antwort Double & Hp. Ich werde versuchen und mich noch mal Melden ^^


    // Edit: Ich bekomme dauernd Errors


    Error version 1:


    error 047: array sizes do not match, or destination array is too small


    Spielerinfo[playerid][vehOwner] = ownerName;



    enum SInfo
    {
    [...]
    vehOwner[MAX_VEHICLES]
    }


    und wenn ich vehOwner[MAX_VEHICLES] auf vehOwner[MAX_VEHICLES][20] ändere kommen diese Error:


    error 001: expected token: "}", but found "["
    error 047: array sizes do not match, or destination array is too small

  • Hm du erstellst die Variable in nem Enum für Spieler mit dem Zusatz MAX_VEHICLES :D ich würde außerhalb einfach eine Variable erstellen und ihr dann nen Wert zuordnen.

    new vehOwner[MAX_VEHICLES][20]; // Die Stringlänge nicht vergessen
    enum SInfo
    {
    [...]

    }
    und was an

    Spielerinfo[playerid][vehOwner] = ownerName;
    Falsch ist, du ordnest der Spieler Variable (playerid) einen Namen zu der aber nichts mit einem Auto zu tun hat also hat das keinen Effekt ^^


  • Das Problem ist ich muss diese Variable Speichern damit das Auto nicht bei jedem Reconnect neu gekauft werden muss.. Habt ihr paar Vorschläge ?

  • Du speicherst einfach die Modelid des Autos, Farben, Position und speicherst das in ner Datei bzw. Datenbank (je nachdem was du benutzt). Danach zerstörst du das Auto das dem Spieler gehört beim disconnect. Wenn er dann wieder joint erstellst du einfach ein neues Auto mit derselben Modelid, Farbe und Position und ordnest der VehOwner Variable widerum den Namen des Spielers zu ;) einfach oder? :D