Public wird nicht aufgerufen (MRmonat Tutorial)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,


    Bei mir Wird der Public OnUserCheck nicht aufgerufen habe Alles wie im Video Erklärt Gemacht
    Das Video

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.



    Mein Code


    //Login/Register new name[MAX_PLAYER_NAME],query[128]; GetPlayerName(playerid,name,sizeof(name)); format(query,sizeof(query),"SELECT id FROM accounts WHERE Username='%s'",name); mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);




    public OnUserCheck(playerid){ print("OnUserCheck wurde aufgerufen."); new name[MAX_PLAYER_NAME],string[128]; GetPlayerName(playerid,name,sizeof(name)); new num_rows,num_fields; cache_get_data(num_rows,num_fields,dbhandle); if(num_rows==0) { format(string,sizeof(string),"Der Name %s wurde nicht in der Datenbank gefunden.",name); SendClientMessage(playerid,BIZCOLOR,string); SendClientMessage(playerid,BIZCOLOR,"Bitte Registriere dich um Fortzufahren."); ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung",string,"Accept","Cancel"); } else {
    } return 1;}



    Hoffe ihr könnt mir helfen

    Einmal editiert, zuletzt von NoLivE ()

  • Sorry aber Verstehe nicht was du meinst oder wie es geht.


    //Edit


    Vll Dass hier
    mysql_log.txt



    [16:45:42] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'AlexM' localhost (using password: YES)
    [16:45:42] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'AlexM' localhost (using password: YES)
    [16:46:48] [ERROR] CMySQLQuery::Execute[OnUserCheck(i)] - (error #2006) MySQL server has gone away
    [16:46:48] [WARNING] CMySQLQuery::Execute[OnUserCheck(i)] - lost connection, reconnecting..
    [16:46:48] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'AlexM' localhost (using password: YES)
    [16:59:11] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'AlexM' localhost (using password: YES)
    [16:59:11] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'AlexM' localhost (using password: YES)
    [16:59:11] [ERROR] CMySQLQuery::Execute[OnUserCheck(i)] - (error #2006) MySQL server has gone away
    [16:59:11] [WARNING] CMySQLQuery::Execute[OnUserCheck(i)] - lost connection, reconnecting..
    [16:59:11] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'AlexM' localhost (using password: YES)

  • mysql_log(LOG_ALL);
    bei OnGameModeInit ganz als erstes einfügen.


    Dann posten was im Server Log oder in dem MySQL Log ausgegeben wird.


    EDIT:
    Ja genau das. Warte kurz.



    EDIT2:
    Nimm den "root" Benutzer ohne Passwort. Localhost solltest du nehmen, wenn die Datenbank auf dem gleichen Server liegt:


    #define MYSQL_HOST "localhost"
    #define MYSQL_USER "root"
    #define MYSQL_PASS ""
    #define MYSQL_DATA "DATENBANKNAME"


    Das ist in 99% aller Fälle standardmäßig so eingestellt.
    Dein user "samp" wird nicht die richtigen Berechtigungen haben, das ist auf localhost (dein Rechner) so eingestellt, standardmäßig zumindest.
    Deshalb benutze, wie ich oben geschrieben habe, den root - User ohne Passwort, der hat ALLE Berechtigungen. Dem kannst du später auch, je nach Client, ein Passwort geben.