Autohaus Problem. Man kann keine Autos kaufen?

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
  • Hallo Community,


    ich habe ein Problem mit meinem Autohaussystem. Ich hatte es auf MySQL umgeschrieben und jetzt kann man keine Autos mehr kaufen. Ich meine es liegt an der AutoKaufen Funktion, aber ich bin mir nicht sicher. Das System läuft so ab, dass man in ein kaufbares Auto einsteigen kann und dann kommt eine Nachricht wie viel das kostet und der Name und dann kann man "/autokaufen" eingeben und das Auto müsste eigentlich gespawnt werden und das Geld wird abgezogen und eine Zeile wird in die MySQL Datenbank geschrieben(solange man nicht bereits 4 Autos besitzt). Das Problem ist: Es wird kein Geld abgezogen, kein Auto gespawnt und man wird am ende nicht entfreezt und nicht aus dem auto "rausgeschmissen". Hier sind die einzelnen Funktionen/Commands:


    Wenn man Auto einsteigt und es ein Auto ist was man kaufen kann:
    for(new i = 0; i < sizeof Buycars; i++)
    {
    if(newcar == kaufauto[i])
    {
    new str[150];
    format(str,150,"Name: %s, es kostet $%d. Wenn du dieses Fahrzeug kaufen möchtest Tippe '/autokaufen'.",VehicleName[GetVehicleModel(GetPlayerVehicleID(i))-400], Buycars[i][Preis]);
    SendClientMessage(playerid,COLOR_YELLOW,str);
    FreezePlayer(playerid);
    }
    }


    Der autokaufen Befehl:
    if(strcmp(cmd, "/autokaufen", true) == 0)
    {
    new vid = GetPlayerVehicleID(playerid);
    for(new i = 0; i < sizeof Buycars; i++)
    {
    if(vid == kaufauto[i])
    {
    new geld = GetPlayerMoney(playerid);
    if(geld <= Buycars[i][Preis]){
    format(string, 128, " Du hast nicht genug Geld ($%d)!",Buycars[i][Preis]);
    SendClientMessage(playerid,COLOR_GRAD1,string);
    UnFreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    for(new a = 0; a < MAX_CARS_PER_PLAYER; a++)
    {
    new _query[128],count;
    format(_query,128,"SELECT * FROM autos WHERE aBesitzer = '%s' AND aNummer = '%i'",PlayerName(playerid),i);
    mysql_query(_query);
    mysql_store_result();
    count = mysql_num_rows();
    mysql_free_result();
    format(_query,128,"%d",count); SendClientMessage(playerid,COLOR_GREY,_query);
    if(count == 0){
    AutoKaufen(playerid,a);
    UnFreezePlayer(playerid);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    else continue;
    }
    }
    }
    return 1;
    }


    Die Autokaufen Funktion:
    public AutoKaufen(playerid,autoid)
    {
    for(new i = 0; i < sizeof Buycars; i++)
    {
    if(GetPlayerVehicleID(playerid) == kaufauto[i])
    {
    new query[256], nschild[24];
    format(query, sizeof(query), "INSERT INTO autos (aNummer, aBesitzer, aModelid, aPosX, aPosY, aPosZ, aPosA) VALUES ('%i', '%s', '%i', '%f', '%f', '%f', '%f')",autoid,PlayerName(playerid), Buycars[i][modelid], Autohaus[Buycars[i][Autohausid]][spawnx],Autohaus[Buycars[i][Autohausid]][spawny],Autohaus[Buycars[i][Autohausid]][spawnz],Autohaus[Buycars[i][Autohausid]][spawna]);
    mysql_query(query);
    Spielercar[playerid][autoid] = CreateVehicle(Buycars[i][modelid],Autohaus[Buycars[i][Autohausid]][spawnx],Autohaus[Buycars[i][Autohausid]][spawny],Autohaus[Buycars[i][Autohausid]][spawnz],Autohaus[Buycars[i][Autohausid]][spawna],0,0,-1);
    format(nschild,24,"GSR-%d",Spielercar[playerid][autoid]);
    SetVehicleNumberPlate(Spielercar[playerid][autoid],nschild);
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    GivePlayerMoney(playerid,-Buycars[i][Preis]);
    Autos[playerid][autoid][aModelid] = Buycars[i][modelid];
    Autos[playerid][autoid][aHP] = 1000.00;
    Autos[playerid][autoid][aColor1] = 0;
    Autos[playerid][autoid][aColor2] = 0;
    Autos[playerid][autoid][aPaintjob] = 3;
    Autos[playerid][autoid][aPosX] = Autohaus[Buycars[i][Autohausid]][spawnx];
    Autos[playerid][autoid][aPosY] = Autohaus[Buycars[i][Autohausid]][spawny];
    Autos[playerid][autoid][aPosZ] = Autohaus[Buycars[i][Autohausid]][spawnz];
    Autos[playerid][autoid][aPosA] = Autohaus[Buycars[i][Autohausid]][spawna];
    Autos[playerid][autoid][aLocked] = 0;
    Autos[playerid][autoid][aSpoiler] = 0;
    Autos[playerid][autoid][aWheels] = 0;
    Autos[playerid][autoid][aNitro] = 0;
    Autos[playerid][autoid][aRoof] = 0;
    Autos[playerid][autoid][aHood] = 0;
    Autos[playerid][autoid][aSideskirt] = 0;
    Autos[playerid][autoid][aLamps] = 0;
    Autos[playerid][autoid][aExhaust] = 0;
    Autos[playerid][autoid][aStereo] = 0;
    Autos[playerid][autoid][aHydraulics] = 0;
    Autos[playerid][autoid][aVentRight] = 0;
    Autos[playerid][autoid][aVentLeft] = 0;
    Autos[playerid][autoid][aFrontBumper] = 0;
    Autos[playerid][autoid][aRearBumper] = 0;
    format(Autos[playerid][autoid][aName],60,VehicleName[GetVehicleModel(Buycars[i][modelid]-400)]);
    }
    }
    return 1;
    }
    Ich danke schon mal im Voraus


    Einen schönen Dienstag noch und freundliche Grüße
    Adrian


    /edit: Es kommen keine Errors oder Warns