網路遊美國

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

[程式寫法] 再談道具程式的寫法

[複製鏈接]
  • TA的每日心情
    喜歡
    19 小時前
  • 簽到天數: 668 天

    [LV.9]擔任課長

    1165

    主題

    2071

    帖子

    1萬

    積分

    管理員

    Rank: 12Rank: 12Rank: 12

    積分
    11151

    站長程式達人支持烏克蘭

    發表於 2022-4-25 04:56:20 | 顯示全部樓層 |閱讀模式

    馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社區。

    您需要 登錄 才可以下載或查看,沒有賬號?立即註冊

    x
    原理上,只要把相應的提示修改一下,然后把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-20 19:58 , Processed in 0.068251 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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