woff 發表於 2008-7-5 20:48:17

潛水值(看帖扣積分)for DZ6.0

原文:http://www.discuz.net/viewthread ... hlight=%9D%93%CB%AE


積分名稱:潛水
積分單位:米
啟用此積分:是
在帖內顯示:是


打開viewthread.php

找查


$supe['status'] && supe_dbconnect();


在下面加上


if($extcredits4 <= -50) {
    $query_reps = $db->query("SELECT count(pid) FROM {$tablepre}postsWHERE authorid='$discuz_uid' AND tid='$tid'");
    if(!$db->result($query_reps,0)){
      showmessage('您的<font color="red">潛水值太高</font>,無法再瀏覽文章

如要<font color=red>回復潛水值,請務必發表新帖</font>,謝謝!', NULL, 'NOPERM');
      }
}


此處是當潛水值達到-50時,將會先判斷是不是帖子作者本人、是否已回帖過,如條件皆不成立的話,將會顯示訊息,無法觀帖。

接著在最後面
?>前加上


//潛水值 by ejew


if( $discuz_uid && !in_array($adminid,array(1,2,3)) && ($thread['authorid'] != $discuz_uid)){


      $query_reps = $db->query("SELECT count(pid) FROM {$tablepre}postsWHERE authorid='$discuz_uid' AND tid='$tid'");


      if(!$db->result($query_reps,0)){


             $db->query("UPDATE {$tablepre}members SET extcredits4=extcredits4-1 WHERE uid='$discuz_uid'", 'UNBUFFERED');


             setcookie('cookies_'.$tid, time()+86400);


      }


}

第一行判斷是不是帖子作者本人、是不是管理人員,如條件不成立將扣除積分,如不是的話將扣積分

第二行判斷是不是已回過帖,如已回帖過,不扣積分,如不曾回帖過將扣除積分。

注意:要把所有的extcredits4 改為你自己設定的積分值

完成了。
頁: [1]
查看完整版本: 潛水值(看帖扣積分)for DZ6.0