TA的每日心情 | 開心 2022-2-17 08:27 |
---|
簽到天數: 14 天 [LV.3]考上駕照
管理員
- 積分
- 4124
|
當然想拿分就必需從某處扣了
原理上,只要把相應的提示修改一下,然后把sql語句的+隨機積分改成-就可以了。
$db->query("UPDATE {$tablepre}members SET extcredits4=extcredits4-'$addgx' WHERE uid='$uid'", 'UNBUFFERED'); //執行積分增加語句
不過,考慮到實際應用,不會自己清理自己的積分
所以需要更改顯示界面函數,可以輸入别人的用户名:
function showmagic() {
global $username, $lang;
magicshowtype($lang['option'], 'top');
magicshowsetting($lang['target_username'], 'username', $username, 'text');
magicshowtype('', 'bottom');
完整代碼:
<?php
/*
[Discuz!] (C)2001-2007 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: magic_reporter.inc.php 9806 2007-08-15 06:04:37Z cnteacher $
//隨機讓别人減少貢獻(1-10) 貢獻是我的一個積分類型
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
//上述代碼必須加,判斷是否在論壇里
if(submitcheck('usesubmit')) {
//上述代碼必須加,判斷道具是否被使用
if(empty($username)) {
showmessage('magics_info_nonexistence');
}
$member = getuserinfo($username, array('uid', 'groupid')); //獲得被使用人的信息
$addgx = rand(1,10); //隨機數1-10 道具使用后,貢獻減少該值。
checkmagicperm($magicperm['targetgroups'], $member['groupid']); //檢查道具使用權限
$uid = $member['uid']; //獲得被執行人的UID
$db->query("UPDATE {$tablepre}members SET extcredits4=extcredits4-'$addgx' WHERE uid='$uid'", 'UNBUFFERED'); //執行積分減少語句
$magicmessage = '恭喜您,'.$username.'減少了'.$addgx.'個貢獻!'; //定義成功后顯示的信息
usemagic($magicid, $magic['num']); //扣除道具使用后的數量 一般都不用改
updatemagiclog($magicid, '2', '1', '0', '', '', $member['uid']); //道具使用日志表,這個也是固定的(有具體的含義,不一一列舉了)
showmessage($magicmessage,'magic.php?action=user'); //成功顯示信息后,自動轉向的地址
}
function showmagic() {
global $username, $lang;
magicshowtype($lang['option'], 'top');
magicshowsetting($lang['target_username'], 'username', $username, 'text');
magicshowtype('', 'bottom');
}
?>
|
上一篇:道具該怎麼寫?下一篇:道具的基本寫法
|