Beiträge von Kaliber

    Mach es so:


    aber irgendwo scheint da der Wurm drin zu sein

    Nun, da sind viele Würmer drinnen.


    1. Im format steht %e für einen String-Escape, aber GangID ist ja ein integer, also verwende %d oder %i.
    2. Du willst eine Gang laden und verwendest dafür die playerid? Wieso? Die Gang existiert doch unabhängig von einem Spieler. Da stimmt etwas mit deiner Logik nicht.
    3. Du verwendest im Query schon die Variablen, die eigentlich erst durch das Query geladen werden sollen....

    Hoffe es wird ersichtlich, dass du da nochmal drüber nachdenken solltest, wie man ein dynamisches Gang-System macht.


    Du brauchst dafür eine Gang-Variable, und lädest da dann die ganzen Infos rein und dem Spieler weist du dann nur eine GangID zu.

    So weiß man, zu welcher Gang der Spieler gehört.

    Das mein ich nicht, ich frage mich eher was der Fehler is. ^^

    Der Fehler ist, dass du sizeof auf ein Array mit einer dynamischen Größe verwendest und das geht nicht, da sizeof ein Operator ist, der vom Compiler aufgelöst werden will, aber er hat keinen Zugriff auf die Speichergröße, da diese dynamisch ist, somit geht das nicht.


    Du musst anstatt sizeof(inputtext) einfach MAX_PLAYER_NAME (bzw die Größe von pRPName eh verwenden).

    Hey Leute,


    ich wollte ein System erstellen wo man seine Fische verkaufen kann aber der Preis ich stündlich ändert z.B. 16$ um 20 Uhr und um 21 Uhr 28$ der Preis sollte mind 15$ und Max 50$ sein..

    Du nimmst eine globale Variable.


    C
    new fischPreis;
    
    
    //Unter OnGameModeInit
    fischPreis = 15+random(36); //<< und das rufst du dann immer neu auf, wenn sich da was ändern soll.

    Wen ich Die Fahrzeuge Parke und danach respawne wird das Fahrzeug so geparkt wie es erstellt wurde kann man das nicht irgendwie flexibler machen das es so respawnt wie es geparkt wurde?

    Ja, da gibt es 2 Möglichkeiten:


    1. Quick & Dirty, beim /park zerstört du das Auto und erstellst es neu und setzt halt alle in das Fahrzeug. Dann ist der Erstellungsort natürlich gleich dem Parkort ;)
    2. Es gibt einen Callback: https://wiki.sa-mp.com/wiki/OnVehicleSpawn Dort einfach prüfen, ob das Fahrzeug geparkt wurde und an die gewünschten Koordinaten setzen :)

    Da hat man ja das query als string und fertig.

    So ist das hier auch.


    Hier wäre es ein SELECT Statement.


    Über mysql_format / format bereitest du den String vor und dann über mysql_t/pquery schickst du die Abfrage ab.


    Wenn das Resultat vor liegt, wird der Callback (die public Funktion die du angegeben hast) aufgerufen.


    Dort kannst du dann die cache Funktionen verwenden, um auf das Ergebnis zuzugreifen.


    Der Grund, wieso dafür eine extra public Funktion verwendet wird ist der, damit der Aufruf asynchron ablaufen kann und eben nicht den Server-Thread aufhält. (Das ist der Grund, wieso man kein mysql_query verwenden sollte, weil das synchron ist).


    "Insert Into".

    Das ist eine eigene Sprache an sich und nennt sich SQL (Structured Query Language).


    Einfach nach Tutorials suchen (https://www.w3schools.com/sql/) oder nach Schlagworten, die Wichtigsten sind:


    • SELECT
    • UPDATE
    • INSERT
    • DELETE

    Achso, dann schreib das doch.


    1. Ist das bei dir eine normale Funktion. Muss aber eine public Funktion sein. Ergo mach das stock weg und mach ein public dahin und ein forward LadeGang(playerid); darüber.
    2. Muss diese public-Funktion nun über ein entsprechendes Query aufgerufen werden. Mit mysql_pquery oder mysql_tquery z.B.

    foreach.inc(193) : error 017: undefined symbol "_FOREACH_CUR_VERSION"

    Das kann ja nicht sein.


    Weil, wenn du wirklich das Include verwenden würdest, was ich gepostet hatte, würde in dieser Zeile etwas völlig anderes stehen.


    Kann es eventuell sein, dass du es in das falsche Verzeichnis gepackt hast oooder die falsche Pawno.exe öffnest für das Skript?