Beiträge von Jeffry

    Möglicherweise vertragen sich die beiden Plugins (nur bei dir?) nicht, denn dass das MySQL Plugin einen Fehler ausgibt, nur wenn das sscanf Plugin geladen wird (bzw. die Include kompiliert wird), das scheint mir komisch, denn der Code ist ja korrekt.


    Hast du mal versucht, zuerst das sscanf Plugin zu laden, und dann das MySQL Plugin, also in der server.cfg andersherum?

    Wie speicherst du es und wie lädst du es (Code) und hast du das Feld in der Datenbank als VARCHAR angelegt?
    Am besten du postest das in einem separaten Thread, falls etwas mehr Debugging notwendig ist, dann wird es nicht so unübersichtlich.


    Das müsste natürlich Buggfrei laufen, denn bei allen fremdem filterscript´s, die ich probiert habe, waren Buggs enthalten

    Das ist bei externen Codes - also Codes die in Filterscripts laufen aber in den Gamemode doch irgendwie eingreifen sollen - immer ein Problem, dass dies ohne Probleme läuft, denn da kommen viele Faktoren zusammen. Am besten ist es immer, alles in einem Code zu haben.





    Undnd, wie ich finde, in einem autosystem absolut "zwingend erforderliche" Funktionen waren meist garnicht enthalten, zb. Auf der MAP und MiniMap ein zb Autoicon, welches beim aussteigen aus dem gekauften fahrzeug erscheint und auch beim entfernen vom fahrzeug nicht verschwindet, sowie wieder verschwindet, wenn man in das auto einsteigt also ein icon, welches die aktuelle position des eigenen autos anzeigt.


    Ebenso die funktion, sein auto vom aktuellen standort despawnen zu lassen und bei sich spawnen zu lassen habe ich nicht verbreitet gesehen..


    Was dann für meine zwecke sinnvoll ist, dass man in einem Dialog, zb eingebunden in das Handy, bei seinem auto swutchen kann, ob fremde damit fahren können oder nicht..


    Das alles zusammen?? DAS wär ein Autosystem, beidem ich dem scripter sagen würde.. 1, setzen! :D

    Das sind dann allerdings Wünsche für ein komplett neues System was du da hast.
    Außerdem musst du dir noch überlegen, wie das letztendlich mit den Fahrzeugen geregelt wird, sprich wie es abläuft, wenn man ein Fahrzeug kauft. Das momentane Prinzip, die statischen Fahrzeuge zu kaufen, würde ich dir auf jeden Fall nicht empfehlen, da dann wie gesagt irgendwann das Problem auftritt, dass alle Fahrzeuge verkauft sind, oder sich die IDs eben verschieben.
    Entweder man macht sowas über ein Menü, aus dem man auswählen kann, welches Fahrzeug man möchte, oder eben so wie beschrieben, dass das statische Fahrzeug, in dem man sitzt 1:1 kopiert wird, wenn man es kauft.





    //EDIT: Und bezüglich dees Gamemodes. Dieses kann ich dir via Sykpe gerne mal zeigen.. ICh will das ganze System eh in richtung MySQL lenken.

    Was heißt das ganze System? Das Fahrzeugsystem? Was hat das dann mit dem Gamemode an sich zu tun? Man bräuchte dann nur die Verbindungsdaten für MySQL, falls bereits vorhanden.

    Wenn es so wie es dort beschrieben ist nicht klappt, dann ist mir nichts anderes bekannt. Vielleicht kommt dazu in zukünftigen Versionen etwas mehr, da die Funktion ja ganz neu ist.

    Unter den Includes:

    C
    new pickupStop[MAX_PLAYERS];


    Und dann bei den Pickups, die für eine Zeit gesperrt werden sollen, vor dem SetPlayerPos zum Beispiel:

    C
    if(pickupStop[playerid] > gettime()) return 1;
    pickupStop[playerid] = gettime() + 5; //5 Sekunden

    Wenn es über einen Dialog eingegeben wird, dann kannst du es so machen:
    Im Enum:

    C
    pBirthday[11],


    Beim entsprechenden Dialog:

    C
    format(PlayerInfo[playerid][pBirthday], 11, inputtext);


    Und dann eben PlayerInfo[playerid][pBirthday] als String in der Datenbank oder der Datei speichern und auch so wieder laden (format nutzen beim Laden, wie beim Dialog, anstatt Zuweisung mit =).


    Gegebenenfalls musst du dann noch eine Prüfung einbauen, ob der Spieler auch wirklich ein Datum eingegeben hat.

    Auf der Seite der Include die du verlinkt hast gibt es ja unten den Download Link für die Datenbank, mit dem Stand Februar 2015. Das ist zwar schon etwas mehr als ein halbes Jahr her, aber ich denke das ist immernoch relativ aktuell, zumindest hatte ich damit noch nie Probleme.

    C
    new string[520];
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    format(string,sizeof string,"{007DFF}%s{FEFEFE} has joined the server (%s)!",Name,GetPlayerCountry);
    SendClientMessageToAll(COLOR_GREEN, string);
    //for(new i = 0; i < 5; i++){TextDrawShowForPlayer(playerid, DevDisplay[i]);}
    return 1;


    zu:

    C
    new string[145], name[MAX_PLAYER_NAME], country[32];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    GetPlayerCountry(playerid, country, sizeof(country));
    format(string,sizeof string,"{007DFF}%s{FEFEFE} has joined the server (%s)!",name,country);
    SendClientMessageToAll(COLOR_GREEN, string);
    //for(new i = 0; i < 5; i++){TextDrawShowForPlayer(playerid, DevDisplay[i]);}
    return 1;
    C
    new ausgabeHash[129];
    WP_Hash(ausgabeHash, sizeof(ausgabeHash), eingabePasswort);

    Beim registrieren speicherst du den ausgabeHash in die Datenbank, und beim Login fragst du ab, ob der ausgabeHash dem entspricht, was in der Datenbank steht.
    eingabePasswort ist jeweils das, was der Spieler eingibt (inputtext oder ähnliches).

    Nutze das SetActorPos was du zuvor bei OnPlayerSpawn hattest mal bei OnActorStreamIn, vielleicht liegt es daran, dass der Actor durch die Map fällt.

    Setze die Actor Post direkt bei CreateActor (anstatt 0.0), da OnPlayerSpawn für Actoren nicht aufgerufen wird.
    Prüfe gegebenenfalls die Koordinaten nochmal.

    Nicht ganz, strval macht aus einem String einen Integer.
    Mache die zweite Zeile so:
    format(PlayerInfo[playerid][p_Auftraggeber], MAX_PLAYER_NAME, result);