Fahrzeuge in MySQL Speichern

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
  • Okey nur eine Warning und zwar beim Laden stock


    if(added) SaveVehicles(i);


    Wenn mit "i" ist es nicht definiert und wenn ohne
    warning 202: number of arguments does not match definition


    Und wie frag ich dann ab, wenn ein spieler das auto betritt ob es einen strafzettel hat?
    und wie viel er zahlen muss und so



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Nee, nicht das SaveVehicles ändern, die Funktion die ich dir gegeben habe ist "SaveVehicle" (ohne s am Ende). Damit das Fahrzeug gespeichert wird, wenn es /opark't wird.



    Das kannst du auch hiermit abfragen, wie beim /opark, versuche dich mal daran.
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    if(i == -1) return SendClientMessage(playerid, hinweis1, "Du bist nicht in einem abschleppbaren Auto!");


    Ansonsten, wenn du hängst, poste einfach wieder den Code, so weit wie du bist. ;)

  • Also kleiner Bericht :)
    Die oPark funktion funktioniert teilweise, undzwar wird die neue Position nicht in der Datenbank gespeichert, du hast nämlich ne kleinigkeit vergessen aber ich glaube meins ist etwas Falsch :D
    Schau
    ocmd:opark(playerid, params[])
    {
    new preis, grund[34], string[128];
    new Float:NeuX,Float:NeuY,Float:NeuZ,Float:NeuR;
    if(sscanf(params,"is",preis,grund))return SendClientMessage(playerid, Color_Green,"Benutzung: /opark [Preis][Grund]");
    if(SpielerInfo[playerid][pTeam] != 5) return SendClientMessage(playerid, hinweis1,"Du bist kein Mitglied des ADAC's!");
    if(isinADAC[playerid] != 1) return SendClientMessage(playerid, hinweis1, "Du bist nicht in der ADAC Zone!");
    else if(preis < 0 || preis > 1000) return SendClientMessage(playerid, hinweis1,"Du kannst das Bußgeld nicht weniger als 0 und mehr als 1000 kosten lassen!");
    {
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    if(i == -1) return SendClientMessage(playerid, hinweis1, "Du bist nicht in einem abschleppbaren Auto!");
    format(VehInfo[i][Grund], 32, grund);
    GetPlayerPos(playerid,NeuX,NeuY,NeuZ,NeuR);//1 warning 202: number of arguments does not match definition
    VehInfo[i][Preis] = preis;
    VehInfo[i][Abgeschleppt] = 1;
    VehInfo[i][NewX] = NeuX;//Von hier
    VehInfo[i][NewY] = NeuY;
    VehInfo[i][NewZ] = NeuZ;
    VehInfo[i][NewR] = NeuR;//Bis hier vergessen
    format(string, sizeof(string),"|Strafzettel| Preis %i€ Grund: %s",preis,grund);
    SendClientMessage(playerid, Color_Green, string);
    SaveVehicle(i);
    }
    return 1;
    }


    So, jetzt hab ich ne kleine Frage undzwar, weiß das System dass wenn Abgeschleppt auf 1 ist, dass auto auch bei New spawnen soll?


    Und wäre das richtig?(nur ein kleiner test) Weil ich bekomme keine Nachricht im auto..
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    new grund = VehInfo[i][Grund], preis = VehInfo[i][Preis], string[128];
    if(i == 1)
    if(VehInfo[i][Abgeschleppt] == 1) {
    format(string, sizeof(string),"|Strafzettel| Preis %i€ Grund: %s",preis,grund);
    SendClientMessage(playerid, Color_Green, string);
    }
    //EDIT
    Kleiner bericht, die Warning geht weg wenn ich es ohne "NeuR" mache, aber es wird in der datenbank sonst alles jetzt gespeichert.
    Wie mach ich das jetzt am besten? achja hab ne kleine abfrage gemacht ist die richtig?
    if(VehInfo[i][Abgeschleppt] != 1){
    return VehInfo[i][veh_ID] = CreateVehicle(VehInfo[i][ModellID],VehInfo[i][PosX],VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20
    }
    else
    {
    VehInfo[i][veh_ID] = CreateVehicle(VehInfo[i][ModellID],VehInfo[i][NewX],VehInfo[i][NewY],VehInfo[i][NewZ],VehInfo[i][NewR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20
    }
    }


    PS: Wenn ich in ein Abgeschlepptes auto steige kommt immer noch keine Meldung -.-


    MfG



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

    Einmal editiert, zuletzt von ENEF ()

  • Problem 1:
    Vergessen habe ich es nicht, ich habe nur einen Teil hinzugefügt, sollst ja das Prinzip lernen, damit du es in Zukunft alleine schaffst. :)
    GetPlayerPos(playerid,NeuX,NeuY,NeuZ,NeuR);
    zu:
    GetVehiclePos(GetPlayerVehicleID(playerid),NeuX,NeuY,NeuZ);
    GetVehicleZAngle(GetPlayerVehicleID(playerid),NeuR);
    Der Rest sollte passen.


    Problem 2:
    Was meinst du mit, dass es bei New spawnt? Wo/Wann?


    Problem 3:
    So:
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    if(i != -1)
    {
    if(VehInfo[i][Abgeschleppt] == 1)
    {
    new string[145];
    format(string, sizeof(string),"|Strafzettel| Preis %i€ Grund: %s",VehInfo[i][Preis],VehInfo[i][Grund],);
    SendClientMessage(playerid, Color_Green, string);
    }
    }


    Problem 4:
    Ist das bei Problem 2 gemeint? Bzw, steht das beim LoadVehicles? Wenn ja, dann so:
    if(VehInfo[i][Abgeschleppt] != 1)
    {
    VehInfo[i][veh_ID] = CreateVehicle(VehInfo[i][ModellID],VehInfo[i][PosX],VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20
    }
    else
    {
    VehInfo[i][veh_ID] = CreateVehicle(VehInfo[i][ModellID],VehInfo[i][NewX],VehInfo[i][NewY],VehInfo[i][NewZ],VehInfo[i][NewR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20
    }

  • Perfekt :)


    Ja hab es noch gemerkt :)
    Danke :)


    Problem 2/4 hab ich dann doch noch alleine geschafft :)


    ich teste mal alles :)


    Kurze frage, irgendwie geht mein Fraksystem nicht also jeder kann fast mit jedem auto fahren..
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(IsPlayerInAllowedFrakVeh(playerid, 1))
    if(SpielerInfo[playerid][pTeam] != 1 && isinADAC[playerid] != 1) {
    SendClientMessage(playerid,hinweis1,"Du hast keinen Schlüssel!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true); }


    und zweites
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    //____Polizei(1)___//
    if(newstate == PLAYER_STATE_DRIVER) {
    if(IsPlayerInAllowedFrakVeh(playerid, 1))
    if(SpielerInfo[playerid][pTeam] != 1 && isinADAC[playerid] != 1)
    {
    SendClientMessage(playerid, hinweis1, "Du bist kein Polizist!");
    return RemovePlayerFromVehicle(playerid);
    }
    }
    //____Sanitäter(2)___//
    else if(newstate == PLAYER_STATE_DRIVER) {
    if(IsPlayerInAllowedFrakVeh(playerid, 2))
    if(SpielerInfo[playerid][pTeam] != 2 && isinADAC[playerid] != 1)
    {
    SendClientMessage(playerid, hinweis1, "Du bist kein Sanitäter/Arzt!");
    return RemovePlayerFromVehicle(playerid);
    }
    }



    /Edit


    Ich steige in das Auto und bekomme leider keine Nachricht :/



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Leider wird keine Fraktion rausgeworfen :/


    Und ps:
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    if(i != -1)
    {
    if(VehInfo[i][Abgeschleppt] == 1)
    {
    new string[145];
    format(string, sizeof(string),"Preis %i€ \nGrund: %s",VehInfo[i][Preis],VehInfo[i][Grund]);
    ShowPlayerDialog(playerid,DIALOG_aPARK,DIALOG_STYLE_MSGBOX,"Strafzettel",string,"Freikaufen","Abbrechen") ;
    }
    }


    Es funktioniert irgendwie nicht :/
    Auch als ich SendClientMessage drin hatte ging nichts :/



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Schreibe den Teil mal so und poste dann was im Server Log steht, wenn du in das Fahrzeug, das abgeschleppt ist, einsteigst:
    printf("Vor GetFrakVehicleIdx: %d", GetPlayerVehicleID(playerid));
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    printf("i: %d", i);
    if(i != -1)
    {
    printf("Abgeschleppt: %d", VehInfo[i][Abgeschleppt]);
    if(VehInfo[i][Abgeschleppt] == 1)
    {
    new string[145];
    format(string, sizeof(string),"Preis %i€ \nGrund: %s",VehInfo[i][Preis],VehInfo[i][Grund]);
    printf("string: %s", string);
    ShowPlayerDialog(playerid,DIALOG_aPARK,DIALOG_STYLE_MSGBOX,"Strafzettel",string,"Freikaufen","Abbrechen") ;
    }
    }
    Falls gar nichts kommt, poste bitte das gesamte Callback (public) unter dem das steht.



    (Um das andere Problem kümmern wir uns danach.)

  • Okey also es kommt


    PHP
    [00:39:38] Vor GetFrakVehicleIdx: 0
    [00:39:38] i: -1
    [00:39:44] Vor GetFrakVehicleIdx: 0
    [00:39:44] i: -1
    [00:39:59] Vor GetFrakVehicleIdx: 0
    [00:39:59] i: -1


    Und komischerweise spawnt mein Auto immer mega schief obwohl doch R gespeichert wird :/



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Doch wurde es, es ist ein Fahrschulauto :o
    Es spawnt ja auch nicht mehr an seiner alten Position und hat ja in der DB auch seinen Grund/Preis usw.
    Und /oPark ging ja auch :/



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • unter
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)


    Ich mach ihn grad als Command und versuch da mein Glück



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Aha! Dann muss es entweder unter OnPlayerStateChange hin, oder so:
    printf("Vor GetFrakVehicleIdx: %d", GetPlayerVehicleID(playerid));
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    zu:
    printf("Vor GetFrakVehicleIdx: %d", vehicleid);
    new i = GetFrakVehicleIdx(vehicleid);


    Denn bei OnPlayerEnterVehicle ist der Spieler noch nicht im Fahrzeug.

  • [00:59:50] Vor GetFrakVehicleIdx: 37
    [00:59:50] i: 36
    [00:59:50] inADAC: 1
    [00:59:50] string: Preis 123€
    Grund:


    Jo jetzt geht es, danke :)


    So, jetzt das mit den Fahrzeugen weil jeder jede fahren können..
    und wieso wenn ich /opark mach die Factingangel nie stimmt sondern das auto immer schief ist, dann bin ich fertig :)



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • So, das mit dem Einsteigen sollte so passen:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetVehicleFrak(vehicleid) != SpielerInfo[playerid][pTeam] && isinADAC[playerid] != 1)
    {
    SendClientMessage(playerid,hinweis1,"Du hast keinen Schlüssel!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new frak = GetVehicleFrak(vehicleid);
    if(frak != -1 && frak != SpielerInfo[playerid][pTeam] && isinADAC[playerid] != 1)
    {
    if(frak == 1) SendClientMessage(playerid, hinweis1, "Du bist kein Polizist!");
    else if(frak == 2) SendClientMessage(playerid, hinweis1, "Du bist kein Sanitäter/Arzt!");
    return RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }


    Mit dieser Funktion:
    stock GetVehicleFrak(vehid)
    {
    new idx = -1;
    for(new i=0; i<sizeof(VehInfo); i++)
    {
    if(VehInfo[i][veh_ID] == vehid)
    {
    idx = i;
    break;
    }
    }
    if(idx == -1) return -1;
    return VehInfo[idx][Fraktion];
    }


    Teste das mal.


    Und was meinst du bei dem /opark? Kannst du den Befehl bitte posten und erklären, was da nicht geht?

  • Ja wenn ich mit meinem Auto so stehe ' | ' und oPark mache spawnt es nach einem Restart aber so '---' verstehst du :D?
    Achja und wenn ich es Freigekauft habe, muss ich erst relogen bevor ich irgendwas machen kann(befehle)


    if(dialogid == DIALOG_aPARK)
    {
    if(response == 0)
    {
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    new preis = VehInfo[i][Preis];
    VehInfo[i][Preis] = 0;
    VehInfo[i][inADAC] = 0;
    VehInfo[i][Abgeschleppt] = 0;
    VehInfo[i][NewX] = 00.00;
    VehInfo[i][NewY] = 00.00;
    VehInfo[i][NewZ] = 00.00;
    VehInfo[i][NewR] = 00.00;
    format(VehInfo[i][Grund], 32, "");
    format(VehInfo[i][Named], 32, "");
    GivePlayerMoney(playerid, -preis);
    KassenInfo[5][fGeld] += preis;
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid, hinweis1, "Herzlichen Glückwunsch, du hast dein Auto freigekauft.");
    SendClientMessage(playerid, hinweis1, "Du kannst das Tor nun mit der Hupe öffnen.(Vorsicht: Nur 1 mal!)");
    SaveVehicle(i);
    SaveVehicles();
    SaveKassen();
    }
    if(response == 1)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,true);
    }
    }


    ocmd:opark(playerid, params[])
    {
    new preis, grund[34],named[34], string[128];
    GetPlayerName(playerid, named, sizeof(named));
    new Float:NeuX,Float:NeuY,Float:NeuZ, Float:NeuR;
    if(sscanf(params,"is",preis,grund))return SendClientMessage(playerid, Color_Green,"Benutzung: /opark [Preis][Grund]");
    if(SpielerInfo[playerid][pTeam] != 5) return SendClientMessage(playerid, hinweis1,"Du bist kein Mitglied des ADAC's!");
    if(isinADAC[playerid] != 1) return SendClientMessage(playerid, hinweis1, "Du bist nicht in der ADAC Zone!");
    else if(preis < 0 || preis > 1000) return SendClientMessage(playerid, hinweis1,"Du kannst das Bußgeld nicht weniger als 0 und mehr als 1000 kosten lassen!");
    {
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    if(i == -1) return SendClientMessage(playerid, hinweis1, "Du bist nicht in einem abschleppbaren Auto!");
    format(VehInfo[i][Grund], 32, grund);
    format(VehInfo[i][Named], 32, named);
    GetVehiclePos(GetPlayerVehicleID(playerid),NeuX,NeuY,NeuZ);
    GetVehicleZAngle(GetPlayerVehicleID(playerid),NeuR);
    VehInfo[i][Preis] = preis;
    VehInfo[i][inADAC] = 1;
    VehInfo[i][Abgeschleppt] = 1;
    VehInfo[i][NewX] = NeuX;
    VehInfo[i][NewY] = NeuY;
    VehInfo[i][NewZ] = NeuZ;
    VehInfo[i][NewR] = NeuR;
    format(string, sizeof(string),"|Strafzettel| Preis %i€ Grund: %s",preis,grund);
    SendClientMessage(playerid, Color_Green, string);
    SaveVehicle(i);
    }
    return 1;
    }



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Problem 1:
    Wie sieht dann jetzt dein LoadVehicles aus? Weil zu anfangs hat es ja geklappt, oder? Also, bevor du /opark machst.


    Problem 2:
    Für welchen Befehl, zum Beispiel, musst du dich reloggen, damit du ihn wieder verwenden kannst, nachdem du das Fahrzeug freigekauft hast?

  • Ich habe nichts am LoadVehicle verändert, immer noch das selbe.
    stock LoadVehicles()
    {
    new string[3], query[400], bool:added;//02
    for(new i=0; i < sizeof(FrakAutos); i++)
    {
    format(string, sizeof string, "%d", i);
    VehInfo[i][ModellID] = mysql_GetInt("Auto", "ModellID", "ID", string);
    if(VehInfo[i][ModellID] < 400 || VehInfo[i][ModellID] > 611)
    {
    format(query, sizeof(query), "INSERT INTO Auto (ID, ModellID, PosX, PosY, PosZ, PosR, Farbe1, Farbe2, Fraktion) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d')", i,
    FrakAutos[i][ModellID],FrakAutos[i][PosX],FrakAutos[i][PosY],FrakAutos[i][PosZ],FrakAutos[i][PosR],FrakAutos[i][Farbe1],FrakAutos[i][Farbe2],FrakAutos[i][Fraktionp]);
    mysql_query(query);
    VehInfo[i][ModellID] = FrakAutos[i][ModellID];
    added = true;
    }
    format(VehInfo[i][Named], 32, mysql_GetString("Autos", "Name", "ID", string));
    format(VehInfo[i][Grund], 32, mysql_GetString("Autos", "Grund", "ID", string));
    VehInfo[i][Fraktion] = mysql_GetInt("Auto", "Fraktion", "ID", string);
    VehInfo[i][PosX] = mysql_GetFloat("Auto", "PosX", "ID", string);
    VehInfo[i][PosY] = mysql_GetFloat("Auto", "PosY", "ID", string);
    VehInfo[i][PosZ] = mysql_GetFloat("Auto", "PosZ", "ID", string);
    VehInfo[i][PosR] = mysql_GetFloat("Auto", "PosR", "ID", string);
    VehInfo[i][Abgeschleppt] = mysql_GetInt("Auto", "Abgeschleppt", "ID", string);
    VehInfo[i][inADAC] = mysql_GetInt("Auto", "inADAC", "ID", string);
    VehInfo[i][Preis] = mysql_GetInt("Auto", "Preis", "ID", string);
    VehInfo[i][NewX] = mysql_GetFloat("Auto", "NewX", "ID", string);
    VehInfo[i][NewY] = mysql_GetFloat("Auto", "NewY", "ID", string);
    VehInfo[i][NewZ] = mysql_GetFloat("Auto", "NewZ", "ID", string);
    VehInfo[i][Farbe1] = mysql_GetInt("Auto", "Farbe1", "ID", string);//18
    VehInfo[i][Farbe2] = mysql_GetInt("Auto", "Farbe2", "ID", string);//19
    if(VehInfo[i][Abgeschleppt] != 1)
    {
    VehInfo[i][veh_ID] = CreateVehicle(VehInfo[i][ModellID],VehInfo[i][PosX],VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20
    }
    else
    {
    VehInfo[i][veh_ID] = CreateVehicle(VehInfo[i][ModellID],VehInfo[i][NewX],VehInfo[i][NewY],VehInfo[i][NewZ],VehInfo[i][NewR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],-1);//20
    }
    }
    if(added) SaveVehicles();
    return 1;
    }


    prob 2:


    Für einfach alles, ich kann nicht mal mehr schreiben o.o
    Mein Server braucht auch viel länger zum hochfahren, und ich habe dort SaveVehicle, SaveVehicles und SaveKassen stehen, kann es sein das er dann nur einfach mega lange zum speichern braucht und deswegen nichts geht?


    if(dialogid == DIALOG_aPARK)
    {
    if(response == 0)
    {
    new i = GetFrakVehicleIdx(GetPlayerVehicleID(playerid));
    new preis = VehInfo[i][Preis];
    VehInfo[i][Preis] = 0;
    VehInfo[i][inADAC] = 0;
    VehInfo[i][Abgeschleppt] = 0;
    VehInfo[i][NewX] = 00.00;
    VehInfo[i][NewY] = 00.00;
    VehInfo[i][NewZ] = 00.00;
    VehInfo[i][NewR] = 00.00;
    format(VehInfo[i][Grund], 32, "");
    format(VehInfo[i][Named], 32, "");
    GivePlayerMoney(playerid, -preis);
    KassenInfo[5][fGeld] += preis;
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid, hinweis1, "Herzlichen Glückwunsch, du hast dein Auto freigekauft.");
    SendClientMessage(playerid, hinweis1, "Du kannst das Tor nun mit der Hupe öffnen.(Vorsicht: Nur 1 mal!)");
    SaveVehicle(i);
    SaveVehicles();
    SaveKassen();
    }
    if(response == 1)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,true);
    }
    }


    //Edit:
    Es gibt noch ein Problem, spawne ich mir per Adminbefehl ein neues Auto ist es für egal welche Fraktion ich bin gesperrt, ist dass überhaupt noch möglich mit CarID verschiebungen?



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

    Einmal editiert, zuletzt von ENEF ()

  • Beim Laden fehlt:
    VehInfo[i][NewR] = mysql_GetFloat("Auto", "NewR", "ID", string);


    Mach das beim Freikaufen mal weg:
    SaveVehicles();
    Das brauchst du da nicht. Wenn es aber weiterhin laggt, dann musst du doch von den einfachen mysql_Get und Set Funktionen Abstand nehmen, da die ziemlich unperformant sind.


    Was meinst du mit, dass du dann gesperrt bist? Wie erstellst du das Fahrzeug und wo bist du gesperrt (Code)?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen