SQLite | Server stürtz ab sobald mehr als eine Person drauf sind

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
  • Beitrag von Derek Westbrook ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • kompiliere dein skript mit dem Compiler-Parameter -d3


    erstelle dazu im pawno - ordner eine pawn.cfg und schreibe dort -d3 rein. Dies sorgt dafür das zusätzliche Informationen in der .amx enthalten sind dadurch lässt sich die Problemzeile eher identifizieren.
    Danach poste nochmals die log mit der entsprechenden Funktion.

  • [23:27:52] Number of vehicle models: 0
    [23:28:21] [connection] 127.0.0.1:60279 requests connection cookie.
    [23:28:22] Incoming connection: 127.0.0.1:60279 id: 0
    [23:28:23] [join] Derek_Westbrook has joined the server (0:127.0.0.1)
    [23:28:31] [debug] Server crashed while executing SQLite.amx
    [23:28:31] [debug] AMX backtrace:
    [23:28:31] [debug] #0 native db_get_field () from samp-server.exe
    [23:28:31] [debug] #1 0000a8d8 in teamlevelload (playerid=0) at C:\Users\Yannik\Desktop\samp037_svr_R1_win32\gamemodes\SQLite.pwn:1076
    [23:28:31] [debug] #2 00007a10 in public OnPlayerSpawn (playerid=0) at C:\Users\Yannik\Desktop\samp037_svr_R1_win32\gamemodes\SQLite.pwn:487
    [23:28:31] [debug] #3 00009640 in public JBC_OnDialogResponse (playerid=0, dialogid=0, response=1, listitem=-1, inputtext[]=@0000b090 "c48cc9e64c") at C:\Users\Yannik\Desktop\samp037_svr_R1_win32\gamemodes\SQLite.pwn:898
    [23:28:31] [debug] #4 native CallLocalFunction () from samp-server.exe
    [23:28:31] [debug] #5 000012dc in public OnDialogResponse (playerid=0, dialogid=0, response=1, listitem=-1, inputtext[]=@0000b064 "c48cc9e64c") at C:\Users\Yannik\Desktop\samp037_svr_R1_win32\pawno\include\JunkBuster.inc:111
    [23:28:31] [debug] Native backtrace:
    [23:28:31] [debug] #0 0044dad1 in ?? () from samp-server.exe
    [23:28:31] [debug] #1 69c362ca in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #2 69c38b28 in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #3 69c309c7 in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #4 69c3631a in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #5 6a1e51b9 in ?? () from plugins\streamer.DLL
    [23:28:31] [debug] #6 0047441e in ?? () from samp-server.exe
    [23:28:31] [debug] #7 004010b6 in ?? () from samp-server.exe
    [23:28:31] [debug] #8 69c362ca in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #9 69c38b28 in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #10 69c309c7 in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #11 69c3631a in ?? () from plugins\crashdetect.DLL
    [23:28:31] [debug] #12 6a1e51b9 in ?? () from plugins\streamer.DLL
    [23:28:31] [debug] #13 0046eae1 in ?? () from samp-server.exe
    [23:28:31] [debug] #14 004528f0 in ?? () from samp-server.exe
    [23:28:31] [debug] #15 77d62cd8 in ?? () from C:\Windows\SYSTEM32\ntdll.dll
    [23:28:31] [debug] #16 7607c484 in ?? () from C:\Windows\system32\kernel32.dll
    [23:28:31] [debug] #17 004a8a4e in ?? () from samp-server.exe
    [23:28:31] [debug] #18 68106ac3 in ?? () from samp-server.exe
    [23:28:31] [debug] #19 004b6b28 in ?? () from samp-server.exe

  • IPrototypeI:


    teamlevelload

    Spoiler anzeigen
    stock teamlevelload(playerid)
    {
    new query[128];
    GetPlayerName(playerid,query,MAX_PLAYER_NAME); // Speichern der Spielernamens in query
    format(query,128,"SELECT `TEAM` FROM `USERS` WHERE `Name` = '%s'",query); // Formatierung des Strings bzw. des Querys und einfügen
    new DBResult:result = db_query(Database, query);
    new str[5];
    if(db_num_rows(result)) db_get_field(result, 0, str, sizeof(str));
    new teamlevel = strval(str);
    if(teamlevel == 9999)
    {
    gTeam[playerid] = 9999;
    SendClientMessage(playerid,-1,"Du bist Projektleiter");
    }
    else if(teamlevel == 9998) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9998;
    }
    else if(teamlevel == 9997) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9997;
    }
    else if(teamlevel == 9996) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9996;
    }
    else if(teamlevel == 9995) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9995;
    }
    else if(teamlevel == 9994) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9994;
    }
    else if(teamlevel == 9993) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9993;
    }
    else if(teamlevel == 9992) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9992;
    }
    else if(teamlevel == 9991) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9991;
    }
    else if(teamlevel == 9990) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 9990;
    }
    else if(teamlevel == 0) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    SendClientMessage(playerid,-1,"Du bist Grove str. Mitglied");
    gTeam[playerid] = 0;
    }
    else if(teamlevel == 1) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    SendClientMessage(playerid,-1,"Du bist Ballas Mitglied");
    gTeam[playerid] = 1;
    }
    else if(teamlevel == 2) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    SendClientMessage(playerid,-1,"Du bist Vagos Mitglied");
    gTeam[playerid] = 2;
    }
    else if(teamlevel == 3) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    SendClientMessage(playerid,-1,"Du bist Polizist");
    gTeam[playerid] = 3;
    }
    else if(teamlevel == 4) //Sollte kein Ergebniss gefunden wurden sein sagen wir es ihm natürlich auch, wir sind ja freundlich.
    {
    gTeam[playerid] = 4;
    SendClientMessage(playerid,-1,"Du bist Zivilist");
    }
    return 1;
    }


    Zeile 1076
    if(db_num_rows(result)) db_get_field(result, 0, str, sizeof(str));
    Ich habe das Script neu aufgebaut.... es ist quasi dasselbe, nur das es beim EInloggen abstürzt

  • SQLite ist ziemlich pingelig


    [23:28:31] [debug] #0 native db_get_field () from samp-server.exe
    [23:28:31] [debug] #1 0000a8d8 in teamlevelload (playerid=0) at C:\Users\Yannik\Desktop\samp037_svr_R1_win32\gamemodes\SQLite.pwn:1076


    [debug] #0 zeigt dir an wo der Code crasht und so wie es aussieht liegt es an dem native db_get_field () unter teamlevelload()


    Nun crasht db_get_field (), wenn die Rückgabe null ist oder wenn man die Rückgabe nicht nicht wieder freigibt via db_free_result()



    Was dir zukünftig helfen würde , wäre die Verwendung der Include von Slice SQLi, diese deckt sowas ab.


    http://forum.sa-mp.com/showthread.php?t=303682


    oder schau mal das du die Rückgaben wieder frei gibst (dies ist in deinem Code nicht ersichtlich).