In diesem Code wird der Fraktionsname nicht angezeigt im String, kannst du mir sagen wieso?
Nein keine Ahnung, printe dir mal die Variable, eventuell ist dein Query falsch, es existiert gar kein fname oder in der Datenbank fehlt was ![]()
In diesem Code wird der Fraktionsname nicht angezeigt im String, kannst du mir sagen wieso?
Nein keine Ahnung, printe dir mal die Variable, eventuell ist dein Query falsch, es existiert gar kein fname oder in der Datenbank fehlt was ![]()
Warum wird mir nur meine erste Fraktion ausgegeben?
Lustigerweise wäre es eigentlich deine letzte Fraktion die angezeigt werden würde, da du aber cache_get_row_count falsch nutzt, geht die Schleife nur bis 1, somit wird nur die erste Fraktion überhaupt ausgelesen hahaha ![]()
Weil du immer wieder die Variablen überschreibst und am Ende, nur die von einer Fraktion ausgibst.
Das format muss in die Schleife, damit alle Fraktionen da eingetragen werden.
Allerdings ist das ein sehr unsauberer Code, viel zu viele Strings, das geht alles viel eleganter ![]()
forward OnFraktionCheck(playerid);
public OnFraktionCheck(playerid)
{
new rows, string[512] = "Name\tTyp\tKasse\tMemberlimit", ints[5], tmp[32];
cache_get_row_count(rows);
for(new i; i < rows; i++)
{
cache_get_value_name_int(i, "fid", ints[0]);
cache_get_value(i, 1, tmp);
cache_get_value_name_int(i, "ftyp", ints[1]);
cache_get_value_name_int(i, "fkasse", ints[2]);
cache_get_value_name_int(i, "member", ints[3]);
cache_get_value_name_int(i, "applications", ints[4]);
format(string, sizeof(string), "%s\n(ID: %i)|%s\t%s\t%i$\t%i - %s",
string,ints[0],tmp,(ints[1]==0)?("keine Behörde"):("{33AA33}Behörde{FFFFFF}"), ints[2], ints[3], (ints[4]==0)?("{FF0000}Geschlossen"):("{33AA33}Offen"));
}
ShowPlayerDialog(playerid, DIALOG_FRAKTIONSLIST, DIALOG_STYLE_TABLIST_HEADERS, "existierende Fraktionen", string, "Ok","");
return 1;
}
Alles anzeigen
Habe das Problem immer mit der ID 1. also mit der ersten ID in der Datenbank an was kann das liegen?
Was genau heißt denn Problem in dem Kontext?
Eventuell debugge das mal, dann sieht man das eher ![]()
Mal spaßeshalber kannst du in die dini inc gehen und mal die Funktion dini bool posten? ![]()
#Handy
Warum solltest du das nicht können?! :o
Ja das habe ich ja gemacht aber es Funktioniert nicht xD
Dann hast du etwas nicht beachtet ![]()

Hast du diesen Hinweis beachtet? ![]()
Wenn du gta zockst, öffne mal den TaskManager, eventuell ist das ja nur gerade so und der WindowsDender o.ä. scannt gerade dein System oder ein AntiViren Programm, dadurch kann es oftmals zu laggs kommen.
Andernfalls, kannst du die Grafik Optionen versuchen ein wenig zu reduzieren.
es nicht nicht anklickbar machen ?
Richtig
Dafür ist diese Funktion ![]()
Toggles whether a player-textdraw can be selected or not.
Ein kurzer Blick ins Wiki und man bekommt seinen Verdacht bestätigt, dafür ist das da ![]()
Ich hab echt keine Ahnung woran es liegt.
Am besten mal crashdetect laden und dann den Server Log hier mal posten, dann kann man gezielt schauen, woran das liegt ![]()
Das Forum kann auch ein wenig langsam sein weil ich den ganzen Abend Mails verschickt habe; die meisten wissen auch den Grund
Die üblichen dick Pics, damit die Leute weiter Donator kaufen um sich jedes Jahr aufs Neue daran zu erfreuen hahaha ![]()
Sagt der mir immer wieder,
Weil wie es scheint du den Liter als Float deklariert hast.
Sprich du müsstest so etwas tun:
new Float:int = Tanke[it][tMaxLiter] - Tanke[it][tLiter];
Will nur auf nummer sicher gehn ob idas so richtig ist?
Dann lies dir nochmal durch, was ich geschrieben habe.
Ich sagte MAX - AKTUELL.
Du rechnest AKTUELL - MAX.
Die Subtraktion ist nicht kommutativ, das lernt man glaube ich in der 5. Klasse.
3 - 5 != 5 - 3
Und wieso verwendest du in der Gleichung -=?
Das macht keinen Sinn, einfach nur -.
Schau dir eventuell noch mal die Basic Syntax in Pawn an: http://wiki.sa-mp.com/wiki/Scripting_Basics
//Edit:
Weil ich da bestimmte Anklickbar haben will aber die anderen nicht
2 Möglichkeiten:
Wenn ich mit der Maus drüber gehe kann ich es trotzdem noch Anklicken aber wieso ?
Weil die TextSize nicht richtig ist ![]()
Jeffry hat das doch gut erklärt gehabt: [SAMMELTHREAD] Kleine Scripting Fragen
Wollte kurz fragen wie kann ich machen das er keine menge mehr angeben muss um das abzuladen?
Ja, versuch dich mal daran, das ist ja nicht so schwer.
Und dann bist du feritg, komm, das schaffst du! ![]()
aber irgendwie spinnt das bei mir bei mir wird das alles 5 mal ausgegeben ?
Nein da spinnt nichts, du formatierst den String nur immer wieder in den String, deshalb wird das 5x ausgegeben ![]()
ocmd:lieferung(playerid)
{
#define getProdukts(%0) (floatround(Tanke[%0][tMaxLiter]-floatround(Tanke[%0][tLiter])))
new string[1024] = "Tankstelle\tBenötigt\tBezugspreis";
for(new i; i<sizeof(Tanke); i++)
{
format(string,sizeof(string),"%s\n%s\t%d/%d Liter\t%d$", string, Tanke[i][tName], getProdukts(i), floatround(Tanke[i][tMaxLiter]), Tanke[i][tPreisProLiter]);
}
ShowPlayerDialog(playerid, DIALOG_TANKSTELLEN, DIALOG_STYLE_TABLIST_HEADERS,"Transport GmbH - Tankstellen Übersicht", string,"GPS","Schließen");
#undef getProdukts
return 1;
}
Alles anzeigen
Als "Bezugspreis" hab ich nur so den PreisProLiter angegeben, kp was du damit aussagen magst.
new tankeID = cache_get_value_name_int(i, "id", Tanke[tankeID][tdbID]);
Das hier ist dein Fehler.
Die Zeile macht keinen Sinn, da die Funktion cache_get_value_name_int immer nur den selben Wert returnt, somit überschreibst du fortwährend dein Array.
Deshalb wird dir alles angezeigt, aber letztlich wird das alles nur in einem Feld gespeichert und immer überschrieben.
Deshalb lösche diese Variable und verwende anstelle von tankeID einfach dein i ![]()
1. Für die Übersicht http://wiki.sa-mp.com/wiki/Dialog_Styles wurde extra z.B. DIALOG_STYLE_TABLIST_HEADERS dafür eingeführt.
2. Es scheint, als würden wohl nicht alle deine Tankstellen geladen werden...wenn die Arrays leer sind, sind sie leer.
3. Lerne zu debuggen, du siehst hier oh, es scheint als wäre das leer.