Du brauchst eine zweite Spalte, du musst in dem Query ja irgendwo angeben, welche Zeile aktualisiert werden soll.
1=Steuern
2=Staatskasse
...
Sonst weiß die Datenbank ja nicht, welcher Wert zu aktualisieren ist.
Du brauchst eine zweite Spalte, du musst in dem Query ja irgendwo angeben, welche Zeile aktualisiert werden soll.
1=Steuern
2=Staatskasse
...
Sonst weiß die Datenbank ja nicht, welcher Wert zu aktualisieren ist.
Ah, so rum hast du es gemacht.
Aber auch da brauchst du - wenn auch nur Dummy-Weise - eine "ID" Spalte, damit phpMyAdmin weiß, wo es den Wert aktualisieren soll.
Füge eine Spalte ID hinzu, setze sie auf UNIQUE und schreibe eine 1 rein. Kannst sie auch Dummy nennen. Hauptsache du hast eine Unique-Spalte.
wie kann man denn sowas scripten das 2 Teams eine Zone einnehmen können ? also rot und blau brauch auch nicht gespeichert werden
arbeite mit enum spielerinfo
if(SpielerInfo[playerid][Team] == 1 || SpielerInfo[playerid][Team] == 5)
{
//Kann einnehmen
}
else
{
//Nicht erlaubt
return SendClientMessage(playerid, 0xFF0000FF, "Error: Du kannst diese Zone nicht einnehmen, nur Team 1 und 5 dürfen das.");
}
@SirEscobar
sry was denn jetzt? einer stadt zu weisen wat meinste damit genau?
oder willst du dass es von spielern nicht gekauft werden kann?
Ich will das es keiner kaufen kann
Die Variablen werden nicht in die MySQL DB gespeichert
Wird aufgerufen bei OnGameModeExit -> Ich schalte den Server mit exit aus.
stock SaveServer()
{
new query[500];
format(query, sizeof(query), "UPDATE server SET login=%d, registration=%d, teamchange=%d, deathmatch=%d, weapondrop=%d, dgl=%d, mp5=%d, shotgun=%d, m4=%d, sniper=%d, weste=%d, roadblock=%d, nagelband=%d WHERE dummy=0",
Server[s_Login], Server[s_Registration], Server[s_TeamChange], Server[s_DeathMatch], Server[s_DropWeapons], Server[s_Dgl], Server[s_MP5], Server[s_Shotgun], Server[s_M4], Server[s_Sniper], Server[s_Weste], Server[s_Roadblock], Server[s_Nagelband]);
mysql_tquery(handle, query);
return 1;
}
MySQL Tabelle: http://abload.de/img/unbenanntlhu51.png
In der MySQL Log stehen keine warnings / errors.
Versuche es eventuell mal mit
mysql_query(handle, query);
Setze dort vielleicht auch mal nen print hin:
print(query);
Ich habe kürzlich Textdraws erstellt und habe ein kleines Problem, ich weiß nicht wie ich das beheben soll. Wenn ich mit der Maus über einem Text "hover", soll diese rot erscheinen.
Das klappt auch nur sind da 2 ungewollte Fehler:
1) Bei einem der 3 Textdraws geht es nicht.
2) Wenn ich über dem 2. "hover" und etwas runter gehe zum dritten, sind beide rot markiert. Ich möchte aber das nur einer zur gleichen Zeit markiert werden kann.
Screen um es besser zu zeigen:
Brauchst du da den Code um es genau zu sagen oder habe ich einen Allgemeinen Fehler gemacht?
[hide]http://imgur.com/R3mMIqQ[/hide]
Ja, poste bitte den Code.
Poste hier bitte erst mal eines das nicht richtig geht, das reicht vielleicht schon.
Wenn das nichts bringt, dann kannst du mir alle in PN schicken.
Bittesehr:
PlayerMainText2[playerid] = CreatePlayerTextDraw(playerid, 189.000000, 158.000000, "_"); //Button Register or Login
PlayerTextDrawBackgroundColor(playerid, PlayerMainText2[playerid], 255);
PlayerTextDrawFont(playerid, PlayerMainText2[playerid], 2);
PlayerTextDrawLetterSize(playerid, PlayerMainText2[playerid], 0.200000, 1.200000);
PlayerTextDrawColor(playerid, PlayerMainText2[playerid], -1);
PlayerTextDrawSetOutline(playerid, PlayerMainText2[playerid], 1);
PlayerTextDrawSetProportional(playerid, PlayerMainText2[playerid], 1);
Du musst die Größe das anklickbaren Bereiches mit PlayerTextDrawTextSize anpassen. https://wiki.sa-mp.com/wiki/PlayerTextDrawTextSize
Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.
Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch 10, das wäre 64. Somit ist PlayerTextDrawTextSize-X = 120 + 64 = 184.
Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt 24. Somit wäre PlayerTextDrawTextSize-Y = 24.
640 und 480 sind die vollen Werte für Breite und Höhe, unabhängig von der Auflösung.
Als Hilfestellung kannst du in diesen Thread schauen, da habe ich es an Hand eines Textdraws beispielhaft erklärt.
Bitte um Hilfe bei Skin Auswahl per TextDraw
Schau mal ob du so damit klar kommst.
Da musst du den X Wert von PlayerTextDrawTextSize (erste Zahl) größer machen, so weit, bis es nicht mehr in die zweite Zeile springt.
Dankesehr, war hilfreich. Das Problem 2) ist nun gelöst, fehlt nur noch Problem 1).
Das Problem hierbei ist das ich nicht über den Text "hovern" kann, sprich die Farbe bleibt weiß. Das liegt eventuell daran das ich das anders erstellt habe als 2 und 3, da dass davon abhängt ob man registriert ist oder nicht.
Also hier der Code:
PlayerMainText2[playerid] = CreatePlayerTextDraw(playerid, 189.000000, 158.000000, "_"); //Button Register or Login
PlayerTextDrawBackgroundColor(playerid, PlayerMainText2[playerid], 255);
PlayerTextDrawFont(playerid, PlayerMainText2[playerid], 2);
PlayerTextDrawLetterSize(playerid, PlayerMainText2[playerid], 0.200000, 1.200000);
PlayerTextDrawColor(playerid, PlayerMainText2[playerid], -1);
PlayerTextDrawSetOutline(playerid, PlayerMainText2[playerid], 1);
PlayerTextDrawSetProportional(playerid, PlayerMainText2[playerid], 1);
PlayerTextDrawTextSize(playerid, PlayerMainText2[playerid], 300.0, 15.0)
Und
/* Account Management */
if(pData[playerid][P_Logged] == false) {
new Query[60],AS[256];
format(Query, sizeof(Query),"SELECT * FROM Players WHERE Name = '%s'", GetName(playerid));
mysql_query(MySQL, Query);
mysql_store_result();
if(mysql_num_rows() != 0) {
format(AS, sizeof(AS), "Your account is ~g~Registered~n~~w~~h~Click in the button for login.");
PlayerTextDrawSetString(playerid, PlayerMainText1[playerid], AS);
format(AS, sizeof(AS), "~w~ LOG IN ACCOUNT");
PlayerTextDrawSetString(playerid, PlayerMainText2[playerid], AS);
} else {
format(AS, sizeof(AS), "Your account is ~y~New account~n~~w~~h~Click in the button for register.");
PlayerTextDrawSetString(playerid, PlayerMainText1[playerid], AS);
format(AS, sizeof(AS), "~w~ REGISTER ACCOUNT");
PlayerTextDrawSetString(playerid, PlayerMainText2[playerid], AS);
}
mysql_free_result();
} else {
pData[playerid][P_Logged] = true;
}
return 1;
}
So wie es aussieht fehlt bei dem Textdraw: https://wiki.sa-mp.com/wiki/PlayerTextDrawSetSelectable
[wiki]PlayerTextDrawSetSelectable[/wiki]
Sieht jemand den SQL Fehler?
format(query,sizeof(query),"UDPATE banneduser SET IsBanned='0',BannedBis='0',BanAdmin='',BanReason='' WHERE BINARY username='%s'",getPlayerName(playerid));
Tabelle:
Danke im Voraus
Setze bei den Strings mal ein Abstand rein.
Sollte dann eigentlich funktionieren.
Gruß.