TOP Scripter für kl. Problem nötig

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,


    ich habe ein kleines aber bescheidenes Anliegen.
    Und zwar geht es um meinen Gamemode, welcher gerade neu und in der Aufbauphase ist.


    Ausgehend von MySQL ist der Gamemode auf Basis von MTRP ausgerichtet, jedoch SlM.


    Mein Problem ist, dass nach dem Einloggen der Server abstürzt, da er (wahrscheinlich) die
    MySQL Tabelle nicht richtig ausließt.
    Mein GM ist zurzeit 1600Z groß und sehr übersichtlich.


    Ich würde mich freuen, wenn sich ein Scripter fände, der mal bei mir, per Teamviewer
    vorbeischaut und guckt, ob er das Einloggproblem beheben kann.


    Auszug aus OnPlayerLogin:
    new Data[1024];
    new Field[64];
    new rcnt = 1;
    MySQLFetchAcctRecord(PlayerInfo[playerid][pSQLID], Data);
    samp_mysql_strtok(Field, "|", Data);
    while (samp_mysql_strtok(Field, "|", "") == 1)
    {
    if (rcnt == 3) PlayerInfo[playerid][pLevel] = strval(Field);
    if (rcnt == 4) PlayerInfo[playerid][pAdmin] = strval(Field);
    if (rcnt == 5) PlayerInfo[playerid][pPupgrade] = strval(Field);
    if (rcnt == 6) PlayerInfo[playerid][pRespekt] = strval(Field);
    ...
    rcnt++;
    }
    SendClientMessage(playerid, INFO_BLAU, "** Du hast Dich erfolgreich eingeloggt! **");


    Die Nachricht man hätte sich erfolgreich eingeloggt, kommt leider nicht und der Server ist sofort offline. Kein Fehler!
    Und die crash_info Datei, naja daraus wird man auch nicht schlau
    ;)


    Einen Fehler im Script kann ich leider auch nicht finden, daher bitte ich um Hilfe.


    PS.: In der MySQL Datenbank ist kein Fehler...


    Ich wäre Euch sehr verbunden!



    Freundliche Grüße


    4#Future

    Einmal editiert, zuletzt von 4#Future ()

  • Ich muss den Server momentan leider erstmal local auf meinem Windows Rechner laufen lassen.


    Also eigentlich benutze ich das neueste MySQL Plugin von "http://lostgangwarz.free.fr".


    Vielleicht kannst Du mir auchmal einen Link eines anderen MySQL Plugins für Windows schicken,
    welches Deiner Meinung nach vielleicht besser wäre.


    Im übrigen, was meinst Du mit MySQL Debug. Es ist mir grade nicht ganz klar wo ich es einschalten
    soll. Vielleicht hast Du mal Lust per Teamviewer zu connecten. Teamspeak und ICQ habe ich auch.


    Übrigens wie oben schon erwähnt steht weder was in der ServerLog noch ist die CrashInfo hilfreich.


    Und funktionieren sollte die MySQL Verbindung eigentlich auch, da das Registrieren erfolgt und
    der User auch in der Tabelle steht, nur nach dem Login stürzt der Server einfach ab.
    Vielleicht liegt es auch an "OnPlayerSpawn" oder "SetPlayerSpawn", leider bin ich ein bisschen hilflos.



    Freundliche Grüße


    4#Future

  • Also ich finde keinen MySQL Debug Parameter.


    Aber davon mal ganz abgesehen würde ich auch gern SAMPMySQL behalten, da es mir auch in
    der Vergangenheit keine Probleme und Sorgen machte.


    Nur bräuchte ich nun nochmal einen Scripter, der per Teamviewer connecten oder mit mir im ICQ
    schreibt, um welches Problem es sich im Script genau handelt.


    Das MySQL Plugin funzt wirklich 1a, nur am Script ist irgend ein Fehler, den ich nicht finde.



    Freundliche Grüße


    4#Future

  • Ja das ist mir klar, doch gibt es kein getrenntes MySQL Log.


    Connected der Spieler, steht in der ServerLog, "... joined the Server.".
    Klicke ich dann einloggen, schmiert er ohne Fehler und ohne Vorwarnung ab.


    Gebe ich mein Passwort falsch ein, bringt er mir den den Fehler und auch wenn ich es
    zu oft falsch eingeben bannt er mich und bleibt online.


    Also liegt es am Login, doch diesen Teil habe ich fehlerfrei übernommen, doch haut
    irgendwann mit der MySQL Datenbank nicht hin.


    So viel weiß ich, bis zum makierten Punkt führt er OnPlayerLogin aus, dann stoppt er einfach.


    public OnPlayerLogin(playerid,password[])
    {
    MySQLCheckConnection();
    new tmp2[256];
    new playername2[MAX_PLAYER_NAME];
    new playernamesplit[3][MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    split(playername2, playernamesplit, '_');
    MySQLFetchAcctSingle(PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pKey]);
    if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
    {
    new Data[1024];
    new Field[64];
    new rcnt = 1;
    MySQLFetchAcctRecord(PlayerInfo[playerid][pSQLID], Data);
    samp_mysql_strtok(Field, "|", Data);
    while (samp_mysql_strtok(Field, "|", "") == 1) <--------- bis hier her
    {
    if (rcnt == 3) PlayerInfo[playerid][pLevel] = strval(Field);
    if (rcnt == 4) PlayerInfo[playerid][pAdmin] = strval(Field);
    if (rcnt == 5) PlayerInfo[playerid][pPupgrade] = strval(Field);
    if (rcnt == 6) PlayerInfo[playerid][pRespekt] = strval(Field);
    if (rcnt == 7) PlayerInfo[playerid][pConnectTime] = strval(Field);
    if (rcnt == 8) PlayerInfo[playerid][pReg] = strval(Field);
    if (rcnt == 9) PlayerInfo[playerid][pGeschlecht] = strval(Field);
    if (rcnt == 10) PlayerInfo[playerid][pAlter] = strval(Field);


    Ich verzweifle langsam.


    Wer helfen kann, meine ICQ Nummer ist 457273658, ich antworte vllt nicht gleich, bin aber da!



    Freundliche Grüße


    4#Future

  • Dieses Plugin, das du benutzt, benutze ich auch mal. Ich bin aber umgestiegen. Weil das plugin viel zuverbuggt ist und das kann man auch in den Beiträgen der anderen im englischem SA:MP Forum lesen.


    Ich hatte auch das Problem mit dem Einloggen.


    R4 by G-sTyLeZzZ empfehle ich dir. Benutze es schon seit 4 Monaten und der Server laggt und crashed nicht, auch nicht bei 48 Spielern :P.


    Leider ist das englische Forum down, sodass du es dir nicht laden kannst.

  • Aha, ok danke erstmal!


    Kannst Du es mir nicht zufällig mal zusammenpacken und irgendwo hochladen?
    Oder mich mal im ICQ adden und es mir schicken?
    Ginge das?


    Ich würde mich echt sehr freuen...



    Freundliche Grüße


    4#Future