網路遊美國

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 16|回復: 0

[寫程式] 道具也可以扣分?

[複製鏈接]
  • TA的每日心情
    開心
    2022-2-17 08:27
  • 簽到天數: 14 天

    [LV.3]考上駕照

    39

    主題

    86

    帖子

    4124

    積分

    管理員

    Rank: 10Rank: 10Rank: 10

    積分
    4124

    站長人氣達人

    發表於 2022-2-11 12:42:01 | 顯示全部樓層 |閱讀模式
    當然想拿分就必需從某處扣了

    原理上,只要把相應的提示修改一下,然后把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');

    }

    ?>









    上一篇:道具該怎麼寫?
    下一篇:道具的基本寫法
    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 立即註冊

    本版積分規則

    Archiver|手機版|小黑屋|網路遊美國

    GMT-8, 2024-11-19 19:22 , Processed in 0.074474 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回復 返回頂部 返回列表