7.6 system cenzury

Status
Zamknięty.

Black Boss

Active User
Zarejestrowany
Dołączył
Czerwiec 9, 2010
Posty
111
Liczba reakcji
5
Witam, kod robiony kiedy? tam jak zaczyna?em nauk? z C++, bierzcie i pijcie ten szit. Polega on na zast?powaniu przekle?stwa gwiazdkami. Mo?na go zrobi? wydajniej, ale mi si? nie chce.
Game.cpp

NAD:

Kod:
void Game::checkSpell(Player* player, SpeakClasses type, std::string &text)

DODAJ:

Kod:
#ifdef BLACK_CENZURA
std::string szukajKuja(std::string str, std::string table[], int licznik)
{
    for(int i = 0; i<licznik; i++)
    {
        if(str.find(table[i]) != str.npos)
        {
            return table[i];
        }
    }
    return "";
}
#endif //BLACK_CENZURA

POD:
Kod:
else if (text == "exani tera")
    {
        const int32_t REQ_MANA = 20;
        Tile* tile = getTile(player->pos);

        if (!(tile && (tile->ground->getID() == ITEM_ROPE_SPOT1 || tile->ground->getID() == ITEM_ROPE_SPOT2)))
        {
            player->sendMagicEffect(player->pos, NM_ME_PUFF);
            player->sendTextMessage(MSG_SMALLINFO, "Sorry, not possible.");
        }
        else if (player->mana < REQ_MANA)
        {
            player->sendMagicEffect(player->pos, NM_ME_PUFF);
            player->sendTextMessage(MSG_SMALLINFO, "Nie masz wystraczajacej ilosci many.");
        }
        else if(player->isRookie())
        {
            player->sendMagicEffect(player->pos, NM_ME_PUFF);
            player->sendTextMessage(MSG_SMALLINFO, "Przykro mi, nie posiadasz odpowiedniej profesji.");
        }
        else if (player->maglevel < 0)
        {
            player->sendMagicEffect(player->pos, NM_ME_PUFF);
            player->sendTextMessage(MSG_SMALLINFO, "Nie posiadasz wymaganego mlvl.");
        }
        else if (player->exhaustedTicks >= 1000 && player->access < g_config.ACCESS_PROTECT)
        {
            player->sendMagicEffect(player->pos, NM_ME_PUFF);
            player->sendTextMessage(MSG_SMALLINFO, "You are exhausted.");
        }
        else
        {
            teleport(player, Position(player->pos.x, player->pos.y+1, player->pos.z-1));
            player->sendMagicEffect(player->pos, NM_ME_ENERGY_AREA);

            if (player->access < g_config.ACCESS_PROTECT)
            {
                player->mana -= REQ_MANA;
                player->addManaSpent(REQ_MANA);
            }
        }
    }

DODAJ:

Kod:
#ifdef BLACK_CENZURA
    std::string texxt = text;
    for(int i = 0; i < texxt.length(); i++){
        texxt[i] = std::tolower(texxt[i]);
    }
    std::string table[] = {"kurwa","kurwo","kurwy","kurewka","skurwysyn","cipa", "kurw", "dziwka", "jebana", "jebany", "jebal", "jebac", "chuju",
                           "chuj", "huj", "japierdole", "pierdole", "dziwko", "kurwico", "cipka", "chujowy", "pierdolony", "pierdolniety", "pierdole", "pierdolic", "pierdol"
                          };
    int doKUJA = sizeof(table)/sizeof(*table);
    std::string omg;
    while(omg = szukajKuja(texxt,table,doKUJA) != "")
    {
        if(omg.length() == 4)
        {
            text.replace(texxt.find(omg)+2,3,"** ");
            texxt.replace(texxt.find(omg)+2,3,"** ");
        }
        else if(omg.length() == 3)
        {
            text.replace(texxt.find(omg)+1,3,"** ");
            texxt.replace(texxt.find(omg)+1,3,"** ");
        }
        else if(omg.length() > 8)
        {
            text.replace(texxt.find(omg)+4,3,"***");
            texxt.replace(texxt.find(omg)+4,3,"***");
        }
        else
        {
            text.replace(texxt.find(omg)+2,3,"***");
            texxt.replace(texxt.find(omg)+2,3,"***");
        }
    }
#endif //BLACK_CENZURA
Teraz, droga publiczno?ci, do parametr?w kompilacji (#definicji) dodajemy:
Kod:
-DBLACK_CENZURA
Tam sobie mo?na doda? wi?cej przekle?stw (jak nie wiesz jak je doda?, to lepiej opu?? t? stron? jak najszybciej!), srutututu. Wiem, kod to szit, mo?na to napisa? lepiej - piszcie, nie broni?, mi si? nie chce, bo to robi?em chyba p??tora roku temu ju?.
I to w sumie na tyle, jak znajd? czas to wklej? tutaj kod na bronie z ?adunkami.
A mo?e nie. =)
 
Odp: 7.6 system cenzury

Nieaktualne.
 
Ostatnia edycja:
Odp: 7.6 system cenzury

#UP:
Przecie? jest:
Kod:
#ifdef BLACK_CENZURA
std::string szukajKuja(std::string str, std::string table[], int licznik)
{
    for(int i = 0; i<licznik; i++)
    {
        if(str.find(table[i]) != str.npos)
        {
            return table[i];
        }
    }
    return "";
}
#endif //BLACK_CENZURA
Black Boss chyba zapomnia? o linijce w pliku .h, ale ka?dy sobie z tym powinien poradzi? :)

Pozdrawiam,
Adrik
 
Odp: 7.6 system cenzury

Po co komu linijka w pliku .h?
To jest od razu definicja funkcji, jest u?ywana ona tylko dwa razy w ca?ym programie, wi?c po co si? pieprzy??
Mog?em r?wnie dobrze jebn?? lambd? tam, ale ma?o kto ma kompilator ze standardem C++0x. xD
 
Status
Zamknięty.
Back
Do góry