bannedplayers problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey, ich habe ein Problem:
    Ich möchte aus einer Tabelle 'bannedplayers' ein paar Felder auslesen.. allerdings bleiben meine BanInfo-Variable immer leer.
    Und er printet auch nicht das es keine gebannten User gibt, kann mir wer helfen und mich evtl. aufklären? :)


    public OnBannedPlayersLoad()
    {
    new num_fields, num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0) return printf("Es gibt keine gebannten User");
    for(new i=0;i<num_rows;i++)
    {
    new tempname[MAX_PLAYER_NAME],tempname2[MAX_PLAYER_NAME],tempgrund[256],tempdate[256];
    cache_get_field_content(i,"ban_username",tempname,dbhandle,MAX_PLAYER_NAME);
    cache_get_field_content(i,"ban_admin",tempname2,dbhandle,MAX_PLAYER_NAME);
    cache_get_field_content(i,"ban_grund",tempgrund,dbhandle,256);
    cache_get_field_content(i,"ban_date",tempdate,dbhandle,256);
    banInfo[i][ban_username] = tempname;
    banInfo[i][ban_admin] = tempname2;
    banInfo[i][ban_grund] = tempgrund;
    banInfo[i][ban_date] = tempdate;
    banInfo[i][ban_id] = cache_get_field_content_int(i,"ban_id",dbhandle);
    banInfo[i][ban_dauer] = cache_get_field_content_int(i,"ban_dauer",dbhandle);
    }
    return 1;
    }


  • Versuche es so:
    public OnBannedPlayersLoad()
    {
    new num_rows = cache_get_row_count(dbhandle);
    if(num_rows==0) return printf("Es gibt keine gebannten User");
    for(new i=0;i<num_rows;i++)
    {
    cache_get_field_content(i,"ban_username",banInfo[i][ban_username],dbhandle,MAX_PLAYER_NAME);
    cache_get_field_content(i,"ban_admin",banInfo[i][ban_admin],dbhandle,MAX_PLAYER_NAME);
    cache_get_field_content(i,"ban_grund",banInfo[i][ban_grund],dbhandle,256);
    cache_get_field_content(i,"ban_date",banInfo[i][ban_date],dbhandle,256);
    banInfo[i][ban_id] = cache_get_field_content_int(i,"ban_id",dbhandle);
    banInfo[i][ban_dauer] = cache_get_field_content_int(i,"ban_dauer",dbhandle);
    }
    return 1;
    }


    Falls das nicht geht, poste bitte was dir der MySQL Log ausgibt.

  • Oh, dann nutzt du noch eine ältere Version.
    Füge dann anstatt dem cache_get_row_count wieder die vorherige Funktion entsprechend ein.


    Poste dann bitte mal das Query mit dem du OnBannedPlayersLoad aufrufst und einen Screenshot aus der Tabelle in der Datenbank.

  • ich glaube ich nutze r35



    public Ongamemodeinit
    {
    //BannedPlayers laden
    format(query,sizeof(query),"SELECT * from bannedplayers");
    mysql_function_query(dbhandle,query,true,"OnBannedPlayersLoad","");
    }


    enum bannedplayersEnum{
    ban_id,
    ban_username[MAX_PLAYER_NAME],
    ban_admin[MAX_PLAYER_NAME],
    ban_date[256],
    ban_dauer,
    ban_grund[256]
    };


    new banInfo[500][bannedplayersEnum];


    http://www.shapeloft.com/index…geID=376821&hash=26b20533

  • Dort sind keine Daten vorhanden, somit können auch keine Daten in die Variablen geschrieben werden.
    Trage dort welche ein, dann sollte es klappen.


    Edit:
    Fail, ich habe nur auf die Anzeige geschaut, da steht 0 - 0. :dash: Hast natürlich Recht @carLos_dueKer . Gut, dass es jetzt trotzdem funktioniert.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • klar da ist doch ein datensatz^^


    allerdings hab ich jetzt einen einfacheren weg gefunden, zudem hat das script komischerweise von oben auf einmal funktioniert, naja ich danke dir trotzdem^^