Namen abfragen via dini ?

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
  • Guten Tag zusammen. Nun ich möchte langsam mal wieder mich ein wenig mit Samp beschäfitgen nun habe ich leider wieder vieles vergessen.
    Ich habe folgende frage : Ich möchte ein Fahrzeug parken lassen nun muss ich natürlich den Namen abfragen damit nur der Besitzer es parken kann.
    Ich habe es bisher nur so versucht : //Fahrzeug_System
    enum spieler_fahrzeug
    {
    id,
    Float:ax,Float:ay,Float:az,
    farbe1,
    farbe2,
    Typ,
    Float:Rotation,
    Besitzer[MAX_PLAYERS],
    }
    new Fahrzeug[MAX_PLAYERS] [spieler_fahrzeug];
    dcmd_parken(playerid,params[])
    {
    #pragma unused params
    new vehicleid = GetPlayerVehicleID(playerid),modelid = GetVehicleModel(vehicleid);
    new Float:x,Float:y,Float:z,Float:a, color1, color2;
    new bname[MAX_PLAYER_NAME], accFormat[64];
    GetPlayerName(playerid,bname,sizeof(bname));

    if(bname[playerid] == Fahrzeug[playerid][Besitzer])
    {
    GetVehiclePos(vehicleid,x,y,z);
    GetVehicleZAngle(vehicleid,a);
    Fahrzeug[playerid][ax] = x;
    Fahrzeug[playerid][ay] = y;
    Fahrzeug[playerid][az] = z;
    Fahrzeug[playerid][Rotation] = a;
    GetVehicleColor(vehicleid,color1,color2);
    color1 = Fahrzeug[playerid][farbe1];
    color2 = Fahrzeug[playerid][farbe2];
    Fahrzeug[playerid][Typ] = modelid;
    SendClientMessage(playerid,grün,"Du hast dein Fahrzeug geparkt");
    }
    else SendClientMessage(playerid,rot,"Das ist nicht dein Auto ");


    return 1;
    }
    Danke im Vorraus.

  • Strings vergleicht man mit strcmp grundkentnisse !
    So wie ich es mit bekomme versuchst du einen Namen (Sting) mit einer ID zu vergleichen ?


    Oder in der Enum Struktur wird die playerid festgelegt ?
    Ich verstehe dein System null bleiben du Auto´s beim disconnect ? Ich machs dir mal ordentlich.

    RFT

  • Ja habe ich auch gerade gemerkt und es überhaupt keinen Sinn macht zwei Namen zu vergleichen um eine Abfrage für ein Fahrzeug zu machen.
    Aber via Modelid oder Fahrzeug ID kann ich es ja auch schlecht machen da mir ja sonst alle Fahrzeuge gehören würden von den "Klassen".
    Kannst du mir vielleicht helfen wie ich das am besten hinkriege ? .


  • enum spieler_fahrzeug
    {
    id, //Ist das die Vehicle ID ? Ich denke mal schon.
    Float:ax,Float:ay,Float:az,
    farbe1,
    farbe2,
    Typ,
    Float:Rotation,
    //Besitzer[MAX_PLAYERS], Wird nicht benötigt
    }


    new Fahrzeug[MAX_PLAYERS] [spieler_fahrzeug];
    dcmd_parken(playerid,params[])
    {
    #pragma unused params
    new vehicleid = GetPlayerVehicleID(playerid),modelid = GetVehicleModel(vehicleid);
    new Float:x,Float:y,Float:z,Float:a, color1, color2;
    new bname[MAX_PLAYER_NAME], accFormat[64];
    GetPlayerName(playerid,bname,sizeof(bname));


    if(Fahrzeug[playerid][id] == vehicleid)
    {
    GetVehiclePos(vehicleid,x,y,z);
    GetVehicleZAngle(vehicleid,a);
    Fahrzeug[playerid][ax] = x;
    Fahrzeug[playerid][ay] = y;
    Fahrzeug[playerid][az] = z;
    Fahrzeug[playerid][Rotation] = a;
    GetVehicleColor(vehicleid,color1,color2);
    color1 = Fahrzeug[playerid][farbe1];
    color2 = Fahrzeug[playerid][farbe2];
    Fahrzeug[playerid][Typ] = modelid;
    SendClientMessage(playerid,grün,"Du hast dein Fahrzeug geparkt");
    }
    else SendClientMessage(playerid,rot,"Das ist nicht dein Auto ");


    return 1;
    }

    RFT