habe auto schon wenn ich neu auf dem Server bin

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
  • Sag es ihm doch einfach wie, anstatt fünf mal hin und her zu posten... :pinch:


    @PeeteeTV:
    if(preis <= PlayerInfo[playerid][pCash] && PlayerInfo[playerid][pCarLimit] == 0)


    Zu
    printf("cash %d / limit %d", PlayerInfo[playerid][pCash], PlayerInfo[playerid][pCarLimit]);
    if(preis <= PlayerInfo[playerid][pCash] && PlayerInfo[playerid][pCarLimit] == 0)


    Was wird geprintet, wenn du den Dialog ab schickst?

  • limit 1


    Ja..aus dem Grund kannst du kein Auto kaufen.


    if(preis <= PlayerInfo[playerid][pCash] && PlayerInfo[playerid][pCarLimit] == 0)


    Schreib die Zeile so:


    if(preis <= PlayerInfo[playerid][pCash] && PlayerInfo[playerid][pCarLimit] == 1)


    Dann gehts ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • if(preis <= PlayerInfo[playerid][pCash] && PlayerInfo[playerid][pCarLimit] == 0)


    Ich möchte noch erwähnen bevor ich das ändere unzwar wenn ich mich beim Server regestriere wird das Auto schon also irgendein random auto ohne daten in die db gespeichert
    und dann wenn ich das auto hab und verkaufe hab ich das auto was von anfang an erstellt wurde und dann kann ich irgendwie keine mehr kaufen meinst du das hat damit zutun?

  • Kaliber:
    Das macht keinen Sinn. Dann kann er sich ja unendlich viele Fahrzeuge kaufen, wobei immer das zuletzt erstellte wieder überschrieben wird.
    Wie du siehst, steht im dialog drin, dass PlayerInfo[playerid][pCarLimit] auf 1 gesetzt wird, wenn ein Fahrzeug gekauft wird, wenn du dann abfragst ob es 1 ist, dann kann man sich kein Fahrzeug kaufen wenn man keins hat, und wenn man eines hat, dann kann man sich eins kaufen. Das macht keinen Sinn, da letzteres nie erreicht wird.
    Außerdem war ein paar Zeilen drunter die Abfrage ob es 1 ist nochmal drin, sprich es hätte ohnehin nicht funktioniert, gezahlt hätte er zwar, aber das wars auch.



    Problem ist bei dem Code den er verwendet, dass er voller Fehler ist, und daher die Variablen z.T. nicht korrekt zurückgesetzt werden.
    Deshalb machen wir es hier auch mal wie beim Problem zuvor, dass wir die Position des Fahrzeugs das er angeblich bereits besitzt abfragen, und wenn die 0 ist (wie im Problem zuvor), dann kann er sich ein neues Fahrzeug kaufen, ansonsten nicht.


    Schreibe es so. Wenn es nicht geht, poste bitte den print und sage uns welche Meldung im Chat erscheint.

    Spoiler anzeigen
    if(dialogid == DIALOG_AUTOHAUS)
    {
    //new FreeSlot = -1;
    new FreeSlot;
    if(!response)
    {
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    }
    if(response)
    {
    new preis = Kaufliste[Spectating[playerid]][Preis];
    if(PlayerInfo[playerid][pKreditkarte] == 1 && PlayerInfo[playerid][pKreditkartebenutzen] == 1)
    {
    if(Kaufliste[Spectating[playerid]][Autolevel]-1 >= PlayerInfo[playerid][pLevel])
    {
    format(string, sizeof(string), "Du hast nicht das Benötigte Level für das Fahrzeug (benötigt: %d)", Kaufliste[Spectating[playerid]][Autolevel]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    if(preis < PlayerInfo[playerid][pBank])
    {
    PlayerInfo[playerid][pKreditkartenkosten] += preis;
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich mit deiner Kreditkarte bezahlt, der Betrag wird beim Payday abgebucht.");
    }
    else
    {
    format(string, sizeof(string), "Du hast nicht genug Geld für das Auto (benötigt: $%i)", preis);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    else
    {
    if(Kaufliste[Spectating[playerid]][Autolevel]-1 >= PlayerInfo[playerid][pLevel])
    {
    format(string, sizeof(string), "Du hast nicht das Benötigte Level für das Fahrzeug (benötigt: %d)!", Kaufliste[Spectating[playerid]][Autolevel]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    new Float:x, Float:y, Float:z;
    GetVehiclePos(Carlist[playerid][FreeSlot][Carid], x, y, z);
    printf("preis: %d / cash: %d / %f/%f/%f", preis, PlayerInfo[playerid][pCash], x, y, z);
    if(x != 0.0 || y != 0.0 || z != 0.0)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, "Du hast bereits ein Fahrzeug.");
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    if(preis <= PlayerInfo[playerid][pCash])
    {
    GivePlayerMoneys(playerid, -preis);
    }
    else
    {
    format(string, sizeof(string), "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", preis);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    for(new i=0; i<MaxVeh[playerid]; i++)
    {
    if(Carlist[playerid]_[Typ] == -1)
    {
    FreeSlot=i;
    break;
    }
    }
    /*if(PlayerInfo[playerid][pCarLimit] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits die maximale Anzahl an Privatfahrzeugen erreicht (1).");
    return 1;
    }*/
    /*if(FreeSlot == -1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits die maximale Anzahl an Privatfahrzeugen erreicht.");
    return 1;
    }*/
    new autohaus = Kaufliste[Spectating[playerid]][Autohaus];
    Carlist[playerid][FreeSlot][Typ] = Spectating[playerid];
    Carlist[playerid][FreeSlot][pos_x] = Autospawns[autohaus][pos_x];
    Carlist[playerid][FreeSlot][pos_y] = Autospawns[autohaus][pos_y];
    Carlist[playerid][FreeSlot][pos_z] = Autospawns[autohaus][pos_z];
    Carlist[playerid][FreeSlot][z_angle] = Autospawns[autohaus][z_angle];
    Carlist[playerid][FreeSlot][SpawnSaveX] = Autospawns[autohaus][pos_x];
    Carlist[playerid][FreeSlot][SpawnSaveY] = Autospawns[autohaus][pos_y];
    Carlist[playerid][FreeSlot][SpawnSaveZ] = Autospawns[autohaus][pos_z];
    Carlist[playerid][FreeSlot][SpawnSaveRot] = Autospawns[autohaus][z_angle];
    Carlist[playerid][FreeSlot][Status] = 0;
    Carlist[playerid][FreeSlot][Lock] = 0;
    Carlist[playerid][FreeSlot][Carid] = CreateTunedCar(playerid, FreeSlot);
    Carlist[playerid][FreeSlot][Meter] = 0;
    Kilometerstand[Carlist[playerid][FreeSlot][Carid]] = 0.00;
    Gas[Carlist[playerid][FreeSlot][Carid]] = GasDaten[GetVehicleModel(Carlist[playerid][FreeSlot][Carid])-400][Tankvolumen];
    SetPlayerCheckpoint(playerid,Carlist[playerid][FreeSlot][pos_x],Carlist[playerid][FreeSlot][pos_y],Carlist[playerid][FreeSlot][pos_z],10.0);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    TogglePlayerControllable(playerid,1);
    RemovePlayerFromVehicle(playerid);
    PlayerInfo[playerid][pCarLimit] = 1;
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich das Fahrzeug gekauft.");
    SendClientMessage(playerid,COLOR_GREEN,"Du kannst dein Fahrzeug mit (/park) parken.");
    if(Kaufliste[Spectating[playerid]][Autohaus] == 2)
    {
    BizInfo[14][bTill] += (preis/100)*15;
    ExtortionBiz(14, (preis/100)*10);
    BizInfo[14][bProducts]--;
    }
    if(Kaufliste[Spectating[playerid]][Autohaus] == 0)
    {
    SBizInfo[17][sbTill] += (preis/100)*15;
    ExtortionSBiz(17, (preis/100)*10);
    SBizInfo[17][sbProducts]--;
    }
    if(Kaufliste[Spectating[playerid]][Autohaus] == 1)
    {
    SBizInfo[18][sbTill] += (preis/100)*15;
    ExtortionSBiz(18, (preis/100)*10);
    SBizInfo[18][sbProducts]--;
    }
    if(Kaufliste[Spectating[playerid]][Autohaus] == 3)
    {
    SBizInfo[19][sbTill] += (preis/100)*25;
    ExtortionSBiz(19, (preis/100)*10);
    SBizInfo[19][sbProducts]--;
    }
    Spectating[playerid] = -1;
    }
    return 1;
    }

  • [09:30:00] preis: 80000 / cash: 10030001 / 0.000000/0.000000/0.000000
    [09:30:26] preis: 80000 / cash: 9950001 / 1198.775146/-1834.026977/13.115944
    [09:30:42] preis: 80000 / cash: 9850001 / 1198.775146/-1834.026977/13.115944



    das kam und es funktioniert :D
    habe noch ein Problem mit dem /Carkey wenn ich carkey mache kommt keine reaktion hier der code


    if(strcmp("/carkey", cmd, true) == 0)
    {
    if(MaxVeh[playerid] > 1)
    {
    PlayerCarkey[playerid] += 1;
    if(CarKey[playerid] == MaxVeh[playerid])
    {
    CarKey[playerid] = 0;
    }
    if(Carlist[playerid][CarKey[playerid]][Typ] != -1)
    {
    new index = -1;
    for(new i=0; i<sizeof(Kaufliste); i++)
    {
    if(Kaufliste[i][Modelid] == Carlist[playerid][CarKey[playerid]][Typ])
    {
    index = i;
    break;
    }
    }
    if(index == -1) format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, für deinen <unbekannt> !", PlayerCarkey[playerid]+1);
    else format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, für deinen %s !", PlayerCarkey[playerid]+1, Kaufliste[index][Name]);
    }
    else
    {
    format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel !",PlayerCarkey[playerid]+1);
    }
    SendClientMessage(playerid,COLOR_YELLOW,string);
    }
    return 1;
    }


    //edit 9:46
    unzwar wenn ich ingame /carsell mache löscht das auto sich nicht in der db
    müsste ich sowas machen wie DELETE from `usercars´ oder so?
    lg


    hier von db bild



  • jetzt geht der carkey unendlich hoch aber er geht glaub ich aber er nimmt keinen carkey an wenn ich in anderes auto sitze steht schon habe ein fahrzeug :D


    und von DELETE nur sqlid oder auch AH_Typ usw?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • und von DELETE nur sqlid oder auch AH_Typ usw?


    SQLID ist der Primary Key, das reicht, da der den Datensatz (Tupel) eindeutig identifiziert.



    Jetzt muss ich einmal nachfragen:
    Wie viele Fahrzeuge darf denn ein Spieler haben? Laut deinem /buycar war es 1 Fahrzeug. Ist das richtig, dass man maximal 1 Fahrzeug haben darf?


  • SQLID ist der Primary Key, das reicht, da der den Datensatz (Tupel) eindeutig identifiziert.



    Jetzt muss ich einmal nachfragen:
    Wie viele Fahrzeuge darf denn ein Spieler haben? Laut deinem /buycar war es 1 Fahrzeug. Ist das richtig, dass man maximal 1 Fahrzeug haben darf?


    3
    eigentlich unzwar die carkeys kauft man bei einem gewissen Harald.
    /kaufen
    dann kauft man +1 carkey aber das funtzt nicht so ganz am besten 3 :)

  • if(strcmp("/carkey", cmd, true) == 0)
    {
    CarKey[playerid] += 1;
    if(CarKey[playerid] >= 3)
    {
    CarKey[playerid] = 0;
    }
    if(Carlist[playerid][CarKey[playerid]][Typ] != -1)
    {
    new index = -1;
    for(new i=0; i<sizeof(Kaufliste); i++)
    {
    if(Kaufliste[i][Modelid] == Carlist[playerid][CarKey[playerid]][Typ])
    {
    index = i;
    break;
    }
    }
    if(index == -1) format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel !",CarKey[playerid]+1);
    else format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, für deinen %s !", CarKey[playerid]+1, Kaufliste[index][Name]);
    }
    else
    {
    format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel !",CarKey[playerid]+1);
    }
    SendClientMessage(playerid,COLOR_YELLOW,string);
    return 1;
    }


    Ggf. musst du deinen Kaufen-Befehl dann anpassen.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()


  • noch immer so :D

  • Sorry, habe komplett übersehen, dass du da zwei verschiedene Variablen hast. Schreibe es so, das verhindert auch gleich Fehler:
    [pwn]if(strcmp("/carkey", cmd, true) == 0)
    {
    CarKey[playerid] += 1;
    if(CarKey[playerid] >= 3)
    {
    CarKey[playerid] = 0;
    }
    PlayerCarkey[playerid] = CarKey[playerid];
    if(Carlist[playerid][CarKey[playerid]][Typ] != -1)
    {
    new index = -1;
    for(new i=0; i<sizeof(Kaufliste); i++)
    {
    if(Kaufliste[i][Modelid] == Carlist[playerid][CarKey[playerid]][Typ])
    {
    index = i;
    break;
    }
    }
    if(index == -1) format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel !",CarKey[playerid]+1);
    else format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, für deinen %s !", CarKey[playerid]+1, Kaufliste[index][Name]);
    }
    else
    {
    format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel !",CarKey[playerid]+1);
    }
    SendClientMessage(playerid,COLOR_YELLOW,string);
    return 1;
    }[/pwn]



  • Kann nun kein Fahrzeug kaufen da ich schon eines bei dem anderen besitze aber habe /carkey gemacht ^^


    hier nochma code
    if(dialogid == DIALOG_AUTOHAUS)
    {
    //new FreeSlot = -1;
    new FreeSlot;
    if(!response)
    {
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    }
    if(response)
    {
    new preis = Kaufliste[Spectating[playerid]][Preis];
    if(PlayerInfo[playerid][pKreditkarte] == 1 && PlayerInfo[playerid][pKreditkartebenutzen] == 1)
    {
    if(Kaufliste[Spectating[playerid]][Autolevel]-1 >= PlayerInfo[playerid][pLevel])
    {
    format(string, sizeof(string), "Du hast nicht das Benötigte Level für das Fahrzeug (benötigt: %d)", Kaufliste[Spectating[playerid]][Autolevel]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    if(preis < PlayerInfo[playerid][pBank])
    {
    PlayerInfo[playerid][pKreditkartenkosten] += preis;
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich mit deiner Kreditkarte bezahlt, der Betrag wird beim Payday abgebucht.");
    }
    else
    {
    format(string, sizeof(string), "Du hast nicht genug Geld für das Auto (benötigt: $%i)", preis);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    else
    {
    if(Kaufliste[Spectating[playerid]][Autolevel]-1 >= PlayerInfo[playerid][pLevel])
    {
    format(string, sizeof(string), "Du hast nicht das Benötigte Level für das Fahrzeug (benötigt: %d)!", Kaufliste[Spectating[playerid]][Autolevel]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    new Float:x, Float:y, Float:z;
    GetVehiclePos(Carlist[playerid][FreeSlot][Carid], x, y, z);
    printf("preis: %d / cash: %d / %f/%f/%f", preis, PlayerInfo[playerid][pCash], x, y, z);
    if(x != 0.0 || y != 0.0 || z != 0.0)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, "Du hast bereits ein Fahrzeug.");
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    if(preis <= PlayerInfo[playerid][pCash])
    {
    GivePlayerMoneys(playerid, -preis);
    }
    else
    {
    format(string, sizeof(string), "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", preis);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    for(new i=0; i<MaxVeh[playerid]; i++)
    {
    if(Carlist[playerid][i][Typ] == -1)
    {
    FreeSlot=i;
    break;
    }
    }
    /*if(PlayerInfo[playerid][pCarLimit] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits die maximale Anzahl an Privatfahrzeugen erreicht (1).");
    return 1;
    }*/
    /*if(FreeSlot == -1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast bereits die maximale Anzahl an Privatfahrzeugen erreicht.");
    return 1;
    }*/
    new autohaus = Kaufliste[Spectating[playerid]][Autohaus];
    Carlist[playerid][FreeSlot][Typ] = Spectating[playerid];
    Carlist[playerid][FreeSlot][pos_x] = Autospawns[autohaus][pos_x];
    Carlist[playerid][FreeSlot][pos_y] = Autospawns[autohaus][pos_y];
    Carlist[playerid][FreeSlot][pos_z] = Autospawns[autohaus][pos_z];
    Carlist[playerid][FreeSlot][z_angle] = Autospawns[autohaus][z_angle];
    Carlist[playerid][FreeSlot][SpawnSaveX] = Autospawns[autohaus][pos_x];
    Carlist[playerid][FreeSlot][SpawnSaveY] = Autospawns[autohaus][pos_y];
    Carlist[playerid][FreeSlot][SpawnSaveZ] = Autospawns[autohaus][pos_z];
    Carlist[playerid][FreeSlot][SpawnSaveRot] = Autospawns[autohaus][z_angle];
    Carlist[playerid][FreeSlot][Status] = 0;
    Carlist[playerid][FreeSlot][Lock] = 0;
    Carlist[playerid][FreeSlot][Carid] = CreateTunedCar(playerid, FreeSlot);
    Carlist[playerid][FreeSlot][Meter] = 0;
    Kilometerstand[Carlist[playerid][FreeSlot][Carid]] = 0.00;
    Gas[Carlist[playerid][FreeSlot][Carid]] = GasDaten[GetVehicleModel(Carlist[playerid][FreeSlot][Carid])-400][Tankvolumen];
    SetPlayerCheckpoint(playerid,Carlist[playerid][FreeSlot][pos_x],Carlist[playerid][FreeSlot][pos_y],Carlist[playerid][FreeSlot][pos_z],10.0);
    ForAllPlayers(i)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid], i, 0, 0);
    }
    }
    TogglePlayerControllable(playerid,1);
    RemovePlayerFromVehicle(playerid);
    PlayerInfo[playerid][pCarLimit] = 1;
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir erfolgreich das Fahrzeug gekauft.");
    SendClientMessage(playerid,COLOR_GREEN,"Du kannst dein Fahrzeug mit (/park) parken.");
    if(Kaufliste[Spectating[playerid]][Autohaus] == 2)
    {
    BizInfo[14][bTill] += (preis/100)*15;
    ExtortionBiz(14, (preis/100)*10);
    BizInfo[14][bProducts]--;
    }
    if(Kaufliste[Spectating[playerid]][Autohaus] == 0)
    {
    SBizInfo[17][sbTill] += (preis/100)*15;
    ExtortionSBiz(17, (preis/100)*10);
    SBizInfo[17][sbProducts]--;
    }
    if(Kaufliste[Spectating[playerid]][Autohaus] == 1)
    {
    SBizInfo[18][sbTill] += (preis/100)*15;
    ExtortionSBiz(18, (preis/100)*10);
    SBizInfo[18][sbProducts]--;
    }
    if(Kaufliste[Spectating[playerid]][Autohaus] == 3)
    {
    SBizInfo[19][sbTill] += (preis/100)*25;
    ExtortionSBiz(19, (preis/100)*10);
    SBizInfo[19][sbProducts]--;
    }
    Spectating[playerid] = -1;
    }
    return 1;
    }

  • Poste bitte jeweils die aktuelle Version, einmal vom CarInfo Befehl und einmal vom Speichern der Fahrzeuge.


    if(strcmp("/carinfo", cmd, true) == 0)
    {
    new TurStatus[90],Cars = 0,str9[1000],str[258],str8[258],Var = 0,status[50];
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    printf("h: %d / playerid: %d / Typ: %d", h, playerid, Carlist[playerid][h][Carid]);
    if(Carlist[playerid][h][Carid] != -1)
    {
    new Float:x, Float:y, Float:z;
    GetVehiclePos(Carlist[playerid][h][Carid], x, y, z);
    printf("Pos: %f / %f / %f | Model: %d", x, y, z, GetVehicleModel(Carlist[playerid][h][Carid]));
    if(x == 0.0 && y == 0.0 && z == 0.0) continue;
    if(Carlist[playerid][h][Lock] == 0)
    {
    TurStatus = "{21DD00}Aufgeschlossen";
    }
    else
    {
    TurStatus = "{FF0000}Abgeschlossen";
    }
    if(Motorschaden[Carlist[playerid][h][Carid]] != 0)
    {
    status = "{FF0000}Motorschaden";
    Var = 1;
    }
    if(Var == 0)
    {
    if(CarAbgeschleppt[Carlist[playerid][h][Carid]] == 1)
    {
    status = "{FF0000}Abgeschleppt";
    }
    else
    {
    status = "{21DD00}Fahrtüchtig";
    }
    }
    format(str8,sizeof(str8),"{FFFFFF}Slot: %d | Fahrzeugname: %s | Fahrzeugtür: %s{FFFFFF} | Fahrzeugstatus: %s\n",h,Kaufliste[Carlist[playerid][h][Typ]][Name],TurStatus,status);
    printf("str8: %s", str8);
    strcat(str9, str8);
    Cars++;
    }
    }
    format(str,sizeof(str),"Du hast %d Fahrzeuge.",Cars);
    ShowPlayerDialog(playerid,542,DIALOG_STYLE_MSGBOX,str,str9,"Bestätigen","");
    return 1;
    }


    stock CreatePrivatfahrzeug(playerid)
    {
    new query[1000];
    for(new h = 0; h < MaxVeh[playerid]; h++){
    format(query, sizeof(query), "INSERT INTO `usercars` (`SQLID`, `Slot`, `AH_Typ`) VALUES ('%d', '%d','-1')", PlayerInfo[playerid][pSQLID], h);
    mysql_query(query);
    }
    return true;
    }


    forward PlayerCarConnect(playerid);
    public PlayerCarConnect(playerid){
    if(IsPlayerNPC(playerid)) return 1;
    new string[258],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    format(string, sizeof(string),"SELECT * FROM `usercars` WHERE `SQLID` = '%d' AND `Slot` = '%d'", PlayerInfo[playerid][pSQLID], h);
    self_mysql_queryEx(string);
    mysql_store_result();
    new val[ 256 ], Variable;
    while(mysql_fetch_row_format(string,"|"))
    {
    self_mysql_get_field("AH_Typ", val); Carlist[playerid][h][Typ] = strval( val );
    self_mysql_get_field("AH_X", val); Carlist[playerid][h][pos_x] = strval( val );
    self_mysql_get_field("AH_Y", val); Carlist[playerid][h][pos_y] = strval( val );
    self_mysql_get_field("AH_Z", val); Carlist[playerid][h][pos_z] = strval( val );
    self_mysql_get_field("AH_Rot", val); Carlist[playerid][h][z_angle] = strval( val );
    self_mysql_get_field("AH_Status", val); Carlist[playerid][h][Status] = strval( val );
    self_mysql_get_field("AH_Lock", val); Carlist[playerid][h][Lock] = strval( val );
    self_mysql_get_field("AH_Paintjob", val); Carlist[playerid][h][Paintjob] = strval( val );
    self_mysql_get_field("AH_Farbe1", val); Carlist[playerid][h][Farbe1] = strval( val );
    self_mysql_get_field("AH_Farbe2", val); Carlist[playerid][h][Farbe2] = strval( val );
    self_mysql_get_field("AH_mod1", val); Carlist[playerid][h][mod1] = strval( val );
    self_mysql_get_field("AH_mod2", val); Carlist[playerid][h][mod2] = strval( val );
    self_mysql_get_field("AH_mod3", val); Carlist[playerid][h][mod3] = strval( val );
    self_mysql_get_field("AH_mod4", val); Carlist[playerid][h][mod4] = strval( val );
    self_mysql_get_field("AH_mod5", val); Carlist[playerid][h][mod5] = strval( val );
    self_mysql_get_field("AH_mod6", val); Carlist[playerid][h][mod6] = strval( val );
    self_mysql_get_field("AH_mod7", val); Carlist[playerid][h][mod7] = strval( val );
    self_mysql_get_field("AH_mod8", val); Carlist[playerid][h][mod8] = strval( val );
    self_mysql_get_field("AH_mod9", val); Carlist[playerid][h][mod9] = strval( val );
    self_mysql_get_field("AH_mod10", val); Carlist[playerid][h][mod10] = strval( val );
    self_mysql_get_field("AH_mod11", val); Carlist[playerid][h][mod11] = strval( val );
    self_mysql_get_field("AH_mod12", val); Carlist[playerid][h][mod12] = strval( val );
    self_mysql_get_field("AH_mod13", val); Carlist[playerid][h][mod13] = strval( val );
    self_mysql_get_field("AH_mod14", val); Carlist[playerid][h][mod14] = strval( val );
    self_mysql_get_field("AH_mod15", val); Carlist[playerid][h][mod15] = strval( val );
    self_mysql_get_field("AH_mod16", val); Carlist[playerid][h][mod16] = strval( val );
    self_mysql_get_field("AH_mod17", val); Carlist[playerid][h][mod17] = strval( val );
    self_mysql_get_field("AH_SpawnSaveX", val); Carlist[playerid][h][SpawnSaveX] = strval( val );
    self_mysql_get_field("AH_SpawnSaveY", val); Carlist[playerid][h][SpawnSaveY] = strval( val );
    self_mysql_get_field("AH_SpawnSaveZ", val); Carlist[playerid][h][SpawnSaveZ] = strval( val );
    self_mysql_get_field("AH_SpawnSaveRot", val); Carlist[playerid][h][SpawnSaveRot] = strval( val );
    self_mysql_get_field("AH_TankVolumen", val); Carlist[playerid][h][TankVolumen] = strval( val );
    self_mysql_get_field("AH_Meter", val); Carlist[playerid][h][Meter] = strval( val );
    self_mysql_get_field("AH_Kilometer", val); Carlist[playerid][h][KiloMeter] = strval( val );
    self_mysql_get_field("AH_Abgeschleppt", val); Carlist[playerid][h][AH_Abgeschleppt] = strval( val );
    self_mysql_get_field("AH_Abgeschlepptname", val); strmid(Carlist[playerid][h][AH_Abgeschlepptname], val, 0, strlen(val), 255);//Carlist[playerid][h][AH_Abgeschlepptname] = strval( val );
    self_mysql_get_field("AH_Abgeschlepptzeit", val); strmid(Carlist[playerid][h][AH_Abgeschlepptzeit], val, 0, strlen(val), 255);//Carlist[playerid][h][AH_Abgeschlepptzeit] = strval( val );
    self_mysql_get_field("AH_AbgeschlepptPreis", val); Carlist[playerid][h][AH_Abgeschlepptpreis] = strval( val );
    self_mysql_get_field("AH_Motorschaden", val); Carlist[playerid][h][AH_Motorschaden] = strval( val );
    self_mysql_get_field("AH_Neon", val); Variable = strval( val );
    mysql_free_result();
    }
    if(Carlist[playerid][h][Typ] != -1 && Carlist[playerid][h][Status] == 0)
    {
    Carlist[playerid][h][Carid] = CreateTunedCar(playerid, h);
    NeonObject[Carlist[playerid][h][Carid]][3] = Variable;
    if(NeonObject[Carlist[playerid][h][Carid]][3] != -1)
    {
    NeonObject[Carlist[playerid][h][Carid]][1] = CreateDynamicObjectEx(NeonObject[Carlist[playerid][h][Carid]][3], 0, 0, 0, 0, 0, 0);
    NeonObject[Carlist[playerid][h][Carid]][2] = CreateDynamicObjectEx(NeonObject[Carlist[playerid][h][Carid]][3], 0, 0, 0, 0, 0, 0);
    AttachDynamicObjectToVehicle(NeonObject[Carlist[playerid][h][Carid]][1], Carlist[playerid][h][Carid], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachDynamicObjectToVehicle(NeonObject[Carlist[playerid][h][Carid]][2], Carlist[playerid][h][Carid], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    }
    }
    }
    return 1;
    }


    forward PlayerCarUpdate(playerid);
    public PlayerCarUpdate(playerid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    new endstring[4000];
    new var[129];
    format(endstring, sizeof(endstring), "UPDATE `usercars` SET ");
    format(var, sizeof(var), "`AH_Typ`='%d', ", Carlist[playerid][h][Typ]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_X`='%f', ", Carlist[playerid][h][pos_x]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Y`='%f', ", Carlist[playerid][h][pos_y]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Z`='%f', ", Carlist[playerid][h][pos_z]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Rot`='%f', ", Carlist[playerid][h][z_angle]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Kilometer`='%f', ", Kilometerstand[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Status`='%d', ", Carlist[playerid][h][Status]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Lock`='%d', ", Carlist[playerid][h][Lock]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Paintjob`='%d', ", Carlist[playerid][h][Paintjob]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Farbe1`='%d', ", Carlist[playerid][h][Farbe1]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Farbe2`='%d', ", Carlist[playerid][h][Farbe2]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod1`='%d', ", Carlist[playerid][h][mod1]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod2`='%d', ", Carlist[playerid][h][mod2]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod3`='%d', ", Carlist[playerid][h][mod3]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod4`='%d', ", Carlist[playerid][h][mod4]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod5`='%d', ", Carlist[playerid][h][mod5]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod6`='%d', ", Carlist[playerid][h][mod6]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod7`='%d', ", Carlist[playerid][h][mod7]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod8`='%d', ", Carlist[playerid][h][mod8]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod9`='%d', ", Carlist[playerid][h][mod9]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod10`='%d', ", Carlist[playerid][h][mod10]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod11`='%d', ", Carlist[playerid][h][mod11]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod12`='%d', ", Carlist[playerid][h][mod12]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod13`='%d', ", Carlist[playerid][h][mod13]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod14`='%d', ", Carlist[playerid][h][mod14]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod15`='%d', ", Carlist[playerid][h][mod15]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod16`='%d', ", Carlist[playerid][h][mod16]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_mod17`='%d', ", Carlist[playerid][h][mod17]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_SpawnSaveX`='%f', ", Carlist[playerid][h][SpawnSaveX]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_SpawnSaveY`='%f', ", Carlist[playerid][h][SpawnSaveY]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_SpawnSaveZ`='%f', ", Carlist[playerid][h][SpawnSaveZ]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_SpawnSaveRot`='%f', ", Carlist[playerid][h][SpawnSaveRot]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_TankVolumen`='%f', ", Gas[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Meter`='%d', ", Carlist[playerid][h][Meter]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Neon`='%d', ", NeonObject[Carlist[playerid][h][Carid]][3]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Abgeschleppt`='%d', ", CarAbgeschleppt[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Abgeschlepptname`='%s', ", CarAbgeschlepptName[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Abgeschlepptzeit`='%s', ", CarAbgeschlepptZeit[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_AbgeschlepptPreis`='%d', ", CarAbgeschlepptPreis[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "`AH_Motorschaden`='%d' ", Motorschaden[Carlist[playerid][h][Carid]]);
    strcat(endstring, var);
    format(var, sizeof(var), "WHERE `SQLID`='%d' AND `Slot`='%d'", PlayerInfo[playerid][pSQLID], h);
    strcat(endstring, var);
    mysql_query(endstring);
    }
    return 1;
    }


    forward PlayerCarDisconnect(playerid);
    public PlayerCarDisconnect(playerid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    PlayerCarUpdate(playerid);
    for(new h = 0; h < MaxVeh[playerid]; h++)
    {
    if(Carlist[playerid][h][Carid] != -1)
    {
    Carlist[playerid][h][TankVolumen] = Gas[Carlist[playerid][h][Carid]];
    Carlist[playerid][h][KiloMeter] = Kilometerstand[Carlist[playerid][h][Carid]];
    DestroyVehicleSelfmade(Carlist[playerid][h][Carid]);
    Carlist[playerid][h][Carid] = -1;
    }
    }
    if(Spectating[playerid] != -1)
    {
    ForAllPlayers(i)
    {
    SetVehicleParamsForPlayer(Kaufliste[Spectating[playerid]][Carid],i,0,0);
    }
    Spectating[playerid] = -1;
    }
    return 1;
    }


    soo :D

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