Tanke[bizid][tBrauch] = (floatround(Tanke[bizid][tMaxLiter])-floatround(Tanke[bizid][tLiter]));
Kurze Frage?
Ich habe 1Liter Getrank gebraucht werden jetzt 8 Liter warum? :o
Tanke[bizid][tBrauch] = (floatround(Tanke[bizid][tMaxLiter])-floatround(Tanke[bizid][tLiter]));
Kurze Frage?
Ich habe 1Liter Getrank gebraucht werden jetzt 8 Liter warum? :o
Tanke[bizid][tBrauch] = (floatround(Tanke[bizid][tMaxLiter])-floatround(Tanke[bizid][tLiter]));
Kurze Frage?
Ich habe 1Liter Getrank gebraucht werden jetzt 8 Liter warum? :o
Öhm also du hast einen Liter getankt aber er zieht 8l ab, richtig?
Ich bräuche wahrscheinlich bei dem Problem noch etwas mehr Infos um dir wirklich zu helfen.
Richtig ich habe 1 Liter Getankt.
So dann updatet sich der Label es werden nun 8 Liter gebraucht.
Was genau wird benötigt?
Gut wäre erstmal was Tanke[bizid][tMaxLiter] und Tanke[bizid][tLiter] genau speichern und was für Werte momentan gespeichert sind, bzw. ein Beispiel wo diese verändert werden.
new Float:pBenzin = (VehicleData[GetVehicleModel(vehicleid)-400][vehMaxTank] - Vehicle[vehicleid][vehFuel]);
format(string, sizeof(string), "Es konnten nur %.02f Liter aufgetankt werden. Die Tankstelle hat kein Benzin mehr. (-$%d)", pBenzin, zPreis);
Wie mache ich am besten es konnten nur 1 Liter aufgetankt werden?
//Edit: hab gerade gesehen, das bezieht sich auf was anderes.. Uhm ich versteh nicht ganz was du meinst, du gibst ja schon aus es konnten nur X.XX Liter aufgetankt werden.
Es konnten nur %.02f Liter aufgetankt werden. Die Tankstelle hat kein Benzin mehr. (-$%d)
Es konten nur X Liter aufgetankt werden statt es konnten X.XX Liter aufgetankt werden.
stock SaveTanke(i)
{
new mainQuery[2537], secondQuery[356];
if(Tanke[i][tCreated] != 0 && i != 0)
{
format(secondQuery, sizeof(secondQuery), "UPDATE `script_tanken` SET `PickupX`='%f', `PickupY`='%f', `PickupZ`='%f', `Besitzer`='%s', ",
Tanke[i][tPickupX], Tanke[i][tPickupY], Tanke[i][tPickupZ], Tanke[i][tBesitzer]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "`Owned`='%d', `Name`='%s', `Preis`='%d', `Teilhaber`='%s', `Lock`='%d', `BenzinAnkauf`='%d', ",
Tanke[i][tOwned], Tanke[i][tName], Tanke[i][tPreis], Tanke[i][tTeilhaber], Tanke[i][tLock], Tanke[i][tBenzinAnkauf]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "`PreisProLiter`='%d', `Liter`='%f', `MaxLiter`='%f', `Kasse`='%d', `BLiter`='%f', WHERE `id`='%d'",
Tanke[i][tPreisProLiter], Tanke[i][tLiter], Tanke[i][tMaxLiter], Tanke[i][tKasse], Tanke[i][tBrauch], Tanke[i][tdbID]);
strcat(mainQuery, secondQuery);
mysql_function_query(myCon, mainQuery, false, "", "");
strdel(mainQuery, 0, sizeof(mainQuery));
printf("[SAVE] Tankstelle %d gespeichert.", i);
}
return 1;
}
Alles anzeigen
public SaveTanken()
{
new count = 0, mainQuery[2537], secondQuery[356];
for(new i=1;i<MAX_TANKEN;i++)
{
if(Tanke[i][tCreated] == 1)
{
format(secondQuery, sizeof(secondQuery), "UPDATE `script_tanken` SET `PickupX`='%f', `PickupY`='%f', `PickupZ`='%f', `Besitzer`='%s', ",
Tanke[i][tPickupX], Tanke[i][tPickupY], Tanke[i][tPickupZ], Tanke[i][tBesitzer]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "`Owned`='%d', `Name`='%s', `Preis`='%d', `Teilhaber`='%s', `Lock`='%d', `BenzinAnkauf`='%d', ",
Tanke[i][tOwned], Tanke[i][tName], Tanke[i][tPreis], Tanke[i][tTeilhaber], Tanke[i][tLock], Tanke[i][tBenzinAnkauf]);
strcat(mainQuery, secondQuery);
format(secondQuery, sizeof(secondQuery), "`PreisProLiter`='%d', `Liter`='%f', `MaxLiter`='%f', `Kasse`='%d', `BLiter`='%f', WHERE `id`='%d'",
Tanke[i][tPreisProLiter], Tanke[i][tLiter], Tanke[i][tMaxLiter], Tanke[i][tKasse], Tanke[i][tBrauch], Tanke[i][tdbID]);
strcat(mainQuery, secondQuery);
mysql_function_query(myCon, mainQuery, false, "", "");
strdel(mainQuery, 0, sizeof(mainQuery));
count++;
}
}
printf("[SAVE] Tankstellen wurden gespeichert. (%d/%d)", count, MAX_TANKEN);
return 1;
}
Alles anzeigen
Kurze Frage warum speichert BLiter nicht ? obwohl es eigentlich speichern sollte?
Ich hoffe du hast BLiter auch in deiner Datenbank als Feld eingefügt? x)
Ich hoffe du hast BLiter auch in deiner Datenbank als Feld eingefügt? x)
Natürlich sonst würde ich nicht fragen
Das Komma hinter `BLiter`='%f' emtfernen
else if(GetVehicleModel(GetVehicleTrailer(vehicleid)) == 584)
{
new string[128], int;
if(sscanf(params, "i", int))return SendClientMessage(playerid, COLOR_GREY, "{247BA6}* Benutze {33AA33}/unload [Menge]");
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Tanker.");
if(!(Spieler[playerid][pFraktion] == 14))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Member der Transport GmbH.");
if(int < 1 || int > 2500)return SendClientMessage(playerid, COLOR_GREY, "** Du kannst nur maximal 2500 Liter abladen.");
if(int > Vehicle[GetVehicleTrailer(vehicleid)][vehProds])return SendClientMessage(playerid, COLOR_GREY, "** Soviel Liter hast du nicht dabei.");
for(new it=1;it<MAX_TANKEN;it++)
{
if(Tanke[it][tCreated] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, Tanke[it][tPickupX], Tanke[it][tPickupY], Tanke[it][tPickupZ]))
{
if(Tanke[it][tLiter] == Tanke[it][tMaxLiter])return SendClientMessage(playerid, COLOR_GREY, "** Diese Tankstelle hat bereits die maximale Anzahl an Benzin.");
new cash = Tanke[it][tKasse];
new kosten = (Tanke[it][tBenzinAnkauf]*int);
if(cash < kosten)return SendClientMessage(playerid, COLOR_GREY, "** Die Kasse hat nicht genügend Geld für das Benzin.");
if(int > (Tanke[it][tMaxLiter]-Tanke[it][tLiter]))return SendClientMessage(playerid, COLOR_GREY, "** Soviel Liter kann diese Tankstelle nicht haben.");
Vehicle[GetVehicleTrailer(vehicleid)][vehProds] -= int;
new Float:intfloat = float(int);
new Float:add = floatadd(intfloat, Tanke[it][tLiter]);
Tanke[it][tLiter] = add;
format(string, sizeof(string), "* Du hast der Tankstelle %d Liter für $%d verkauft.", int, kosten);
Tanke[it][tKasse] -= kosten;
Tanke[it][tBrauch] -= int;
GiveMoney(playerid, kosten);
SendClientMessage(playerid, COLOR_GREEN, string);
UpdateTankLabel(it, Tanke[it][tOwned]);
}
}
}
}
}
return 1;
}
Alles anzeigen
Kurze frage es sollte ja abgezogen werden wen ich bei der Tankstelle ablade ist schon richtig.
so aber wen ich ablade z.b 2500 von 5000 sind für mich immer noch 2500.
Das Problem ist dann komm aufeinmal komische random zahlen?
Wie kann ich abfragen, ob jemand im Dialog "einverstanden" eingegeben hat?
Wie kann ich abfragen, ob jemand im Dialog "einverstanden" eingegeben hat?
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[] <----)
Inputtext abfragen bei OnDialogResponse.
Ist mir bereits bewusst, aber wie? (strcmp?)
if(strcmp(inputtext, "Einverstanden") == 0) return 0;