Beiträge von Goldkiller

    Der Code reicht ja anscheinend nicht um deinen Fehler zu finden.
    - Wie/wo erstellst du die ProgressBar (Code)
    - Debug "SetPlayerProgressBarValue". Die Funktion kann 0 oder 1 returnen, je nachdem ob der Wert gesetzt wurde oder nicht.

    Brauchst du nicht, solltest du aber so machen. Ohne eine Schleife wäre es bischen viel schreibarbeit:
    new Float:x,Float:y,Float:z;
    GetVehiclePos(1,x,y,z);
    //speichern
    GetVehiclePos(2,x,y,z);
    //speichern
    GetVehiclePos(3,x,y,z);
    // speichern ... bis MAX_VEHICLES - 1

    Ich schreibe das jetzt mal nur hier und nicht in jeden deiner Threads.
    - 6 mal falsche Sektion
    - Für sowas gibt es den Sammelthread. Da schiebe ich deine Beiträge gleich rein.


    -- Erledigt :-0

    Kannst den Parameter entweder entfernen oder sizeof durch strlen austauschen. Das mit der fehlenden Klammer hast ja schon selbst erkannt, nur an der falschen stelle. Es müssen 2 Klammern nach "inputtext" folgenden, damit a) strlen bzw sizeof geschlossen wird und b) strcmp.

    Du könntest dir einfach mal item per print/printf ausgeben. Dann würdest du sehen, dass dort alles nach /fraktion steht und nicht nur das 1. Wort.
    Gibst du "/fraktion create 10000 10000 1000 0 0 Grove" ein, dann ist item:
    create 10000 10000 1000 0 0 Grove


    Da ich nicht sehe ob du sscanf1 oder sscanf2 benutzt, kann man das Problem auch über strcmp lösen.
    [wiki]Strcmp[/wiki]
    Man kann auch den Parameter length angeben, dann werden nur diese Zeichen geprüft.


    if(!strcmp(item, "create", false,6)) // item oder params; false würde ich in true ändern. Sonst ist CrEaTe nicht gleich create
    bzw
    if(!strcmp(item, "info", false,4)) // item oder params; false würde ich in true ändern. Sonst ist CrEaTe nicht gleich create

    Im Threadtitel steht was von ".. laden .. ", sehe aber nirgendwo ein SELECT. Sicher, dass du Laden und nicht Speichern / Erstellen (INSERT) meinst?
    So oder so, sollte die Variable query zu klein sein. Stell es mal höher, 256 sollten fürs erste reichen.

    Ebenfalls nur zur Erklärung:


    IsPlayerInArea(playerid, 1449.4847,-1446.6949, 1557.6279,-1732.3186)
    Das ist so nicht richtig, weil minY (-1446.6949) nicht kleiner ist als maxY (-1732.3186).



    -1732.3186 ist kleiner als -1446.6949 und somit sind die Werte vertauscht.
    -1€ sind mehr (größer) als -50€, macht es vllt verständlicher.

    Du hast vergessen, dass richtige MySQL Plugin in der server.cfg einzutragen. Sieht man daran:

    Du scheinst zwar "mysql_static.so" R31 zu laden, ist aber nicht das richtige Plugin. Sieht nach dem MySQL Plugin von G-sTyLeZzZ's in Version R6/7 aus.
    [REL] MySQL Plugin (Now on github!)

    Falls du noch mehr Feedback möchtest:
    - Zeile 162: Netter Hinweis, es schadet aber nicht es dann auch zu benutzen in Zeile 169
    - Die Textdraws die du erstellst, sind nicht Spielerbezogen (LoginDraw1 - LoginDraw9,LoginDraw14-15). Du überschreibst die Variablen der Textdraws, sobald mehr als 1 Spieler auf dem Server ist (Hast du also nur alleine getestet). Selbst die PlayerTextdraws sind nicht wirklich Spielerbezogen. Du überschreibst auch hier immer die Variablen (LoginDraw10-LoginDraw13)
    - Du erstellst pro PlayerConnect etwa 50 Objekte (Zeile 449 bis 502). Da du die DynamicObjects nicht für den Spieler erstellst (playerid Parameter), erstellst du dir damit unnötige Objekte. Das erstellen gehört einmalig, zum Beispiel OnGameModeInit. (Hast du ebenfalls nur alleine getestest)
    - /restart: Eventuell alle Spieler speichern?
    - /gotoxyz: Wie soll Zeile 854 und 855 gemeinsam funktionieren?
    - /gethere: Der Spieler sitzt in einem Fahrzeug. Was nun?
    - /veh: Wie soll Zeile 947 und 948 gemeinsam funktionieren?
    - SavePlayer(): Totaler Schrott. Eine WHERE Klausel fehlt, ohne die macht das Speichern überhaupt keinen Sinn. Du würdest immer die Daten fremder Spieler überschreiben. (Hast du auch nur alleine getestet,*wenn überhaupt). Die Platzhalter sind falsch bei Geld und Neuling.


    Das sollte für den Anfang reichen :P

    Ob das jetzt performanter ist, keine Ahnung. (Würde sowas auch mit sscanf machen)


    Die Beschränkung auf 10 Zeichen für Vorname und Nachname find ich nicht so gut.
    Je nachdem ob mein Vor- bzw Nachname mehr als 10 Zeichen hat, wird der Rest abgeschnitten. Da der Name sowieso nie länger als MAX_PLAYER_NAME sein kann, würde ich eher das als Größe für Vor- und Nachname nehmen. Lieber auf Nummer sicher gehen. ( Wobei 128 für beides definitiv zu groß ist :P, Siehe https://breadfish.de/index.php?thread/18-n%C3%BCtzliche-codeschnipsel/&postID=2166483#post2166483)


    Beispiel:
    Markus_Hildebrandt


    name[0] = "Markus"
    name[1] = "Hildebran"

    Müsste, tut es aber nicht.


    - Zeile 6 ist falsch. Du hast den Index vergessen
    - n[] wird nie hoch gezählt
    - Du solltest darauf Hinweisen, dass man n[] beim Verbinden/Verlassen auf 0 setzen sollte (reset).

    Beim Login bzw LoadAccount fehlt die Zuweisung des Levels auf die Variable "sInfo[playerid][alevel]".


    SetPVarInt(playerid,"alevel",dini_Int(Spielerdatei,"alevel"));
    Damit setzt du NICHT den Wert von alevel des Spielers ( sInfo[playerid][alevel] ).