Kết quả 1 đến 1 của 1

Chủ đề: Mọi người xem hộ cái ChatFilter mình thêm vào vẫn ko chặn được chát

  1. #1
    Junior Member
    Ngày tham gia
    Sep 2017
    Bài viết
    20
    Likes
    6
    Liked 1 Time in 1 Post

    Mọi người xem hộ cái ChatFilter mình thêm vào vẫn ko chặn được chát

    Source

    Code:
    #include "StdAfx.h"
    #include "ChatFilter.h"
    #include "..\include\readscript.h"
    #include "logproc.h"
    #include "GameMain.h"
    #include "LogToFile.h"
    // -------------------------------------------------------------------------
    
    
    ChatFilter g_ChatFilter;
    // -------------------------------------------------------------------------
    
    
    void ChatFilter::Init()
    {
        this->Counter    = 0;
        this->BanTime    = 0;
    }
    // -------------------------------------------------------------------------
    
    
    void ChatFilter::Load()
    {
        this->Init();
        this->ReadList("..\\Data\\Other\\FilterList.txt");
        this->ReadMain("..\\Data\\Other\\FilterMain.ini");
    }
    // -------------------------------------------------------------------------
    
    
    void ChatFilter::ReadList(char * File)
    {
        int Token;
        // ----
        SMDFile = fopen(File, "r");
        // ----
        if( SMDFile == 0 )
        {
            MsgBox(lMsg.Get(MSGGET(0, 112)), File);
            return;
        }
        // ----
        while(true) 
        {
            Token = GetToken();
            // ----
            if( Token == END )
            {
                break;
            }
            else
            {
                if( Token == NAME )
                {
                    CString TextUTF(TokenString);
                    int Size = this->StringToUTF8(TextUTF);
                    memcpy(this->Filter[Counter].Text, TextUTF, Size);
                    // ----
                    this->Counter++;
                }
            }
        }
        // ----
        //LogAddTD("[ChatFilter] [%d] Words loaded from list", this->Counter);
        // ----
        fclose(SMDFile);
    }
    // -------------------------------------------------------------------------
    
    
    void ChatFilter::ReadMain(char * File)
    {
        this->UsePenalty    = GetPrivateProfileInt("Common", "UsePenalty", 0, File);
        this->BanTime        = GetPrivateProfileInt("Common", "ChatBanTime", 5, File);
    }
    // -------------------------------------------------------------------------
    
    
    int ChatFilter::StringToUTF8(CString & Text)
    {
        LPCTSTR MultiByte    = Text;
        int Size            = MultiByteToWideChar(CP_UTF8, 0, MultiByte, -1, 0, 0);
        wchar_t * Output    = new wchar_t[Size];
        // ----
        MultiByteToWideChar(CP_UTF8, 0, MultiByte, -1, Output, Size);
        Text.Empty();
        Text = CString(Output);
        // ----
        delete [] Output;
        return Size;
    }
    // -------------------------------------------------------------------------
    
    
    int ChatFilter::CheckText(char * Text)
    {
        // ----
        if( (Text == NULL) || (strcmp(Text, "") == 0) )
        {
            return 2;
        }
        // ----
        //LogAddC(2, "[DEBUG] Text: %s", Text);
        CString TextUTF(Text);
        int Size = StringToUTF8(TextUTF);
        //LogAddC(2, "[DEBUG] UTF8: %s", TextUTF);
        char TextBuff[300];
        ZeroMemory(TextBuff, 299);
        memcpy(TextBuff, TextUTF, Size);
        //LogAddC(2, "[DEBUG] TextBuff: %s", TextBuff);
        // ----
        int Result = 1;
        // ----
        for( int i = 0; i < this->Counter; i++ )
        {
            if( _tcsstr(CharLower(TextBuff), CharLower(this->Filter[i].Text)) != NULL )
            {
                //LogAddC(2, "[DEBUG] Filter[i].Text: %s", this->Filter[i].Text);
                Result = 0;
                break;
            }
        }
        // ----
        return Result;
    }
    // -------------------------------------------------------------------------
    Lần sửa cuối bởi Trong; 10-09-2017 lúc 11:13 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Stats
Flag Counter