Regelsystem hilfe?!

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
  • Moin Breadfisher,


    Ich habe vor einiger Zeit das Regelsystem hier im Forum gefunden und es in meinen GM gebaut. Ich habe es jetz so gemacht wenn man sich Registriert kommen die Regeln die man Akzepieren muss (mit ja o. nein). Es geht alles wunder bar, ich kann die Regeln auch Akzepieren oder Ablehnen. Das Problem ist aber jetz ich kann immer wieder ja o. nein eingeben und dann kommt ""Noch viel Spaß auf unseren Server!""". Was muss ich machen damit das ja und nein nur für register geht?


    new Regel[MAX_PLAYERS];


    public OnPlayerText(playerid, text[])
    {
    new tmp[256];
    if(Regel[playerid] == 1)
    {
    new idx;
    tmp = strtok(text, idx);
    if ((strcmp("Ja", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Ja")))
    {
    SendClientMessage(playerid,COLOR_GREY,"Noch viel Spaß auf unseren Server!");
    TogglePlayerControllable(playerid,1);
    SpawnPlayer(playerid);
    }
    else if ((strcmp("Nein", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Nein")))
    {
    SendClientMessage(playerid,COLOR_RED,"Du wurdest gekickt weil du die Regeln nicht akzeptierst!");
    Kick(playerid);
    }
    }
    return 1;
    }

    if (strcmp(cmd, "/register", true)==0)
    {
    new string[265];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutze: /register [password]");
    return 1;
    }
    if (gPlayerAccount[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Name ist bereits registriert");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "/Accounts/%s.ini", playername);
    new File: file = fopen(string, io_read);
    if (file)
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Name ist bereits registriert");
    fclose(file);
    return 1;
    }
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[32];
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
    format(var, 32, "Admin=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Geld=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    format(var, 32, "Premium=%d\n",PlayerInfo[playerid][pPremium]);fwrite(hFile, var);
    format(var, 32, "Owner=%d\n",PlayerInfo[playerid][pOwner]);fwrite(hFile, var);
    format(var, 32, "GesamtZeit=%d\n",PlayerInfo[playerid][pGesamtZeit]);fwrite(hFile, var);
    fclose(hFile);
    SendClientMessage(playerid, COLOR_WHITE, "Erfolgreich registriert!");
    OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
    GivePlayerMoney(playerid, 20000);
    Regel[playerid] = 1;
    SendClientMessage(playerid,COLOR_ORANGE,"************** REGELN **************");
    SendClientMessage(playerid,COLOR_ORANGE,"1. Cheaten & Bugusen ist Verboten ");
    SendClientMessage(playerid,COLOR_ORANGE,"2. Beleidigen ist Verboten ");
    SendClientMessage(playerid,COLOR_ORANGE,"3. Serverwerbung ist Verboten ");
    SendClientMessage(playerid,COLOR_ORANGE,"Diese Regeln führen bei bruch zu ");
    SendClientMessage(playerid,COLOR_ORANGE,"einem sofortigen Permanent Ban!! ");
    SendClientMessage(playerid,COLOR_ORANGE,"************** REGELN **************");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Tippe: \"Ja\" um die Regeln zu akzeptieren!");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Tippe: \"Nein\" um die Regeln nicht zu akzepieren!");
    TogglePlayerControllable(playerid,0);
    */
    return 1;
    }


    Einmal editiert, zuletzt von KING AMOK ()


  • public OnPlayerText(playerid, text[])
    {
    new tmp[256];
    if(Regel[playerid] == 1)
    {
    new idx;
    tmp = strtok(text, idx);
    if ((strcmp("Ja", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Ja")))
    {
    SendClientMessage(playerid,COLOR_GREY,"Noch viel Spaß auf unseren Server!");
    TogglePlayerControllable(playerid,1);
    SpawnPlayer(playerid);
    Regel[playerid] = 0;
    }
    else if ((strcmp("Nein", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Nein")))
    {
    SendClientMessage(playerid,COLOR_RED,"Du wurdest gekickt weil du die Regeln nicht akzeptierst!");
    Kick(playerid);
    }
    }
    return 1;
    }



    vllt so :?: