[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Weiß vielleicht jemand, wie man schauen kann welcher Query fail ist. Weil die Datenbank einfach so andauernd Abstürzt / Crashed. Vielleicht weiß jemand woran das noch liegen könnte.


    //Edit. Ergänzt


    Das ist ein bisschen tricky aber es sollte gehen, hook einfach die Funktion mysql_query und printe dir alle Querys die übergeben werden, der letzte Query der gerpintet wird, da ist der Fehler halt ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kann man, ja.


    Ich habe auch eine Funktion aber die ist auf meinem Tacho abgestimmt.
    ist eine kleine rechensache...


    Und theoretisch kann man auch beschleunigen das ist aber noch schwerere meiner meinung nach.


    Macht man alles mit der VehicleVeloCity ;)

  • Wer erkennt den Fehler?
    stock ShowPlayerWelcomeDialog(playerid)
    {
    new string[1024],query[128],Eintrag[1024],string2[1500];
    format(query, 128, "SELECT `Message` FROM `MofD` WHERE `id` = '%d'", PlayerInfo[playerid][Team]);
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    mysql_fetch_row(Eintrag,"",SQL);
    format(string,1024, "%s",Eintrag);
    while(strfind(string, "~") != -1)
    {
    new pos = strfind(string, "~");
    new len2 = strlen("~");
    strdel(string, pos, (pos+len2));
    strins(string, "\n", pos);
    }
    format(string2,1500, "%s\n\nwww.dt-rp.de",string);
    ShowPlayerDialog(playerid, diaInfo, DIALOG_STYLE_MSGBOX, "Message of the Day", string2, "Okay", "");
    mysql_free_result(SQL);
    }
    Das bekomm ich dauernt wenn ich das aufrufe

    Code
    [19:17:38] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [19:17:38] [debug]  Stack pointer (STK) is 0x2A896C, heap pointer (HEA) is 0x2A9F8C
    [19:17:38] [debug] AMX backtrace:
    [19:17:38] [debug] #0 ???????? in public OnDialogResponse ()

    All in all it's just another brick in the wall


  • Das ist ein bisschen tricky aber es sollte gehen, hook einfach die Funktion mysql_query und printe dir alle Querys die übergeben werden, der letzte Query der gerpintet wird, da ist der Fehler halt ;)


    mfg. :thumbup:


    dafür gibts auch den "debug"modus womit du das ganze loggen kannst und je nach MySQL plugin gibt noch ein Callback

  • Das bekomm ich dauernt wenn ich das aufrufe


    Dein Stack ist belegt.


    Achte mal darauf, wieviele zeichen du wirklich brauchst,
    wenn ich mir das so anschaue, schmeist du mit speicher um dich,bis zum geht nicht mehr-.-

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ich selber Scripte nicht, ich werde mal den Scripter bescheid geben. Ich wollte mich mal erkundigen, woran das liegen könnte. Das Problem ist, das das Script die Datenbank oder Tabelle wie auch immer, von selbst Erstellt. Wenn man aber auf dem Server ein paar Minuten spielt, crashed die Datenbank einfach mal so. Uns fehlen schon langsam die Nerven dafür :S .

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich selber Scripte nicht, ich werde mal den Scripter bescheid geben. Ich wollte mich mal erkundigen, woran das liegen könnte. Das Problem ist, das das Script die Datenbank oder Tabelle wie auch immer, von selbst Erstellt. Wenn man aber auf dem Server ein paar Minuten spielt, crashed die Datenbank einfach mal so. Uns fehlen schon langsam die Nerven dafür :S .


    compilt das skript im debug modus das gibt auch den error aus und die zeile wo es crasht es muss nicht umbedingt an mysql liegen.
    also downloadet euch das crashdetect plugin
    http://forum.sa-mp.com/showthread.php?t=262796


    und ändert entweder die parameter von pawno oder erstellt eine pawn.cfg wo ihr rein schreibt -d3 -r das ändert den compiler etwas ab beim compilen als es werden zusätzlich informationen mit compilt.

  • Werde ich an den Scripter weiter geben, Danke dir erstmal... werde mich dann nochmal Melden.

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Hat einer ne Idee warum kein Pickup erstellt wird?


    stock LoadFrak(frakid)
    {
    format(pfad,64,"/Fraktionen/%i.ini",frakid);
    if(!fexist(pfad))return 0;
    if(INI_Open(pfad))
    {
    fInfo[frakid][frakID] = INI_ReadInt("FrakID");
    INI_ReadString(fInfo[frakid][FrakName],"Frakname",40);
    fInfo[frakid][frak_XS] = INI_ReadFloat("Spawn X");
    fInfo[frakid][frak_YS] = INI_ReadFloat("Spawn Y");
    fInfo[frakid][frak_ZS] = INI_ReadFloat("Spawn Z");
    fInfo[frakid][frak_AS] = INI_ReadFloat("Spawn Angle");
    fInfo[frakid][frakInterior] = INI_ReadInt("Interior");
    //%Waffe....
    //%Muni....
    fInfo[frakid][frakRespekt] = INI_ReadInt("Frak Respekt");
    fInfo[frakid][frakKasse] = INI_ReadInt("Frak Kasse");
    INI_ReadString(fInfo[frakid][frakRang1],"Rang1",15);
    INI_ReadString(fInfo[frakid][frakRang2],"Rang2",15);
    INI_ReadString(fInfo[frakid][frakRang3],"Rang3",15);
    INI_ReadString(fInfo[frakid][frakRang4],"Rang4",15);
    INI_ReadString(fInfo[frakid][frakRang5],"Rang5",15);
    INI_ReadString(fInfo[frakid][frakRang6],"Rang6",15);
    INI_Close();
    }
    fInfo[frakid][hpickup] = CreatePickup(1240,23,fInfo[frakid][frak_XS],fInfo[frakid][frak_YS],fInfo[frakid][frak_ZS],0);
    fInfo[frakid][apickup] = CreatePickup(1240,23,fInfo[frakid][frak_XS],fInfo[frakid][frak_YS],fInfo[frakid][frak_ZS],0);
    printf("Fraktion erfolgreich geladen ;) ");
    return 1;
    }

  • kannst ja mal die koordinaten ausprinten lassen oder am 0 punkt schauen sollte dies der fall sein hat er womöglich ein Problem mit Spawn X das auszulesen
    besser gsagt mit dem leerzeichen kannst ja mal probieren Spawn X ind SpawnX zu ändern.
    Da ich gerade hier kein ersichtlicher fehler finde.
    welches speichersystem verwendest du ?

  • Er kann ja erstmal folgendes machen, bis er die Variablen richtig verwendet:


    #pragma unused IsNumeric
    #pragma unused ReturnUser



    Dann wären immerhin erstmal die Warnings weg, bist du die Variablen in deinen Script verwendest ;)

  • Vielen Dank hat geklappt
    Die Leerzeichen waren anscheinend wirklich das Problem :/
    Ich dachte das funktioniert
    Das Speichersystem ist übrigens SII


    War erst ihrgend wie bei Y_INI stehen geblieben :D daher habe ich nochmal nach gefragt


    Er kann ja erstmal folgendes machen, bis er die Variablen richtig verwendet:


    #pragma unused IsNumeric
    #pragma unused ReturnUser
    Dann wären immerhin erstmal die Warnings weg, bist du die Variablen in deinen Script verwendest ;)


    #pragma ist nicht mal umbedingt nötig man kann auch da zumal ISNumeric eine funktion ist stock davor hängen so wird es nicht mit compilt sollte es nicht verwendet werden
    das gilt ebenso für variabeln , Floats etc


    new stock var;


    sollte diese nicht verwendet werden so wird sie nicht mit compilt


    xD jetzt zwar unnötig aber das wäre auch möglich


    new stock static const var;

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen