KeywordChatFilter

版本 v1.0.2·更新於 2024-01-10

KeywordChatFilter.

模組介紹 作者原文

Caution

I only test this mod in local. But in theory it should run on server also.

If you install only on client yourself, this only works locally.

If you install it on server, it should influence the whole chat. I guess?

What this mod brings

Filter chat with keywords

Now those words you don’t like will be replaced with a “”.(You can change the “\” into anything you like.)

Block players you don’t like away from Chats

Add their names in the mod.json.

If you use this with a server, may you can add their UIDs. (I don’t know how to get the UID in Client, so this feature not works in local user.)

Modes

It offers 3 modes: Replace| Block| Both

  • Replace

Replace the dirty words with placeholder.

  • Block

Block players away from your char.(Their messages are still shown in other players’ chats.)

  • Both

Replace and Block

Convars

Use [Space] to separate the keywords like: "dirty1 dirty2 dirty3"

// use [Space] to sep

"ConVars": [

{

"Name": "l1nexus_keyword_chatfilter_keywords",

"DefaultValue": ""

},

{

"Name": "l1nexus_keyword_chatfilter_blacklistPlayername",

"DefaultValue": ""

},

{

"Name": "l1nexus_keyword_chatfilter_blacklistPlayerUID",

"DefaultValue": ""

},

{

"Name": "l1nexus_keyword_chatfilter_mode",

// Replace | Block | Both

"DefaultValue": "Both"

},

{

"Name": "l1nexus_keyword_chatfilter_replaceHolder",

"DefaultValue": "*"

}

]

Some String function

​ I noticed that there is a StringReplace function existed. But I failed to figure out the parameters, so I did mine.

// return start index of a substring in the string

// -1, means not found.

int function SearchString(string targetString, string search)

{

int index = -1

int flag = 1

if (targetString.len() < search.len()) return -1

if (targetString == search) return 0

for(int i; i < targetString.len() - search.len() + 1; i++)

{

if (targetString[i]!= search[0]) continue

for(int j = 0; j < search.len(); j++)

{

if (targetString[i+j]!= search[j])

{

flag = 0

}

}

if (flag)

index = i

}

return index

}

string function ReplaceString(string targetString, string oldString, string newString, bool replaceAll, bool ignoreCaps)

{

if (targetString.len() < oldString.len()) return targetString

if (targetString == oldString) return newString

int index = -1

string searchString = targetString

if (ignoreCaps)

{

searchString = targetString.toupper()

oldString = oldString.toupper()

}

index = SearchString(searchString, oldString)

print(searchString + " " + oldString + " " + newString + " index "+ index)

while(index!= -1)

{

if (index == 0)

{

targetString = newString + targetString.slice(oldString.len(), targetString.len())

}

else

{

targetString = targetString.slice(0, index) + newString + targetString.slice(index + oldString.len(), targetString.len())

}

// replace once

if (!replaceAll)

break

// prepare next search

searchString = targetString.toupper()

index = SearchString(searchString, oldString)

}

return targetString

}

These 2 functions are globalized. You can use them with this mod, or just copy the code.

Further updates

  • Once I find the way to get the UIDs, I will update this mod.
  • Add commands allow to modify the list dynamically.

Update log

v0.0.1

  • Upload

v0.0.2

  • Fix.zip file structure.

v1.0.1

  • Update ConVars.

v1.0.2

  • Update readme.

安裝與使用 安裝:Northstar 用戶端模組

  1. 先安裝 Northstar 用戶端(Titanfall 2 的開源社群用戶端,官方發布頁提供安裝器),模組由它載入。
  2. 把本站下載的壓縮包解壓,內容放入 Titanfall2 目錄下的 Northstar/mods/ 資料夾。
  3. 透過 NorthstarLauncher.exe 啟動遊戲,控制台會列出已載入的模組。

Northstar 用於私人伺服器與自訂內容,請勿用它連線官方伺服器。

檔案與校驗

檔案名稱
KeywordChatFilter-1.0.2.zip
檔案大小
101.3 KiB