Errors im Ban sys -.-

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 Liebe Community


    Bin grad am machen das beim Ban System gespeichert wird waruum der gebannt wird usw.


    Zeilen:


    new pname[64];
    new accFormat[64];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.GameData",pname);


    dini_Set(accFormat,"BannedVon",PlayerName(playerid));
    dini_Set(accFormat"BannedWeil",(result)); <- Error Zeile
    Spieler[giveplayerid][pBanned] = 1;
    Ban(giveplayerid);


    errors:
    Zeile (31321) : error 001: expected token: ",", but found "-string-"
    Zeile (31321) : warning 215: expression has no effect
    Zeile (31321) : warning 215: expression has no effect
    Zeile (31321) : error 001: expected token: ";", but found ")"
    Zeile (31321) : error 029: invalid expression, assumed zero
    Zeile (31321) : fatal error 107: too many error messages on one line

    ik bin der vito c:

  • Warum schreibst du da result hin? Wo ist es definiert?


    Du musst dann den Grund angeben, sprich in text entweder in Dialog inputtext oder per Command Parameter.


    lg


    pS

  • Hier

    hile ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;

    und hier wird die ja auch benutzt und das funktioniert


    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s", giveplayer, sendername, (result));

    ik bin der vito c:

  • format liefert auch keinen Error wenns die falsche Variablenart ist.
    Das Problem liegt daran, dass wir nur immer Bruchstücke des Code, z.B. des Commands erhalten und so nicht schließen können wie genau (result) im Zusammenhang zu sehen ist.
    Also bitte Poste mal den kompletten Command.

  • dann soll da auch %s dabei sein, wenn ich mich nicht irre.


    lg


    pS

  • Schonma Danke


    Und hier Tada der Command :)


    if(strcmp(cmd, "/ban", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] != 1) { return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [playerid] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (Spieler[playerid][pAdmin] >= 2)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [playerid] [grund]");
    return 1;
    }
    if(Spieler[giveplayerid][pAdmin] > Spieler[playerid][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht bannen, da er ein höheres Adminlevel hat als du!");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    BanLog(string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);


    /*new VonName[MAX_PLAYERS];
    new Weil[MAX_PLAYERS];
    VonName[giveplayerid] = sendername;
    Weil[giveplayerid] = (result);
    format(Spieler[giveplayerid][pBannedVon],MAX_PLAYER_NAME,sendername);
    format(Spieler[giveplayerid][pBannedWeil],128,result);*/

    new pname[64];
    new accFormat[64];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.GameData",pname);

    dini_Set(accFormat,"BannedVon",sendername);
    dini_Set(accFormat"BannedWeil",(result));
    Spieler[giveplayerid][pBanned] = 1;
    Ban(giveplayerid);
    return 1;
    }
    }//not connected
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    ik bin der vito c: