目前 CBB 的查看帖子權限設定中,除了回覆才可觀看內容外,另還有 karma 積分這一項設定。
karma 存在的問題是,積分是怎麼計算的?會員又如何知道自己的積分有多少?在會員的個人資訊裡面,是不會有明文標示出您的karma有多少,即使可以知道有多少積分,也都是經由自行換算得來的。
karma 是要以文章發表數乘以50才得出自己的分數,與其要會員自行玩換算遊戲,不若改以文章發表數來取替 karma。用發表數決定瀏覽權限,較 karma 來的直觀也較方便。
在過去玩CBB兩年多期間就曾經在karma上作過一點小hack,將之改成發表數,而所hack的CBB版本為 3.08 版,其他版本就沒有測試過,如讀者需hack請先行在非正式站測試。
在 modules/newbb/class/karma.php下約 54 行,將下面的橘字部份刪除:
再來於modules/newbb/language/選用的語言/main.php下118行,修改原來的karma用語,下面的橘字是可以修改的地方。
於modules/newbb/language/選用的語言/main.php下215行,將原來的“Karma積分”改為“發表數”
修改modules/newbb/language/選用的語言/modinfo.php下約153至156行用語,這是顯示於管理後台的CBB偏好設定裡
可以將上面改成如下
接下來到管理後台,在CBB偏好設定下,將原來的Karma的可選數值重新設定一下為發表數值後便可以使用了。
karma 存在的問題是,積分是怎麼計算的?會員又如何知道自己的積分有多少?在會員的個人資訊裡面,是不會有明文標示出您的karma有多少,即使可以知道有多少積分,也都是經由自行換算得來的。
karma 是要以文章發表數乘以50才得出自己的分數,與其要會員自行玩換算遊戲,不若改以文章發表數來取替 karma。用發表數決定瀏覽權限,較 karma 來的直觀也較方便。
在過去玩CBB兩年多期間就曾經在karma上作過一點小hack,將之改成發表數,而所hack的CBB版本為 3.08 版,其他版本就沒有測試過,如讀者需hack請先行在非正式站測試。
在 modules/newbb/class/karma.php下約 54 行,將下面的橘字部份刪除:
![]()
![]()
function calUserkarma()
{
if (!$this->user) $user_karma = 0;
else $user_karma = $this->user->getVar('posts') * 50;
return $user_karma;
}
再來於modules/newbb/language/選用的語言/main.php下118行,修改原來的karma用語,下面的橘字是可以修改的地方。
![]()
![]()
define('_MD_KARMA_REQUIREMENT', '抱歉!您現時有 %s 篇發表數,尚未達到本帖的 %s 篇才可觀看的要求。');
於modules/newbb/language/選用的語言/main.php下215行,將原來的“Karma積分”改為“發表數”
![]()
![]()
define('_MD_REQUIRE_KARMA','發表數');
修改modules/newbb/language/選用的語言/modinfo.php下約153至156行用語,這是顯示於管理後台的CBB偏好設定裡
![]()
![]()
define("_MI_ENABLE_KARMA", "啟用Karma");
define("_MI_ENABLE_KARMA_DESC", "用戶可以設定某個文章的karma標準。只有達到該標準的成員才能查看此帖。<font color=red>注意!此功能雖可以使用尚未開發完善。</font>");
define("_MI_KARMA_OPTIONS", "Karma的可選值");
可以將上面改成如下
![]()
![]()
define("_MI_ENABLE_KARMA", "啟用發表數");
define("_MI_ENABLE_KARMA_DESC", "會員可以設定某個文章的發表數標準。只有達到該標準的成員才能查看此帖。");
define("_MI_KARMA_OPTIONS", "發表數的可選值");
接下來到管理後台,在CBB偏好設定下,將原來的Karma的可選數值重新設定一下為發表數值後便可以使用了。

這實在是太棒了!