Beiträge von Aquacold

    Laut wiki:
    format(query,sizeof query,"SELECT * FROM `helpsystem` WHERE `name` LIKE '%%%s%%'",text);
    > http://wiki.sa-mp.com/wiki/Format


    // Edit:
    %% Inserts the literal '%'


    Okey, Danke :love:


    Jedoch regt mich folgendes noch immer auf:


    mysql_function_query(sqlcon, query, true, "ReturnHelp", "is", playerid, text);


    Der Server crasht einfach.


    server_log:


    [18:13:19] [debug] Server crashed while executing trucking.amx
    [18:13:19] [debug] AMX backtrace:
    [18:13:19] [debug] #0 native mysql_function_query () [10008f00] from mysql.DLL
    [18:13:19] [debug] #1 0001c9d8 in public Helpsystem (0x00000000, 0x00053614, 0x00000000, 0x00000000, 0x00000000, 0x00000000) from trucking.amx
    [18:13:19] [debug] Native backtrace:
    [18:13:19] [debug] #0 0040335f in ?? () from samp-server.exe
    [18:13:19] [debug] #1 1000ad58 in ?? () from plugins\mysql.DLL
    [18:13:19] [debug] #2 100090ed in ?? () from plugins\mysql.DLL
    [18:13:19] [debug] #3 004010b6 in ?? () from samp-server.exe
    [18:13:19] [debug] #4 57a09db7 in ?? () from plugins\crashdetect.DLL
    [18:13:19] [debug] #5 57a158ca in ?? () from plugins\crashdetect.DLL
    [18:13:19] [debug] #6 57a1774f in ?? () from plugins\crashdetect.DLL
    [18:13:19] [debug] #7 57a10834 in ?? () from plugins\crashdetect.DLL
    [18:13:19] [debug] #8 57a1591a in ?? () from plugins\crashdetect.DLL
    [18:13:19] [debug] #9 57a59f0d in ?? () from plugins\streamer.DLL
    [18:13:19] [debug] #10 0047e408 in ?? () from samp-server.exe
    [18:13:19] [debug] #11 002bedf0 in ?? ()
    [18:13:19] [debug] #12 002b12a0 in ?? ()
    [18:13:19] [debug] #13 002bedd0 in ?? ()
    [18:13:19] [debug] #14 002bedb0 in ?? ()

    Mal in der Log nach geschaut ob sscanf ein Problem hat ?


    Du hast text mit 32 Zeichen definiert.
    Nutzt aber bei Sscanf immer 64.
    Zeile 7 & 17


    Habs grad komischerwei´ße selbst hinbekommen (Danke ans Wiki :) )


    Fehler lag an
    mysql_function_query(sqlcon, query, true, "ReturnHelp", "is[64]", playerid, text);



    Muss natürlich nur
    mysql_function_query(sqlcon, query, true, "ReturnHelp");


    heißen :)



    Jedoch habe ich ein neues Problem:


    Ich arbeite bei der Abfrage mit LIKE um ähnliche namen heraus zu finden.
    Jedoch unformatiert mir format das %s in ein %s.


    format(query,sizeof query,"SELECT * FROM `helpsystem` WHERE `name` LIKE '%%s%'",text);


    Muss ich die 2 % irgendwie speziell escapen?

    Hey Brotfische,


    Hab nun wieder angefangen an meinem Truckerscript weiter zu arbeiten, jedoch scheitere ich an einem simplen Helpsystem.
    Folgendes:


    gebe ich InGame /help 2 bauer ein, erhalte ich in blau den gewünschten Text "Helpsystem wird aus Datenbank geladen"


    Danach beendet sich der Server einfach so. Weder ein Mysql Befehlö wird ausgeführt oder sonst noch etwas.Mein Derzeiter Code:


    ocmd:help2(playerid,params[])


    {


    new text[32];


    if(sscanf(params, "s[64]", text)) return SendClientMessage(playerid, COLOR_RED, "BENUTZUNG: /help2 [Text]");


    /*


    ShowPlayerDialog(playerid,10,DIALOG_STYLE_LIST,"Help","Trucker Commands\nPolice Commands\nGeneral Commands\nHouse","Select","Cancel");


    */


    SendClientMessage(playerid, COLOR_BLUE, "Helpsystem wird aus Datenbank geladen.");


    SetTimerEx("Helpsystem", 4000, 0, "is[64]", playerid, text);


    return 1;


    }



    Meine 2 Callbacks:


    forward Helpsystem(playerid, text[]);


    public Helpsystem(playerid, text[])


    {


    if(mysql_ping(1) == 0)


    {


    SendClientMessage(playerid, COLOR_RED, "Konnte Helpsystem nicht abrufen, bitte versuche es später erneut.");


    return 1;


    }


    else


    {


    new query[128];


    format(query,sizeof query,"SELECT * FROM `helpsystem` WHERE `name` LIKE '%s'",text);


    mysql_function_query(sqlcon, query, true, "ReturnHelp", "is[64]", playerid, text);


    return 1;


    }


    }







    forward ReturnHelp(playerid, text[]);


    public ReturnHelp(playerid, text[])


    {


    new rows, lines;


    cache_get_data(rows, lines);


    if(!rows)


    {


    new string[128];


    format(string, sizeof string, "[Helpsystem]Konnte keinen Eintrag mit dem Namen '%s' finden.", text);


    SendClientMessage(playerid, COLOR_RED, string);


    }


    else


    {


    if(rows > 1)


    {


    new data[64], string[128];


    for(new i; i<5; i++)


    {


    cache_get_field_content(i, "name", data);


    format(string, sizeof string, "%s\n%s", string, data);


    }


    ShowPlayerDialog(playerid, DIALOG_RETURNHELP, DIALOG_STYLE_LIST, "Helpsystem - Auswahl", string, "Auswählen", "Abbrechen");


    }


    }


    }




    Ich weiß einfach nicht weiter.



    Domi,



    @BlackAce:
    Sharpadox:

    Ich bevorzuge Intel eher(Hab nen Core² Quad Q6600 @ 2,4Ghz), da z.B Minecraft mit Intel klarer kommt als mit AMD.
    Auf meinen Server habe ich testweiße 2 Rootserver gestetet, einmal mit AMd und einmal mit Intel.
    Darauf lief ein Minecraft Server mit viele Plugins (Baugleicher Minecraftserver) (DebianSystemimage 1:1)
    Wo Intel sich noch gelangeweilt hat, lief der AMD schon auf Hochtouren.


    Freundliche Grüße

    lofdomi, bin grad echt kaputt im kopf, wo gibt man die MySQL befehle wie "apt-get install ia32-libs" ein, ich habe nur nitrado zugang und ka wo ich die befehle hin muss habe dasg leiche problem.


    Bei Nitrado brauchst du das eigtl gar nicht machen, da du aßerdem keine Shell zur Verfügung hast.
    Sollte bei Nitrado der Fehler auftreten, hast du 2 Möglichkeiten: Static Plugin nehmen oder auf Mysql verzichten.



    PS: Bitte schreib mir keine PN, ich schaue auch schon ins Forum, jedoch benötige ich auch Schlaf