Beiträge von Douq

    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.

    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ß

    Du benötigst das MySQL Plugin von BlueG, ich glaube R7 beinhaltet die benötigten Funktionen.


    edit: Link hinzugefügt
    edit: Version korrigiert

    Welchen Wert enhält denn cInfo[id][besitzer]? Also entspricht das der eindeutigen ID (SQLID?) eines Spielers oder einem anderen Wert?

    Von 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.



    Code
    if(!SpielerInfo[playerid][sOnline])
        {
            new query[256];
            mysql_format(Verbindung, query, sizeof(query),"SELECT ID FROM server_accounts WHERE Name = '%e'", SpielerInfo[playerid][sName]);
            mysql_pquery(Verbindung, query, "AccountSearch", "d", playerid);
        }

    Welche Version von BlueGs MySQL Plugin nutzt du?


    Falls unter R40, füg mal folgendes in dein Skript ein:

    Code
    public 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:


    Code
    public 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.

    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.

    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.
    @Douq

    Mehr 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.