Hallo Breadfish ich habe mich heute mal an ein Fraktionsautohaus gemacht.
Ich nutze als normales System das Fs von DtSniper in veränderter Form(MySql).
Beim start des Servers soll er alle Autos Laden die bereits gekauft wurden. Dies Funktioniert auch recht gut.
Allerdings wenn man ein neues kaufen möchte wird es nicht gekauft.
Geöffnet wird alles durch einen Dialog der den Style MSG_Box besitzt (kaufen|Abbrechen).
Nun muss ich aber einen Leeren Platz in der MySql Tabelle finden die der Fraktion gehört.
Die Tabelle sieht so aus.
So habe ich mir das gedacht.
if(dialogid == DIALOG_GANGCAR)
{
if(response)
{
new string[128];
new typi=GetVehicleModel(GetPlayerVehicleID(playerid));
new preis = Kaufliste[typi][Preis];
if (preis <= SpielerInfo[playerid][pGeld])
{
mysql_query("SELECT Nummer FROM gangcars WHERE Fraktion = %i && Typ = -1",SpielerInfo[playerid][pFraktion]);
mysql_store_result();
new ka =-1;
ka=mysql_fetch_int();
mysql_free_result();
if(ka!=-1)
{
new autohaus=Kaufliste[typi][Autohaus];
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
SpielerInfo[playerid][pGeld]=SpielerInfo[playerid][pGeld]-preis;
format(Query, sizeof(Query), "UPDATE `gangcars` SET `Typ` = %d WHERE `Nummer` = '%i'",typi,ka);
mysql_query(Query);
format(Query, sizeof(Query), "UPDATE `gangcars` SET `X` = %f, `Y` = %f, `Z` = %f, `Rotation` = %f WHERE `Nummer` = '%i'",Autospawns[autohaus][Xcar],Autospawns[autohaus][Ycar],Autospawns[autohaus][Zcar],Autospawns[autohaus][Rotation],ka);
mysql_query(Query);
new farbe1,farbe2;
if(SpielerInfo[playerid][pFraktion]==1)
{
farbe1=0;
farbe2=1;
}
new car=AddStaticVehicleEx(typi,Autospawns[autohaus][Xcar],Autospawns[autohaus][Ycar],Autospawns[autohaus][Zcar],Autospawns[autohaus][Rotation],farbe1,farbe2,-1);
gCarlist[car][Xcar]=Autospawns[autohaus][Xcar];
gCarlist[car][Ycar]=Autospawns[autohaus][Ycar];
gCarlist[car][Zcar]=Autospawns[autohaus][Zcar];
gCarlist[car][Rotation]=Autospawns[autohaus][Rotation];
gCarlist[car][Typ]=typi;
SetVehicleNumberPlate(Carlist[playerid][Carid],"");
RemovePlayerFromVehicle(playerid);
format(string, sizeof(string), "Du hast dir erfolgreich für $%i ein/einen %s gekauft!", preis, Kaufliste[gCarlist[car][Typ]][carName]);
SendClientMessage(playerid, FARBE_WEIß, string);
SendClientMessage(playerid, FARBE_WEIß, "Infos zu den Befehlen für dein Fahrzeug kannst du mit /vhilfe aufrufen.");
}
}
else
{
format(string, 128, "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", preis);
SendClientMessage(playerid, FARBE_WEIß, string);
}
}
else
{
RemovePlayerFromVehicle(playerid);
}
}
Wo ist mein Fehler?
PS: Sry das es etwas verwirrend aussieht ist die Rohfassung.