Beiträge von Jeffry

    So war es von N0SKILL gemeint:
    Unter den Includes:
    new ClickedPlayer[MAX_PLAYERS];


    Und dann:
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    if(IstSpielerInFraktion(playerid,1))
    {
    if(IstSpielerImDienst(playerid,1))
    {
    ClickedPlayer[playerid] = clickedplayerid;
    ShowPlayerDialog(playerid,DIALOG_WANTEDS,DIALOG_STYLE_LIST,"Fahndungsliste","Beamtenbehinderung\nFlucht\nBeamtenbeleidigung\nKörperverletzung","Bestätigen","Abbrechen");
    }
    }
    return 1;
    }


    if(dialogid == DIALOG_WANTEDS)
    {
    if(listitem == 0)
    {
    SetPlayerWantedLevel(ClickedPlayer[playerid],2);
    }
    }

    Dann kannst du es so machen:
    new query[128];
    format(query,sizeof(query),"SELECT * FROM gutschein WHERE Code = '%d'",code);
    mysql_function_query(dbhandle,query,false,"OnPlayerEnterCode","d", playerid);


    Und dann:
    forward OnPlayerEnterCode(playerid);
    public OnPlayerEnterCode(playerid)
    {
    new rows = cache_get_row_count();
    if(rows > 0)
    {
    //Code existiert.
    }
    else
    {
    //Code existiert nicht.
    }
    return 1;
    }

    Dann kannst du den Rang des Spielers so anzeigen lassen:
    new string[145], fID = SpielerInfo[playerid][pFraktion], rID = SpielerInfo[playerid][pFraktionRang];
    format(string, sizeof(string), "Mein Rang: %s", rangName[fID][rID]);
    SendClientMessage(playerid, 0xFFFFFFFF, string);


    In MySQL musst du die Datensätze mit den Namen eben einfügen, die Ladefunktion habe ich dir ja oben gegeben.

    Unter den Includes:
    new rangName[10][6][32]; //10 Fraktionen, 6 Ränge, 32 Zeichen


    Unter OnGameModeInit:
    new tmp[16];
    for(new i = 0; i < sizeof(rangName); i++)
    {
    for(new j = 0; j < sizeof(rangName[]); j++)
    {
    format(tmp, sizeof(tmp), "rangname%d", j);
    format(rangName[i][j], sizeof(rangName[][]), mysql_GetString("tabellenname", tmp, "frakid", i));
    }
    }


    Ersetze den "tabellenname" oben, da ich nicht weiß, wie deine Tabelle heißt.

    Du nutzt ja diese Funktionen, dann so:
    mysql_GetString("tabellenname", "rangname1", "frakid", frakid);


    Beispiel:
    printf("Rang 1 von Fraktion 2 heißt: %s", mysql_GetString("tabellenname", "rangname1", "frakid", 2));

    Gibt es irgendeine andere Möglichkeit die Tasten KEY_UP etc. ohne OnPlayerUpdate oder einen extra Timer, abzufragen?

    Nein, da diese Keys nicht unter OnPlayerKeyStateChange abgefragt werden, muss man es in einen Timer oder OnPlayerUpdate packen. Eine einfache if-Abfrage ist aber in OnPlayerUpdate absolut kein Problem.

    ALTER ist eine MySQL Anweisung.
    Versuche es deshalb mit dem Spalten Namen pAlter:
    mysql_SetInt("accounts", "pAlter", strval(inputtext), "Name", SpielerInfo[playerid][pName]);


    Wenn das nicht hilft, füge davor noch ein GetPlayerName ein:
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);

    Du kannst es doch eigentlich so machen, wenn ich das richtig interpretiere:
    SetPlayerProgressBarValue(i, tankbar[i], Gas[vehicleid]);


    Dann sollte es immer automatisch passen.

    if(!strcmp(dini_Get(Player,"passwort"),password,true)){
    zu:
    if(!strcmp(dini_Get(Player,"Passwort"),password,true)){


    Und beim Register das hier einfügen:
    format(PlayerInfo[playerid][pPass],128,password);