[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Mit freundlichen Grüßen,
    Derakar

  • Bin grade auf der Arbeit aber ich bin mir sicher, dass es listitem 0 ist weil das bisher das einzigste im Navigationssystem ist.

    Was wird dir so im Server Log ausgegeben?
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    printf("dialogid: %d", dialogid);
    if(dialogid == DIALOG_NAVI)
    {
    printf("response: %d", response);
    if(response)
    {
    printf("listitem: %d", listitem);
    if(listitem == 0)
    {
    printf("in");
    new tankid;
    tankid = GetClosestFuelstation(playerid);
    printf("tankid: %d", tankid);
    printf("Size: %d", sizeof(nextTanke));
    SetPlayerCheckpoint(playerid, nextTanke[tankid][Navi_X], nextTanke[tankid][Navi_Y], nextTanke[tankid][Navi_Z], 5);
    SendClientMessage(playerid, GELB, "[NAVI] {FFFFFF}Die Route wird berechnet...");
    printf("durch");
    }
    }
    return 1;
    }

  • Hi, habe auch mal eine Frage:


    Ich arbeite grad an einem Ban System Mysql.


    Die EIntragung in die Tabelle läuft perfekt, bis auf, das er mir bei IP nur "192168" einträgt keine Punkte und keine volle Adresse:


    Code:

    new pname[MAX_PLAYER_NAME];, IPstring[20]
    GetPlayerName(playerid, pname, sizeof(pname));
    GetPlayerIp(playerid,IPstring,sizeof(IPstring));
    new query[256];
    format(query,sizeof(query),"INSERT INTO bans (Datum,Zeit,Name,Grund,GebanntVon,IPAdresse,Status) VALUES ('%s','%s','%s','Weapon Hack','Server Anti-Cheat','%s','1')",dstring,ustring,pname,IPstring);
    mysql_function_query(handle,query,false,"","");



    Das eigentliche Problem jedoch ist, das irgendwie nicht überprüft wird, bzw das System den User nicht findet der gebannt ist und ihn somit nicht beim Connecten kickt.
    Könnt ihr mir hier helfen?




    new query[128];
    format(query,sizeof(query),"SELECT * FROM bans WHERE Name=%s",PlayerInfo[playerid][pName]);
    mysql_function_query(handle,query,true,"","");


    if(cache_get_field_content_int(0, "Status", handle) == 1)
    {
    Kick(playerid);
    }



    Vielen Dank.


  • Als was Speicherst du die IP Adresse in der Datenbank? Also Datentyp der Spalte?


    Zum Thema überprüfen ob der Spieler einen Ban hat, würde ich eine Hilfsfunktion machen, also
    new query[128];
    format(query,sizeof(query),"SELECT * FROM bans WHERE Name=%s",PlayerInfo[playerid][pName]);
    mysql_pquery(handle,query, "BanCheck", "d", playerid);


    public BanCheck(playerid) {
    if(cache_get_row_count() == 1)
    {
    Kick(playerid)
    }
    }


    Liegt aber auch daran, dass ich keine Ahnung habe, wie ich in der gleichen Funktion, in der ich den Query sende auch auf den Query Cache zugreifen könnte.

    Einmal editiert, zuletzt von Saintsbury ()

  • Als was Speicherst du die IP Adresse in der Datenbank? Also Datentyp der Spalte?

    Hi Saintsbury,


    aaah braucht nur mal ein Anstupser :D (Hatte es als Int eingetragen >.<)
    Danke :)



    Könntest du mir bei dem Laden und anschließenden Kick bei Eintragung in die Ban Tabelle auch helfen?



    Zur Info:


    • new query[128];
    • format(query,sizeof(query),"SELECT * FROM bans WHERE Name=%s",PlayerInfo[playerid][pName]);
    • mysql_pquery(handle,query, "BanCheck", "d", playerid);
    • public BanCheck(playerid) {
    • if(cache_get_row_count() == 1)
    • {
    • Kick(playerid)
    • }
    • }

    funktioniert leider nicht :(

    Einmal editiert, zuletzt von RezZ ()