Dann lad mal bitte das ganze Filterscript auf pastebin hoch, denn der Code ist nicht vollständig, was für eine Fehleranalyse (wahrscheinlich) notwendig wäre.
Beiträge von Douq
-
-
Zu deinem hauptsächlichen Problem:
Sinn macht es, entweder über eine Datenbank oder per File zu lösen. Ich hatte es damals per File gelöst, da es zu diesem Zeitpunkt die sinnvollere und einfachere Methode für mich und meinen Kollegen Dentafa war, als es per Datenbank zu lösen.Dabei sind wir es so angegangen, dass wir einen Ordner unter scriptfiles erstellt haben (Derby), in welchem all unsere .derby Datein enthalten waren. Zusätzlich gab es noch eine maplist.derby, in welche alle Derbydatein per Namen enthalten waren (da es ja ohne Plugin nicht möglich ist herrauszufinden, welche Datein innerhalb eines Verzeichnisses liegen). Hier könnte man auch auf eine statische Methode zurückgreifen wie z.B. ein Array im Skript mit den Namen, wir haben uns aber dadurch die Möglichkeit gegeben, während des Spielbetriebes neue Mapdatein hinzufügen zu können (was auch immer ganz nützlich war, auch beispielsweise wenn eine Map fehlerhaft war).
Innerhalb dieser Map wurden dann folgende Informationen gespeichert: Name der Map, Author, niedrigste Z - Koordinate (wobei später es glaube ich automatisiert abläufte), Spawns und Objekte. Dabei enthielt Zeile 1 immer die ersten drei Informationen, Zeile 2 - 21 die 20 Spawnpositionen und die restlichen Zeilen die Objektkoordinaten. Diese dann einfach per fread & while Schleife auslesen, und dann je nach Zeile den Zeilensatz anders splitten und die Informationen anders zuweisen.
Hoffe das war soweit verständlich, sollten noch Fragen bestehen mich einfach nochmal markieren.
Gruß
-
Dann hast du wohl scheinbar die Variable MySQL nicht deklariert, die als connection handle gehandgehabt wird.
-
-
Welchen Wert enhält denn cInfo[id][besitzer]? Also entspricht das der eindeutigen ID (SQLID?) eines Spielers oder einem anderen Wert?
-
Die Funktion SetVehicleToRespawn respawnt die Fahrzeuge an die Position an der das Fahrzeug erstellt wurde.
Also musst du entweder das Fahrzeug nachdem die Position gesetzt wurde löschen und an der neuen stelle wieder erstellen
oder du benutzt die Funktion SetVehicleToRespawn nicht und setzt die Position der Fahrzeuge über dein System (fVehicle[fV][vehPosX] etc.)Mit
SetVehiclePos
SetVehicleZAngleVon der zweiten Idee zur Problemlösung würde ich abraten, da SetVehicleZAngle() an unbesetzten Fahrzeugen nicht funktioniert. Bedeutet, dass die ganzen Fahrzeuge dann (vermutlich) die falsche Rotation hätten und das sieht echt bescheiden aus.
-
Macht ja schon eigentlich Sinn seine Funktion zu nutzen, die er oben mit angegeben hat. Eigentlich macht deine Funktion all das, was du möchtest - sofern die richtigen Parameter angegeben werden:
SetPlayerCriminal(playerid,declare,reason[])
playerid: Die SpielerID, die das Verbrechen begangen haben und die Wanteds erhalten soll.
declare: Die SpielerID, die behauptet, dass playerid ein Verbrechen begangen hat. Für 255 ist der "Melder" Unbekannt.
reason: Der Grund, wofür der Spieler verdächtigt wird und Wanteds bekommt.Wie schon richtig gesagt wurde, musst du die Funktion unter OnPlayerDeath aufrufen:
if(killerid != INVALID_PLAYER_ID) SetPlayerCriminal(killerid, 255, "Mord");
-
Ouh gar nicht den Fehler gesehen, der ist ja eigentlich offensichtlich :D. Dein Query macht so auch gar keinen Sinn. Füg mal zwischen Name und 'e' ein Gleichheitszeichen (=) hinzu :D.
-
Welche Version von BlueGs MySQL Plugin nutzt du?
Falls unter R40, füg mal folgendes in dein Skript ein:
Codepublic OnQueryError(errorid, error[], callback[], query[], connectionHandle) { printf("id: %d error: %s - query: %s", errorid, error, query); return 1; }
Sollte es R40+ sein, dann füg mal folgendes in dein Skript ein:
Codepublic OnQueryError(errorid, const error[], const callback[], const query[], MySQL:handle) { printf("id: %d error: %s - query: %s", errorid, error, query); return 1; }
Und schau mal, was der server_log dann hergibt.
-
Hab den Anti-Breadifsh gelockert. Probier es bitte nochmals.
Bei mir das gleiche Problem (gerade ausprobiert).
-
Hast du es auch unter dem mysql_format getan? Sonst ist es klar, das er Leer ist^^. Ansonsten sollte dies nicht kommen.
Es kommt ja bereits vom MySQL - Server die Meldung, dass der Query leer ist
-
Also wenn du es direkt unter der Formatierung hast, scheint vielleicht die mysql_format() Funktion Probleme zu bereiten, warum auch immer? Probier einfach mal Alternativ die normale format()-Funktion und ersetz den placeholder %e -> %s.
-
OnQueryError(errorid, const error[], const callback[], const query[], MySQL:handle)
Sorry, die aus dem Wiki-Eintrag scheint wohl veraltet zu sein
Habe die mal aus der aktuellen Inklude (github) genommen
-
Code
public OnQueryError(errorid, error[], callback[], query[], connectionHandle) { printf("%d ; %s ; %s ; %s", errorid, error, callback, query); return 1; }
Füg das mal in dein Skript hinzu und versuch es nochmal - dann poste mal die Debugnachricht; scheint ein Fehler im Query o.ä. zu sein, genaueres kann man sagen, wenn wir den Fehler haben.
-
Würde mich einfach mal bei DHL persönlich beim Kundenservice melden. Also wenn du es nicht angenommen hast und er das einfach so fahrlässig dort ablegt, ist es durch DHL verschuldet.
-
Finde die Idee, dass die Leiste sich an den Fensterrand orientiert, gut
-
Nutzt zu Notepad++? Das erstellt nämlich Sicherheitskopien in welchem dein Skript noch zu finden sein könnte (hatte damals einen ähnlichen Fall)
-
Mich persönlich spricht die Vorstellung nicht an, hätte persönlich jetzt kein Interesse dich kennen zu lernen - 4 / 10.
Mir gefällt einfach das Design nicht.
Vielleicht läuft man sich ja irgendwann mal wieder über den weg
-
Wie sieht es aus? Ist das Script noch zum Verkauf?
Wenn ja, würdest du den Preis Anpassen?Interesse ist bei dem Preis, eher weniger.
@DouqMehr oder weniger - Ja. Ich war jetzt den letzten Monat komplett Inaktiv und konnte keinerlei Verhandlungen führen. Über den Preis kann man mit mir sicherlich reden, da steht ja nicht umsonst VHB :). Prinzipiell bin ich da ehrlich gesagt ziemlich offen und man kann mit mir drüber reden. Wie gehabt, wer Interesse hat kann mir ja einfach seine Preisvorstellung per PN nennen und dann wird man sich sicherlich einigen können.
-
Also ich muss mich ja wirklich als DSZ Fan outen. Zu seiner Zeit, wo wirklich noch recht viele Leute dort gespielt haben, fand ich den Server wirklich sehr unterhaltend. Mir persönlich machen diese puren RP Server überhaupt keinen Spaß, weswegen ich dort immer ganz gut aufgehoben war.
Mich persönlich stören die Fehler in der Server Werbung nicht, da ich weiß, dass es nicht an fehlender Mühe, sondern an einer Rechtschreibschwäche liegt. Fehler sind menschlich und ich finde das auch gar nicht verwerflich, die Werbung finde ich persönlich im Allgemeinen vom Layout ansprechend.
Mein Respekt kriegst du auf jedenfall, dass du auch nach 6 Jahren, trotz derzeitiger "User-ebbe" noch die Motivation hast weiter zu machen. Wünsch dir auf jeden Fall viel Erfolg und hoffe, dass du deine alten Spieler nochmal wieder siehst.
Würde vorbei schauen, wenn ich SA:MP noch installiert hätte.