Soweit ich weiß ist das normal. War bei mir auch so.
An sich könnte man doch wenn das Label sich von der gewollten Stelle zu weit entfernt hat, ein neues Label erstellen und es so positionieren, dass es wieder passt.
Soweit ich weiß ist das normal. War bei mir auch so.
An sich könnte man doch wenn das Label sich von der gewollten Stelle zu weit entfernt hat, ein neues Label erstellen und es so positionieren, dass es wieder passt.
Ich gruesse dich Kaliber
Leider funktioniert die Variante mit strcat.. nicht, es wird einfach nichts angezeigt im Gegensatz zur anderen Variante ![]()
Wuesste da jetzt auch nicht weiter, da ich die Limitation von SA-MP nicht kenne
Guten Morgen,
gibt es bereits eine Funktion, oder weiß einer wie man Sie schrieben muss, dass der gespeicherte Geldbetrag "120000" mit einem Trennpunkt angezeigt wird ?
Hinzu kommt, dass ich komischerweise "SelectTextDraw" nicht bei einem PlayerTextDraw nutzen kann.
Wie muss ich diese Funktion anwenden um herauszubekommen ob das Format stimmt?
stock GetPlayerAge(input[])//(c) Jeffry
{
new date[12];
strcat(date, input);
if(date[1] == '.') strins(date, "0", 0, 12);
if(date[4] == '.') strins(date, "0", 3, 12);
if(!date[9] || date[10]) return -1;
new day = 10*(date[0]-48)+(date[1]-48);
new month = 10*(date[3]-48)+(date[4]-48);
new year = 1000*(date[6]-48)+100*(date[7]-48)+10*(date[8]-48)+(date[9]-48);
if(year < 1000 || year > 9999 || month < 1 || month > 12 || day < 1) return -1;
if(month == 2)
{
if(day > 28 && (year % 4 != 0 || (year % 100 == 0 && year % 400 != 0))) return -1;
}
else if(day > g_days_m[month-1]) return -1;
new d, m, y;
getdate(y, m, d);
new age = y - year;
if(m < month) age--;
else if(m == month && d < day) age--;
return (age < 0) ? (-1) : (age);
}
Wie muss ich diese Funktion anwenden um herauszubekommen ob das Format stimmt?
ich bekomme in der Armybase die Kollision nicht weg. Ich fahr immer gegen unsichtbare Wände, was kann ich tun
Jetzt kommen diese Fehler:
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(407) : error 017: undefined symbol "g_days_m"
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(407) : warning 215: expression has no effect
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(407) : error 001: expected token: ";", but found "]"
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(407) : error 029: invalid expression, assumed zero
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(407) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Zeile 407:
else if(day > g_days_m[month-1]) return -1;
Schreib da mal oben rein:
static const g_days_m[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
Wie muss ich diese Funktion anwenden um herauszubekommen ob das Format stimmt?
Hier der Link zum Originalen Post, mit Beispiel:
Nützliche Codeschnipsel
Kann mir jemand helfen?
Code:
new query[256];
mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (Spielername, Passwort, LastIP, Geschlecht, Alter) VALUES ('%e', '%e','%e','%e','%e')", sI[playerid][pName], sI[playerid][pPasswort], Spielerip(playerid), sI[playerid][pGeschlecht], sI[playerid][pAlter]);
mysql_pquery(handle, query, "OnUserRegister", "d", playerid);
Fehler:
[17:25:47] [ERROR] error #1064 while executing query "INSERT INTO `accounts` (Spielername, Passwort, LastIP, Geschlecht, Alter) VALUES ('Marcel', 'C78C301F26DD92130F40B097EB023A35200AFDF202E3A2C67249B802C0E1ED06','127.0.0.1','','')": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Alter) VALUES ('Marcel', 'C78C301F26DD92130F40B097EB023A35200AFDF202E3A2C67249B8' at line 1
Schreib es so:
INSERT INTO `accounts` (Spielername, Passwort, LastIP, Geschlecht, `Alter`)
Danke, und wie kann ich hier das Geburtsdatum und Passwort anzeigen lassen? Passwort ist mit SHA256 Gehasht
format(t_info, sizeof(t_info), ""HTML_WHITE"Spielername: "HTML_YELLOW"%s"HTML_WHITE" \nPasswort: "HTML_YELLOW"%s"HTML_WHITE" \nGeschlecht: "HTML_YELLOW"Männlich"HTML_WHITE" \nGeburtsdatum: "HTML_YELLOW"%s"HTML_WHITE" \nIP-Adresse: "HTML_YELLOW"%s \n \n"HTML_WHITE"Wenn du deinen Spieleraccount erstellen willst, dann drücke auf 'Erstellen'", sI[playerid][pName], unhash, sI[playerid][pAlter], Spielerip(playerid));
ShowPlayerDialog(playerid, D_REGISTER_CONFIRM, DIALOG_STYLE_MSGBOX, ""SERVER_HTML""SERVER_NAME" - Registration", t_info, "Erstellen", "Abbruch");
Kann mir jemand helfen?
Das Query funktioniert nicht, weil ALTER ein SQL Befehl ist.
Entweder du packst es in die Anführungszeichen `Alter` oder nennst es zum Beispiel pAlter.
Außerdem nutzt du %e beim pAlter. Das Alter ist aber eine Zahl und damit %d.
Außer du hast dort das Geburtsdatum drin stehen, dann solltest du das aber ohnehin zu Geburtstag ändern.
mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (Spielername, Passwort, LastIP, Geschlecht, `Alter`) VALUES ('%e', '%e','%e','%e','%d')", sI[playerid][pName], sI[playerid][pPasswort], Spielerip(playerid), sI[playerid][pGeschlecht], sI[playerid][pAlter]);
bzw
mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (Spielername, Passwort, LastIP, Geschlecht, Geburtstag) VALUES ('%e', '%e','%e','%e','%e')", sI[playerid][pName], sI[playerid][pPasswort], Spielerip(playerid), sI[playerid][pGeschlecht], sI[playerid][pAlter]);
format(t_info, sizeof(t_info), ""HTML_WHITE"Spielername: "HTML_YELLOW"%s"HTML_WHITE" \nPasswort: "HTML_YELLOW"%s"HTML_WHITE" \nGeschlecht: "HTML_YELLOW"Männlich"HTML_WHITE" \Geburtstag: "HTML_YELLOW"%s"HTML_WHITE" \nIP-Adresse: "HTML_YELLOW"%s \n \n"HTML_WHITE"Wenn du deinen Spieleraccount erstellen willst, dann drücke auf 'Erstellen'", sI[playerid][pName], unhash, sI[playerid][pAlter], Spielerip(playerid));
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(335) : error 027: invalid character constant
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(335) : error 027: invalid character constant
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(343) : error 027: invalid character constant
C:\Users\Marcel\Desktop\New-Reallife\Server\Server\gamemodes\NewReallife.pwn(343) : error 027: invalid character constant
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
\Geburtstag:
zu
\nGeburtstag:
Also Geburtstag wird als "0" ausgegeben und Passwort wird garnicht angezeigt.
Aktueller Stand:
new t_info[2048], unhash[65];
SHA256_PassHash(unhash, SERVER_SALT, sI[playerid][pPasswort], 65);
format(t_info, sizeof(t_info), ""HTML_WHITE"Spielername: "HTML_YELLOW"%s"HTML_WHITE" \nPasswort: "HTML_YELLOW"%s"HTML_WHITE" \nGeschlecht: "HTML_YELLOW"Männlich"HTML_WHITE" \nGeburtstag: "HTML_YELLOW"%d"HTML_WHITE" \nIP-Adresse: "HTML_YELLOW"%s \n \n"HTML_WHITE"Wenn du deinen Spieleraccount erstellen willst, dann drücke auf 'Erstellen'", sI[playerid][pName], unhash, sI[playerid][pAlter], Spielerip(playerid));
ShowPlayerDialog(playerid, D_REGISTER_CONFIRM, DIALOG_STYLE_MSGBOX, ""SERVER_HTML""SERVER_NAME" - Registration", t_info, "Erstellen", "Abbruch");
Also Geburtstag wird als "0" ausgegeben
Ist das jetzt der Geburtstag oder das Alter? Deine Variable heißt Alter, deine Bezeichnung Geburtstag. Entscheide dich für eins und benenne beides gleich, ebenfalls in der Datenbank.
Für das Alter musst du %d nutzen, für den Geburtstag %s. Beim Geburtstag muss im enum das pGeburtstag dann ein Array sein. pGeburtstag[11],
Passwort wird garnicht angezeigt.
Ich bezweifle, dass du mit der Funktion das gehashte Passwort in Klartext zurück bekommst. Der Sinn eines Hashes ist ja genau das, dass man das nicht mehr hinbekommt.
Das Passwort muss ja beim einloggen auch enthasht werden.
Die Variable pAlter ich auf das Geburtstagsdatum defeniert. ich möchte eigentlich das Alter(also z.B als 18 Jahre) angezeigt wird.
Das Passwort muss ja beim einloggen auch enthasht werden.
Nein, es wird nur aus dem was du eingibst wieder ein Hash erzeugt und mit dem Hash in der Datenbank verglichen. Sind die gleich, geht es durch.
Die Variable pAlter ich auf das Geburtstagsdatum defeniert. ich möchte eigentlich das Alter(also z.B als 18 Jahre) angezeigt wird.
Dann musst du dort auch das Alter rein schreiben.
sI[playerid][pAlter] = GetPlayerAge(inputtext);
Allerdings aktualisiert sich das ja nicht.
Daher ist es sinnvoller, du speicherst den Geburtstag
format(sI[playerid][pGeburtstag], 11, inputtext);
Und machst dann in dem Dialog anstatt
sI[playerid][pAlter]
das:
GetPlayerAge(sI[playerid][pGeburtstag])