Beiträge von Kaliber

    Ok und was würdet ihr von einem Portal halten was die gleichen Features bietet nur kostenlos und mit besserem Kundenservice?

    Es geht um die Nutzer.


    Hast du eine geniale Marketing Strategie alle Menschen der Welt auf deiner Plattform zu vereinen, do it, just do it.


    Aber egal wie gut die App ist, viele haben einfach kb drauf.


    Es ist schwer neue Leute von neuen Apps zu überzeugen, weil es soviel Bullshit da draußen gibt...


    Aber hey, good luck anyway.

    Habe was von ARGB Format gehört?

    ARGB bedeutet: Alpha Red Green Blue.


    Und ja, in diesem Format muss es angegeben werden.


    0xFF1E00FF dein Hex in RGBA ist: FF -> Red | 1E -> Green | 00 -> Blue | FF -> Alpha


    Also musst du die Reihenfolge ändern und es wird zu: 0xFFFF1E00


    Musst die Alpha Werte an den Anfang stellen.

    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.