for(new i=0; i<12; i++) hackCode[playerid][i] = random(10);
Deklaration:
new hackCode[MAX_PLAYERS][12];
for(new i=0; i<12; i++) hackCode[playerid][i] = random(10);
Deklaration:
new hackCode[MAX_PLAYERS][12];
for(new i=0; i<12; i++) hackCode[playerid][i] = random(10);
Und das verwende ich z.B. so?
for(new i=0; i<12; i++)
{
hackCode[playerid][i] = random(10);
format(str, sizeof(str), "%d%d%d%d%d%d%d%d%d%d%d%d", hackCode[playerid][1], hackCode[playerid][2], hackCode[playerid][3], hackCode[playerid][4], hackCode[playerid][5], hackCode[playerid][6], hackCode[playerid][7], hackCode[playerid][8], hackCode[playerid][9], hackCode[playerid][10], hackCode[playerid][11], hackCode[playerid][12]);
if(dialogid == blabla)
{
if(if(strcmp(response, str, true, 128) == 0))
{
PlayerInfo[playerid][pMoney] += 5000;
}
}
}
Alles anzeigen
Nein, an der Stelle an der du den Code erzeugst:
new str[32];
for(new i=0; i<12; i++)
{
hackCode[playerid][i] = random(10);
format(str, sizeof(str), "%s%d", str, hackCode[playerid][i]);
}
SendClientMessage(playerid, 0xFFFFFFFF, str);
Im Dialog zur Prüfung:
new str[32];
for(new i=0; i<12; i++) format(str, sizeof(str), "%s%d", str, hackCode[playerid][i]);
if(!strcmp(inputtext, str))
{
//Code richtig eingegeben
}
Moin, ich möchte gerne eine Funktion schreiben worüber ich zB einen Dialog anzeigen lassen kann.
Als Beispiel:
AdminHelpList(playerid, 1);
Habe da auch eine Idee, weiß aber nicht wie ich diese genau umsetzen soll und ob es so klappt.
Idee:
stock AdminHelpList(playerid, bool:a_status)
{
switch(a_status)
{
case 0:
{
SendClientMessage(playerid, -1, "Ja nö");
}
}
return 1;
}
Problem: warning 213: tag mismatch
Zeile: AdminHelpList(playerid, 1);
Hoffe einer von euch kann mir Helfen.
MfG.
Aaron!
bool:a_status
Zu
a_status
Musst mit true und false arbeiten wenn du Booleans verwendest, also:
AdminHelpList(playerid, true);
Keine Ahnung ob das noch zu "Kleine Scripting Fragen" gehört aber das MySQL von Jeffry funktioniert bei mir nicht so ganz, ich weiß auch nicht genau woran es liegt.
Bevor ich jetzt den ganzen Gamemode verlinke, frage ich erstmal was ich verlinken müsste bei diesem Problem:
Wenn ich mich im Game registrier, wird ein Account erstellt. Versuch ich mich einzuloggen, klappt es nicht obwohl es zu 100% das gleiche passwort ist.
Wenn ich dann das Spiel nochmal neustarte wurde mein Account "nicht gefunden" und muss mich nochmal registrieren, das hab ich 3x gemacht und jetzt ist da der selbe Account mit 3x dem selben Namen und Passwort.
Irgendwelche Ideen?
Kann sein, dass meine MySQL Version outdated ist. Bin mir nicht sicher, verwende vielleicht noch R39, MySQL_log.txt spuckt nix aus
Könnte das, das Problem sein?
Welche Version du verwendest steht auch im Server Log, schaue da nach.
Der Fehler den du gepostet hast, kommt der mehrmals oder nur einmal?
Welche Version du verwendest steht auch im Server Log, schaue da nach.
Der Fehler den du gepostet hast, kommt der mehrmals oder nur einmal?
Die MySQL Version müsste eigentlich (?) nicht das Problem sein, da ich in meinem anderen Gamemode auch dein Tutorial befolgt habe und die Veränderungen der R39 Version angepasst habe, das Gleiche hab ich eigentlich auch hier überall gemacht. MySQL ist aber R39-5
Der Fehler kommt nur 1x nachdem MySQL geladen wurde:
[19:25:26] [MySQL] Verbindungsaufbau...
[19:25:26] [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1
[19:25:26] [debug] Run time error 20: "Invalid index parameter (bad entry point)"
[19:25:26] Script[gamemodes/gmd.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
[19:25:26] Number of vehicle models: 0
[19:25:46] [connection] *************** requests connection cookie.
[19:25:47] [connection] incoming connection: ************* id: 0
[19:25:48] [join] Anti has joined the server (0:*********)
[19:25:59] [part] Anti has left the server (0:2)
Schreibe in deinen Gamemode unter den includes:
main() { }
Schreibe in deinen Gamemode unter den includes:
main() { }
Okay das hat schonmal den runtime error beseitigt aber MySQL-Fehler besteht trotzdem noch
Dann schalte bitte den MySQL Debug Modus an und poste dann was im MySQL Log steht.
mysql_log(LOG_ALL);
Dann schalte bitte den MySQL Debug Modus an und poste dann was im MySQL Log steht.
mysql_log(LOG_ALL);
[20:26:30] [DEBUG] CMySQLHandle::Create - creating new connection..
[20:26:30] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[20:26:30] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[20:26:30] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:26:30] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:26:30] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:26:30] [DEBUG] mysql_errno - connection: 1
[20:26:30] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:26:30] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:26:30] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:26:30] [DEBUG] CMySQLConnection::Connect - connection was successful
database...
[20:26:30] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:26:30] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:26:30] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:26:30] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:26:52] [DEBUG] mysql_format - connection: 1, len: 128, format: "SELECT id FROM users WHERE name = '%e'"
[20:26:52] [DEBUG] mysql_pquery - connection: 1, query: "SELECT id FROM users WHERE name = 'Anti'", callback: "OnUserCheck", format: "d"
[20:26:52] [DEBUG] CMySQLQuery::Execute[OnUserCheck] - starting query execution
[20:26:52] [DEBUG] CMySQLQuery::Execute[OnUserCheck] - query was successfully executed within 5.583 milliseconds
[20:26:52] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[20:26:52] [DEBUG] Calling callback "OnUserCheck"..
[20:26:52] [DEBUG] cache_get_row_count - connection: 0
[20:26:52] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[20:26:54] [DEBUG] mysql_format - connection: 1, len: 256, format: "INSERT INTO users (name, password) VALUES ('%e', MD5('%e'))"
[20:26:54] [DEBUG] mysql_pquery - connection: 1, query: "INSERT INTO users (name, password) VALUES ('Anti', MD5(", callback: "OnUserRegister", format: "d"
[20:26:54] [DEBUG] CMySQLQuery::Execute[OnUserRegister] - starting query execution
[20:26:54] [DEBUG] CMySQLQuery::Execute[OnUserRegister] - query was successfully executed within 78.852 milliseconds
[20:26:54] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[20:26:54] [DEBUG] Calling callback "OnUserRegister"..
[20:26:54] [DEBUG] cache_insert_id - connection: 1
[20:26:54] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[20:27:02] [DEBUG] mysql_format - connection: 1, len: 256, format: "SELECT * FROM users WHERE name = '%e' AND password = MD5('%e')"
[20:27:02] [DEBUG] mysql_pquery - connection: 1, query: "SELECT * FROM users WHERE name = 'Anti' AND password = ", callback: "OnUserLogin", format: "d"
[20:27:02] [DEBUG] CMySQLQuery::Execute[OnUserLogin] - starting query execution
[20:27:02] [DEBUG] CMySQLQuery::Execute[OnUserLogin] - query was successfully executed within 2.769 milliseconds
[20:27:02] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[20:27:02] [DEBUG] Calling callback "OnUserLogin"..
[20:27:02] [DEBUG] cache_get_row_count - connection: 0
[20:27:02] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
Alles anzeigen
Das sieht soweit gut aus.
Wie sieht deine Tabelle in der Datenbank aus? Poste bitte den Inhalt und die Struktur der Tabelle.
Das sieht soweit gut aus.
Wie sieht deine Tabelle in der Datenbank aus? Poste bitte den Inhalt und die Struktur der Tabelle.
http://imgur.com/a/m681d da müsste eig auch alles stimmen
Die Struktur hast du vergessen zu posten.
Dem Passwort Hash entnehme ich aber, dass deine password Spalte nur 32 Zeichen hat. Erhöhe das auf 128.
Die Struktur hast du vergessen zu posten.
Dem Passwort Hash entnehme ich aber, dass deine password Spalte nur 32 Zeichen hat. Erhöhe das auf 128.
Sicher? Es ist schon auf 128, das Passwort ist bloß sehr kurz, 123 zum Testen
Ah, das erklärt dann warum es so kurz ist.
Wobei es mir dann nicht klar wird, warum beim Login nichts gefunden wird.
Lösche mal die ganze Tabelle und erstelle sie neu, sodass keine Einträge mehr drin sind.
Registriere dich dann neu. Klappt es dann?
Ah, das erklärt dann warum es so kurz ist.
Wobei es mir dann nicht klar wird, warum beim Login nichts gefunden wird.
Lösche mal die ganze Tabelle und erstelle sie neu, sodass keine Einträge mehr drin sind.
Registriere dich dann neu. Klappt es dann?
Mit Struktur oder einfach ne ganz leere Tabelle?
Die Tabelle komplett löschen (DROP TABLE) und danach die Struktur wieder anlegen, sodass keine Datensätze in der Tabelle sind.
PS: Du musst nicht immer meinen kompletten Post zitieren, es steht ja direkt drüber. Das macht es nur unübersichtlich.