[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
-
@MSI aktualisiere dein crashdetect Plugin, der bad entry point error liegt daran.
Hab ich, aber crasht immer noch... also wenn ich was CHAT schreibe. [Ganze Server Crasht]
-
Was steht dann in der Server Log ?
-
Hab ich, aber crasht immer noch... also wenn ich was CHAT schreibe. [Ganze Server Crasht]
ja es crasht richtig. Aber nach aktualisierung des Plugins sollte nun der Grund in der log stehen, und nicht bad entry error.
Nicht vergessen script neu zu complieren. -
Was steht dann in der Server Log ?
Code
Alles anzeigen[21:16:27] [debug] Server crashed while executing gr.amx [21:16:27] [debug] AMX backtrace: [21:16:27] [debug] #0 native fwrite () from samp03svr [21:16:27] [debug] #1 0005d614 in ?? (23934468) from gr.amx [21:16:27] [debug] #2 00063624 in public gOnPlayerText (0, 23919180) from gr.amx [21:16:27] [debug] #3 native CallLocalFunction () from samp03svr [21:16:27] [debug] #4 00000c08 in public OnPlayerText (0, 23919172) from gr.amx [21:16:27] [debug] Native backtrace: [21:16:27] [debug] #0 f7412ca0 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so [21:16:27] [debug] #1 f740bd22 in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so [21:16:27] [debug] #2 f740c314 in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so [21:16:27] [debug] #3 f740e964 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so [21:16:27] [debug] #4 f74125cd in ?? () from plugins/crashdetect.so [21:16:27] [debug] #5 f776fd50 in __kernel_rt_sigreturn () from linux-gate.so.1 [21:16:27] [debug] #6 f776fd70 in __kernel_vsyscall () from linux-gate.so.1 [21:16:27] [debug] #7 f7469367 in gsignal () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 [21:16:27] [debug] #8 f746aa23 in abort () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 [21:16:27] [debug] #9 f74626c7 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 [21:16:27] [debug] #10 f7462777 in ?? () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 [21:16:27] [debug] #11 0809b99c in ?? () from ./samp03svr [21:16:27] [debug] #12 0809bdff in ?? () from ./samp03svr [21:16:27] [debug] #13 080950e4 in ?? () from ./samp03svr [21:16:27] [debug] #14 f740d7b3 in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so [21:16:27] [debug] #15 00000001 in ?? () from 7s÷H5s÷”û ”û •ÿ ”û ¡ÿ ”‘ Äs÷
-
Ich würde mal sagen der Server crasht wegen return 0;.
-
Ich würde mal sagen der Server crasht wegen return 0;.
Welches return0; genau?
-
Hastda nur einen.
Mach das weg -
Hastda nur einen.
Mach das wegBringt leider nix
-
-
Der crash kommt daher das bei onplayertext versucht wird etwas in einer Datei zu schreiben. Jedoch fehlt wohl ein oder mehrere Ordner welche im Pfad angegeben sind bzw die Datei an sich. Auch mal die schreib Berechtigungen prüfen.
-
Beitrag von reaL. ()
Dieser Beitrag wurde von dennismitzwein aus folgendem Grund gelöscht: spam (). -
Hallo.
Benutze seit neustem die neuste MySQL-Version von BlueG (R41-4). Davor habe ich immer die alte benutzt.
Damit konnte ich mit dem Rückgabewert von mysql_query abfragen, ob das SQl-Statement funktioniert hat oder nicht.
Die neue gibt ja die Cache zurück.Gibt es dafür eine andere Möglichkeit oder muss ich das über mysql_errno überprüfen?
-
Dafür gibt es diesen schicken Callback: http://wiki.sa-mp.com/wiki/MySQL/R33#OnQueryError
+ MySQL Log
-
Danke soweit. Aber ich brauche im Grunde nur ein true oder false.
Um es vielleicht verständlicher zu machen. Ich habe ein Funktion, womit ich beispielsweise ein Haus löschen kann.
Vor dem Update habe ich einfach mysql_query mit meinem Query innerhalb der Funktion returned.
Da gab es dann einfach true für erfolgreich und false für einen Fehler.
Mit dem Update bekomme ich aber bei mysql_query die Cache zurück. An sich könnte ich diese abfragen, und dann einfach true returnen,
aber dann muss ich in jeder Funktion diese Abfrage einbauen (sind nicht grade wenige. Wollte deshalb wissen, ob es einfacher geht.Wenn ich die Cache returne muss ich alle Funktionen als "Chache:" deklarieren. Was ich auch nicht unbedingt möchte. Ich habe schon daran gedacht, die
zurückgegebene Cache umzuwandeln, in ein Bool, wenn es denn einfach funktioniert. Wollte mich aber erstmal darüber erkundigen, ob es einen anderen Weg gibt. -
Aber ich brauche im Grunde nur ein true oder false.
Ich verstehe nicht ganz wofür...
Entweder du kommst in den Callback, den du über mysql_tquery angibst oder du landest in der Error Funktion.
Das impliziert doch schon dein true oder false
-
Das ist zwar richtig, aber aktuell benutze ich nicht mysql_tquery sondern mysql_query.
Habe erst gestern damit angefangen alles auf die neue Version anzupassen. Und bevor ich
die threaded-Variante benutze, möchte ich erstmal schauen, ob denn auch alles funktioniert.
Deshalb erstmal nur mysql_query.Habe aber grade schon getestet. Das Umwandeln der Cache in ein Bool reicht aus.
Aber danke dennoch für den Hinweis auf OnQueryError, werde ich in Zukunft sowieso benutzen müssen.
// Edit:
@Kaliber Eine Frage hätte ich noch.
Mit der alten Version konnte ich mit einer while-Schleife, mysql_retrieve_row() und mysql_fetch_field_row automatisch alle rows durchgehen.
Mit der neuen Version mache ich das über eine for-Schleife und cache_num_rows().Besteht da die Möglichkeit auf die erste Variante? habe leider nichts dazu gefunden und andere Beispiele zeigen die zweite Variante auf.
-
Besteht da die Möglichkeit auf die erste Variante? habe leider nichts dazu gefunden und andere Beispiele zeigen die zweite Variante auf.
Wozu?
Macht doch keinen Unterschied
-
Stimmt schon. Muss nur alles anpassen, finde es schade, dass so vieles verändert wurde und auch sinnvolles entfernt.
Aber ich vermute, dass es da nichts offizielles gibt, habe schon zu lange gesucht. Muss dann wohl den Rest anpassen.Trotzdem danke!
-
Code
Alles anzeigen---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [15:26:44] filterscripts = "" (string) [15:26:44] [15:26:44] Server Plugins [15:26:44] -------------- [15:26:44] Loading plugin: streamer.so [15:26:44] *** Streamer Plugin v2.9.2 by Incognito loaded *** [15:26:44] Loaded. [15:26:44] Loading plugin: sscanf.so [15:26:44] [15:26:44] =============================== [15:26:44] sscanf plugin loaded. [15:26:44] (c) 2009 Alex "Y_Less" Cole [15:26:44] =============================== [15:26:44] Loaded. [15:26:44] Loading plugin: Encrypt.so [15:26:44] [15:26:44] ______________________________________ [15:26:44] Encrypt Plugin v0.1 loaded [15:26:44] ______________________________________ [15:26:44] By: Fro (c) Copyright 2009-2010 [15:26:44] ______________________________________ [15:26:44] Loaded. [15:26:44] Loading plugin: mysql.so [15:26:44] SA:MP MySQL Plugin v2.1.1 Loaded. [15:26:44] Loaded. [15:26:44] Loaded 4 plugins. [15:26:44] [MySQL] Thread running. Threadsafe: Yes. [15:26:44] [15:26:44] Filterscripts [15:26:44] --------------- [15:26:44] Loaded 0 filterscripts. [15:26:44] Script[gamemodes/script.backup.amx]: Run time error 19: "File or function is not found" [15:26:44] Number of vehicle models: 0
Server startet nicht