MySQL Spieler Auto zuweisen / Abfragen

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 Abend,
    ich will wenn der Spieler sich ins Auto setzt abfragen ob dem Spieler das Auto gehört.
    Nun das problem, ich hab überhaupt kein plan wie ich das machen soll.


    Mein enum


    enum AutoDaten
    {
    cInhaber[MAX_PLAYER_NAME],
    cCarid,
    Float:cPos_X,
    Float:cPos_Y,
    Float:cPos_Z
    };
    new SpielerFahrzeug[MAX_PLAYERS][AutoDaten];


    Ich hab ein Autohaus System erstellt mit Dialogen wo man sich Kategorien aussuchen kann,
    Sport Wagen, Cabrios und so, nun hab ich hier ein kleinen schnippsel :


    if(dialogid == SportAutos)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) < 23600) return SendClientMessage(playerid, FARBE_GRAU, "Dein Geld reicht nicht aus!");
    GivePlayerMoney(playerid, - 23600);
    new Float:X,Float:Y,Float:Z,Float:Angle;
    new KaufAuto[1];
    GetPlayerPos(playerid,X,Y,Z);
    mysql_SetInt("fahrzeuge", "cCarid", 602, "Name", SpielerFahrzeug[playerid][cInhaber]);
    mysql_SetFloat("fahrzeuge", "cPos_X", X, "Name", SpielerFahrzeug[playerid][cInhaber]);
    mysql_SetFloat("fahrzeuge", "cPos_Y", Y, "Name", SpielerFahrzeug[playerid][cInhaber]);
    mysql_SetFloat("fahrzeuge", "cPos_Z", Z+15, "Name", SpielerFahrzeug[playerid][cInhaber]);
    KaufAuto[0] = CreateVehicle(602,X,Y,Z+15,Angle,3,5,-1);
    SendClientMessage(playerid,FARBE_GRAU,"Glückwunsch, du hast dir ein Alpha für 23600$ gekauft.");
    SendClientMessage(playerid,FARBE_GRAU,"Tippe /autoinfo || /ai ein um die Befehle zu sehen.");
    return 1;
    }
    if(listitem == 1)
    {
    //...
    }


    Ich hab das jetzt auch noch nicht getestet ob es überhaupt in den Tabelle speichert,
    weil ich hab keine ahnung wie ich dann später abfragen soll ob das Auto dem Spieler gehört und so.
    Hab jetzt auch nicht den Code das es den Spielernamen speichert, da ich noch am anfang bei MySQL bin und hier auch nicht weiß wie ich das
    richtig machen soll.
    Ich will halt das der Spielername beim kauf gespeichert wird und nur der Käufer ins Auto steigen kann und beim verlassen das Auto destroyen,
    beim Connecten das Auto spawnen.
    Hoffe jmd von versteht das ganze problem und kann mir helfen :S

  • Wenn nicht Existiert:
    new Query[255];
    format(Query,sizeof(Query),"INSERT INTO `Fahrzeuge` (`Name`,`cCarid`,`cPos_X`,`cPos_Y`,`cPos_Z`) VALUES ('%s','%d','%f','%f','%f')",DEINE VARS ....);
    mysql_query(Query);
    Denk dran die Carid ist nicht die Fahrzeugid :P


    Hier die abfrage ob es existiert :P
    new Query[255];
    format(Query,sizeof(Query),"SELECT * FROM `Fahrzeuge` WHERE `Name`='%s'",PLAYERNAMEVAR...);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    //Fahrzeug existiert>>>
    new Data[32];
    mysql_fetch_field("cCarid",Data); SpielerFahrzeug[playerid][cCarid] = strval(Data);
    //Usw....
    mysql_free_result();
    return true;
    }
    //Fahrzeug existiert nicht :-(
    mysql_free_result();