Discuz开发 Discuz 任务、道具、任务和验证类插件制作

[复制链接]
ARCHY明星会员实名认证 发表于 2012-9-10 13:06:08 [Discuz开发] 显示全部楼层 |阅读模式 上一主题 下一主题
discuz使用视频教程

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
一、广告类
脚本位置:source/class/adv/adv_name.php

语言包位置:source/language/adv/lang_name.php
  1. <?php

  2. class adv_name {

  3.         var $version = '1.0';//脚本版本号
  4.         var $name = 'name';//广告类型名称 (可填写语言包项目)
  5.         var $description = 'desc';//广告类型说明 (可填写语言包项目)
  6.         var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)
  7.         var $targets = array('portal', 'home', 'member', 'forum', 'group', 'userapp', 'plugin', 'custom');//广告类型适用的投放范围
  8.         var $imagesizes = array('120x60', '120x240');//图片广告推荐大小

  9.         function getsetting() {//返回设置项目
  10.                 $settings = array(
  11.                         'text' => array(
  12.                                 'title' => 'text_title',//设置项目名称 (可填写语言项目)
  13.                                 'type' => 'mradio',//项目类型
  14.                                 'value' => array(),//项目选项
  15.                                 'default' => 0,//项目默认值
  16.                         )
  17.                 );
  18.                 return $settings;
  19.         }

  20.         function setsetting(&$advnew, &$parameters) {//保存设置项目
  21.         }

  22.         function evalcode() {//广告显示时的运行代码
  23.                 return array(
  24.                         //检测广告是否投放时的代码
  25.                         'check' => '
  26.                         if(condition) {
  27.                                 $checked = false;
  28.                         }',
  29.                         //广告显示时的代码 (随机调用投放的广告)
  30.                         'create' => '$adcode = $codes[$adids[array_rand($adids)]];',
  31.                 );
  32.         }
  33. }

  34. ?>
复制代码
二、道具类
脚本位置:source/class/magic/magic_name.php

语言包位置:source/language/magic/lang_name.php
  1. <?php

  2. class magic_name {

  3.         var $version = '1.0';//脚本版本号
  4.         var $name = 'name';//道具名称 (可填写语言包项目)
  5.         var $description = 'desc';//道具说明 (可填写语言包项目)
  6.         var $price = '10';//道具默认价格
  7.         var $weight = '10';//道具默认重量
  8.         var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)

  9.         function getsetting() {//返回设置项目
  10.                 $settings = array(
  11.                         'text' => array(
  12.                                 'title' => 'text_title',//设置项目名称 (可填写语言项目)
  13.                                 'type' => 'mradio',//项目类型
  14.                                 'value' => array(),//项目选项
  15.                                 'default' => 0,//项目默认值
  16.                         )
  17.                 );
  18.                 return $settings;
  19.         }

  20.         function setsetting(&$advnew, &$parameters) {//保存设置项目
  21.         }

  22.         function usesubmit($magic, $parameters) {//道具使用
  23.         }

  24.         function show($magic) {//道具显示
  25.         }

  26. }

  27. ?>
复制代码
三、任务类
脚本位置:source/class/task/task_name.php

语言包位置:source/language/task/lang_name.php
  1. <?php

  2. class task_name {

  3.         var $version = '1.0';//脚本版本号
  4.         var $name = 'name';//任务名称 (可填写语言包项目)
  5.         var $description = 'desc';//任务说明 (可填写语言包项目)
  6.         var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)
  7.         var $icon = '';//默认图标
  8.         var $period = '';//默认任务间隔周期
  9.         var $periodtype = 0;//默认任务间隔周期单位
  10.         var $conditions = array(//任务附加条件
  11.                 'text' => array(
  12.                         'title' => 'text_title',//设置项目名称 (可填写语言项目)
  13.                         'type' => 'mradio',//项目类型
  14.                         'value' => array(),//项目选项
  15.                         'default' => 0,//项目默认值
  16.                         'sort' => 'complete',//条件类型 (apply:申请任务条件 complete:完成任务条件)
  17.                 ),
  18.         );

  19.         function preprocess($task) {//申请任务成功后的附加处理
  20.         }

  21.         function csc($task = array()) {//判断任务是否完成 (返回 TRUE:成功 FALSE:失败 0:任务进行中进度未知或尚未开始  大于0的正数:任务进行中返回任务进度)
  22.         }

  23.         function sufprocess($task) {//完成任务后的附加处理
  24.         }

  25.         function view($task, $taskvars) {//任务显示
  26.         }

  27.         function install() {//任务安装的附加处理
  28.         }

  29.         function uninstall() {//任务卸载的附加处理
  30.         }

  31.         function upgrade() {//任务升级的附加处理
  32.         }

  33. }

  34. ?>
复制代码
四、验证问答类
脚本位置:source/class/secqaa/secqaa_name.php

语言包位置:source/language/secqaa/lang_name.php
  1. <?php

  2. class secqaa_name {

  3.         var $version = '1.0';//脚本版本号
  4.         var $name = 'name';//验证问答名称 (可填写语言包项目)
  5.         var $description = 'desc';//验证问答说明 (可填写语言包项目)
  6.         var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)

  7.         function make(&$question) {//返回安全问答的答案和问题 ($question 为问题,函数返回值为答案)
  8.         }

  9. }

  10. ?>
复制代码
五、验证码类(discuz! X2.5)
脚本位置:source/class/seccode/seccode_name.php

语言包位置:source/language/seccode/lang_name.php
  1. <?php

  2. class seccode_name {

  3.         var $version = '1.0';//脚本版本号
  4.         var $name = 'name';//验证码类型名称 (可填写语言包项目)
  5.         var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)
  6.         var $setting = array();//后台设置后的变量

  7.         function check($value, $idhash) {//检查输入的验证码,返回 true 表示通过               
  8.         }

  9.         function make() {//输出验证码,echo 输出内容将显示在页面中
  10.         }

  11. }

  12. ?>
复制代码




上一篇:Discuz! 的插件之特殊主题脚本格式
下一篇:Discuz 插件的安装、卸载和升级XML制作方法

大神点评5

网商翔云 发表于 2012-10-24 19:37:51 [Discuz开发] 显示全部楼层
不错,我正想搞一个呢,站帮网学到不少
云付|云付APP·手机变POS机,费率0.30%-0.49%|www.vipyunfu.cn
黑夜的枫 发表于 2013-10-7 23:18:16 [Discuz开发] 显示全部楼层
感谢楼主的分享,值得学习。
bbm2468 发表于 2014-5-19 19:50:14 [Discuz开发] 显示全部楼层
怎么去掉验证问答??????
最后,还是 发表于 2015-4-18 15:16:00 [Discuz开发] 显示全部楼层
Discuz 任务、道具、任务和验证类插件制作 这些东西如何使用,怎么看不到效果
嗜血 发表于 2015-8-3 15:53:41 [Discuz开发] 显示全部楼层
您好,请问类似这种发放CDK的道具怎样做啊,求求您帮一下吧
http://bbs.cf.qq.com/plugin.php?id=magic_display_binding:magic&action=shop&op=gamemagic
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表