brauche Warn system --->

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
  • also, hab in der SuFu nix passendes gefunden,
    und zwar, ich hab ein meinem script ein login/registersystem. pWarns hab ich auch schon drinne, jedoch möchte ich das mann wenn man 3 warns hat gekickt wird, und ab 5 warns dann gebannt. jedesmal soll man wenn man gewarnt wird, da stehen, also bei warning 1 : "Du wurdest von admin so und so gewarnt1 (Warn 1)" und bei 2 dann "(warn 2) und so weiter, ihr wisst schon.
    hab das warn script aus dem GF, ist eig. normal.
    danke im vorraus!
    mfg multivan

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • if(strcmp(cmd, "/warn", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /warn [playerid/PartOfName] [reason]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    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, "USAGE: /warn [playerid/PartOfName] [reason]");
    return 1;
    }
    PlayerInfo[giveplayerid][pWarns] += 1;
    if(PlayerInfo[giveplayerid][pWarns] >= 3)
    {
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    BanLog(string);
    format(string, sizeof(string), "AdmCmd: %s was banned by %s (had 3 Warnings), reason: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    PlayerInfo[giveplayerid][pAdmin] = PlayerInfo[giveplayerid][pLevel];
    PlayerInfo[giveplayerid][pLevel] = -999;
    Ban(giveplayerid);
    return 1;
    }
    format(string, sizeof(string), "You warned %s, reason: %s", giveplayer, (result));
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "You were warned by %s, reason: %s", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    }//not connected
    }
    else
    {
    format(string, sizeof(string), " %d is not an active player.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    Bitte sagen falls das ausm GFF ist habe nur irgendein GM von meinem Desktop genommen KEIN Direkt GFF sondern ieinen vllt ein Edit sieht ähnlich aus..

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • habs ejtztr so:
    if(strcmp(cmd, "/warn", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /warn [spielerid/teildesnamens] [grund]");
    return 1;
    }
    giveplayerid = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    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, "Verwendung: /warn [spielerid/teildesnamens] [grund]");
    return 1;
    }
    PlayerInfo[giveplayerid][pWarns] += 1;
    if(PlayerInfo[giveplayerid][pWarns] >= 5)
    {
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt (hatte 5 Warnungen), Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    return 1;
    }
    format(string, sizeof(string), "Du hast %s eine Warnung gegeben, Grund: %s", giveplayer, (result));
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    if(PlayerInfo[giveplayerid][pWarns] >= 1)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s (Verwarnung 1)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    if(PlayerInfo[giveplayerid][pWarns] >= 2)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s (Verwarnung 2)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    if(PlayerInfo[giveplayerid][pWarns] >= 3)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt + Gekickt, Grund: %s (Verwarnung 3)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s Gekickt, wegen 3 Verwarnungen, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    return 1;
    }
    if(PlayerInfo[giveplayerid][pWarns] >= 4)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s (Verwarnung 4 - Achtung, Noch 1 mal und du wurst Gebannt!)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    return 1;
    }
    }//not connected
    }
    }
    }


    nur ledier gehts net, kommt immer nur (verwarnung 1) und das kick bei verwarnung 3 funtzt auf net
    edit#: ich weiß iwas mit else und/oder case, aber so genau hab ich mich damit nicht beschäftigt ^^

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

    Einmal editiert, zuletzt von Noneatme ()

  • nein nein nein, der kcikt ja auch, das ist nicht das problem! das problem ist, wenn ich 2 mal warn mache steht beim ersten mal "Du hast von ... eine verwarnung enthalten (verwarnung1)" und dann wenn ich nochmal mache steht dann da "Du hast von ... eine verwarnung enthalten (verwarnung1)" auch! aber da soll hin:
    "Du hast von ... eine verwarnung enthalten (verwarnung2)" und das denke ich geht iwie mit else oder case.

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Doch es heißt Giveplayerid! Ist Richtig so hier schon...
    //Edit Gurke aka Josh hat seinene Post gelöscht (erledigt)



    Denke da musst du mit "else if" arbeiten oder mit "else" hätte ich blos ahnung wie genau ^^

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25


  • if(strcmp(cmd, "/warn", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /warn [spielerid/teildesnamens] [grund]");
    return 1;
    }
    giveplayerid = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    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, "Verwendung: /warn [spielerid/teildesnamens] [grund]");
    return 1;
    }
    PlayerInfo[giveplayerid][pWarns] += 1;
    if(PlayerInfo[giveplayerid][pWarns] >= 1)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s (Verwarnung 1)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    format(string, sizeof(string), "Du hast %s eine Warnung gegeben, Grund: %s", giveplayer, (result));
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    else if(PlayerInfo[giveplayerid][pWarns] >= 2)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s (Verwarnung 2)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    else if(PlayerInfo[giveplayerid][pWarns] >= 3)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt + Gekickt, Grund: %s (Verwarnung 3)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s Gekickt, wegen 3 Verwarnungen, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    else if(PlayerInfo[giveplayerid][pWarns] >= 4)
    {
    format(string, sizeof(string), "Du wurdest von %s verwarnt, Grund: %s (Verwarnung 4)", sendername, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    return 1;
    }
    format(string, sizeof(string), "Du hast %s eine Warnung gegeben, Grund: %s", giveplayer, (result));
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    else if(PlayerInfo[giveplayerid][pWarns] >= 5)
    {
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt (hatte 5 Warnungen), Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Ban(giveplayerid);
    return 1;
    }
    return 1;
    }
    }//not connected
    }
    }
    }

    sollte gehen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • ja also er schreibt die warns. also ist dann in der datei zu lesen also "Warns=5" steht dan in der datei. und wenn man conenctet sagt er ":Du wurdest gekickt weil dudie maximale anzahl an warns hast".
    if(PlayerInfo[playerid][pWarns] >= 5)
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst derzeit nicht spielen da du soviele Warns hast!");
    Kick(playerid);
    }
    edit: danke ich gug ma
    edito2:
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6503) : error 029: invalid expression, assumed zero
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6503) : warning 215: expression has no effect
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6503) : error 001: expected token: ";", but found "if"
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6516) : error 029: invalid expression, assumed zero
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6516) : warning 215: expression has no effect
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6516) : error 001: expected token: ";", but found "if"
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6524) : error 029: invalid expression, assumed zero
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6524) : warning 215: expression has no effect
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6524) : error 001: expected token: ";", but found "if"
    als ich eingefügt habe, kam klammerfehler, hab ich eine dazugemacht kam das

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • k ich probiers
    eidt:
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6504) : error 029: invalid expression, assumed zero
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6504) : warning 215: expression has no effect
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6504) : error 001: expected token: ";", but found "if"
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6504) : error 029: invalid expression, assumed zero
    G:\Server\MULTISTUNT by Multivan\gamemodes\MULTISTUNT.pwn(6504) : fatal error 107: too many error messages on one line
    ejtzt sinds 2 weniger auf der zeile:
    else if(PlayerInfo[giveplayerid][pWarns] >= 2))

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen