Beiträge von Jeffry

    Jetzt funktioniert's! Du hast mich mit dem Satz daran erinnert, dass ich vergessen habe die Array Größe in der Variable einzutragen.

    Ahh perfekt! Sowas dachte ich mir nämlich, als es mit keinem der Befehle ging.
    Nur blöd, dass crashdetect das nicht sauber aus gibt. Eine "Index out of bound" Meldung wäre sinnvoller gewesen. Gut, dass es jetzt geht.




    @\gamemode\GTA SERVER\pawno\include\core.inc(12) : error 042: invalid combination of class specifiers

    Ich verweise hier mal auf:
    [jTool] PAWN Errors & Warnungen - Deutsche Übersetzung +++ Erklärungen


    Eine Funktion oder eine Variable ist unerlaubterweise sowohl als "public" als auch als "native" gekennzeichnet. Andere Kombinationen können ebenfalls nicht unterstützt werden, so kann eine Funktion zum Beispiel nicht gleichzeitig "public" und "stock" sein (eine Variable jedoch kann jedoch mit "public" und "stock" deklariert werden).


    Da der Fehler in der core.inc Zeile 12 kommt, welche folgende ist:
    [pwn=12]native heapspace();[/pwn]
    Könnte es sein, dass du irgendwo nochmal "heapspace" definiert hast, in einer Include oder im Gamemode?


    Andernfalls kannst du versuchen, die aktuellen Includes nochmal herunterzuladen:
    http://www.sa-mp.com/download.php


    Achte auch darauf, die pawno.exe direkt zu öffnen, und deinen Gamemode dann über "Öffnen" auszuwählen. Sonst kann es sein, der Compiler wird aus einem anderen Verzeichnis gezogen.

    Wie von dir beschrieben ein Prefix eingefügt, aber ändern tut sich leider auch nichts...

    Füge bitte mal den Befehl ein:
    if(!strcmp(cmdtext, "/testabc", true))
    {
    printf("Befehl ausgrführt.");
    return 1;
    }
    Kommt der Print dann im Server Log an, oder erscheint auch wieder ein Fehler?


    Falls das geht, poste bitte, wie du "getItemName" definiert hast, und wie "Items" deklariert ist.

    Leider der gleiche Fehler.

    Trotz dass du /xinventory im Spiel eingegeben hast, und den ocmd Befehl nicht geändert hast (auskommentiert gelassen)?
    Falls ja, was passiert, wenn du es zu /abcxyz umbenennst?



    Keinen weiteren Befehl, aber ein enum.

    Es wäre ansonsten eventuell ein Versuch wert, das enum, die Werte im enum und das Array umzubenennen, von Inventory zu "xyInventar" (nur testweise, kann dann ja nochmal umbenannt werden).
    Wäre zumindest eine gewisse Erklärung, dass ocmd versucht, das Array, da es fast gleich heißt, auszuführen, was ja nicht geht.

    Weil der ocmd Befehl ist auf jeden Fall auskommentiert.

    Hast du irgendwo im Code noch etwas anderes, das "inventory" heißt?



    Liegt es vielleicht daran, weil sich ocmd zwischen OnPlayerCommandText klemmt?

    ocmd setzt sich vor OnPlayerCommandText hin, von daher kommt er wohl dort erst gar nicht an.
    Klappt es denn, wenn du den strcmp Befehl mal "/xinventoy" nennst?

    Auf die Neuste Version kann ich nicht Updaten finde die Windows / Und Linux Plugins nicht (Sind zumindest nicht zum download)

    [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)


    Download (Kapitel 5):
    https://github.com/pBlueG/SA-MP-MySQL/releases



    Da du wohl noch irgendwas um R5-R7 nutzt, ist der Aufwand zum Umschreiben des Codes sehr groß, das hat sich nicht mit den paar Zeilen erledigt.


    mysql_store_result: Gibt es nicht mehr, es wird jetzt über mysql_pquery bzw. mysql_tquery und ein entsprechendes Callback gearbeitet, um den Cache auszulesen (siehe Tutorial).
    mysql_num_rows: Ist jetzt cache_get_row_count.
    mysql_fetch_row_format: Gibt es nicht mehr. Die Spalten werden jetzt separat aus dem Cache gelesen (siehe Tutorial).



    Der Aufwand von R5-R7 nach R39 ist nicht größer als direkt zu R41-4, daher gehe lieber direkt zur aktuellen Version.

    Du hast mir ja gesagt @Jeffry das ich eine Schleife durch alle Spieler gehen lassen soll, dann durch alle Fahrzeuge. Wie mache ich das am besten

    Nach der ersten Schleife für MAX_PLAYERS eine zweite Schleife für MAX_VEHICLES.
    Darin ist "i" dann die vehicleid so gesehen.
    Dann für "i" prüfen, ob ein Spieler in diesem Auto sitzt, wenn ja, nichts machen.
    Sitzt keiner drin, dann prüfen ob der Motor für "i" an ist.
    Wenn ja, dann eine Tankeinheit von "i" abziehen.


    Schau mal ob du das in Code umgesetzt bekommst.



    Nutze für die Abfrage, ob ein Spieler im Fahrzeug "i" ist, folgende Funktion:
    stock IsAnyPlayerInVehicle(vehicleid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInVehicle(i, vehicleid)) return 1;
    }
    return 0;
    }
    Den Code einfach ganz unten in deinem Gamemode einfügen, und die Funktion wie gewohnt nutzen:
    if(IsAnyPlayerInVehicle(i)) //...

    Ja er speichert wie voher auch als wenn ich im himmel den server verlasse spawne ich auch im himmel ander selben z cordinate

    Hast du dir die Werte denn per Print mal vor und nach MapAndreas ausgeben lassen? Wenn ja, was kommt raus?



    Danke! Das Problem lag tatsächlich daran, aber warum?
    Allerdings bleibt der gleiche Fehler, wenn ich meinen Befehl aufrufe.

    Die Meldung kam in dem Fall dann vom Debug Modus.


    Tritt der Fehler denn nur bei dem Befehl auf, oder auch bei anderen Befehlen?
    Hast du mal versucht, den Befehl als "strcmp" Befehl anzulegen, und den ocmd Befehl zu entfernen, klappt es dann?

    habs getestet falle immer noch vom himmel..

    Prüfe mal, ob GetPlayerPos bei OnPlayerDisconnect überhaupt noch eine Position aus gibt. Lasse dir anschließend den Wert von Z vor und nach MapAndreas ausgeben. Möglicherweise ist das Plugin nicht richtig geladen oder initialisiert?



    Trotz mehrfacher Erhöhung gleicher Fehler.

    Geht die Meldung im Compiler denn weg? Falls nein, hast du eine "pawn.cfg" im pawno Ordner für den Debug Modus drin? Wenn ja, entferne diese bitte mal und versuche es dann nochmal.



    Wie kann ich das Ganze auf die Neuste Version der Mysql Version Updaten?

    Im Prinzip musst du nur am Ende mysql_pquery stattdessen ausführen. Die SQL Syntax bleibt ja gleich.

    public OnPlayerDisconnect(playerid, reason)
    {
    GetPlayerPos(playerid, SpielerInfo[playerid][pLastX], SpielerInfo[playerid][pLastY], SpielerInfo[playerid][pLastZ]);
    MapAndreas_FindZ_For2DCoord(SpielerInfo[playerid][pLastX], SpielerInfo[playerid][pLastY], SpielerInfo[playerid][pLastZ]);
    return true;
    }

    Neue Sommerreifen (ohne Felge). Bei reifendiscount.de.
    Ja, ich bin spät dran, hatte bisher noch keine Zeit den Wechsel machen zu lassen. Wechsel-Termin ist erst am 11.05..




    Die 225'er für vorne, die 255'er für hinten.

    Klappt auch, doch wenn ich es wieder löschen will wird es nur für eine Person gelöscht, bei den anderen bleibt es sichtbar.

    Das Problem ist, dass du es für alle Spieler in die gleiche Variable schreibst, somit wird nur die Label ID des letzten Labels gespeichert.
    Du musst die playerid für die das Label erstellt wird, mitgeben, in deinem Fall "j".
    eventBar[i][barlabel][j] = CreateDynamic3DTextLabel...


    Im enum dann auch:
    Text3D:barlabel[MAX_PLAYERS],

    Wenn ich auf dem Server connecte steht die ganze Zeit im Chat das ich keinen Tank habe

    Du fragst nirgends ab, ob der Spieler auch tatsächlich in einem Fahrzeug ist.


    Wenn ich z.b 15 Autos im Autohaus habe wäre das nicht viel unnötiger Code?

    Das stimmt, dafür gibt es Arrays und Loops.



    Ich gebe dir jetzt bewusst keinen fertigen Code, da ich dir schon so viel Code gegeben habe, jetzt solltest du selbst am Code arbeiten, sonst gibt es keinen Lerneffekt.
    Versuche, ob du weiter kommst. Natürlich helfe ich auch am Code weiter, wenn es Sinn macht.