Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] PerfectWorks[001号]天降卡片1.4FORD41

[复制链接]
PerfectWorks 发表于 2006-6-9 10:13:23 | 显示全部楼层 |阅读模式
很多人问这个问题:
进入卡片中心
最上面有两行
Warning: Division by zero in /homepages/2/d167902661/htdocs/plugins/card/card.inc.php on line 36
Warning: array_chunk() expects parameter 1 to be array, null given in /homepages/2/d167902661/htdocs/plugins/card/card.inc.php on line 37
.....................
之类的问题
只要更新一次卡片缓存就行了


[编辑这个帖子]
//--------------------------------------------------------------------
//插件:天降卡片
//原作:童虎
//修改: FY(文文の封印)
//适用:Discuz! 4.1 系列
//演示:图片见3楼,实际效果见 http://www.bjdyzx.com
//技术支持:discuz.dismall.com
//个人网站:www.bjdyzx.com
//联系信箱/MSN:PerfectWorks@Gmail.com
//--------------------------------------------------------------------

简单介绍:
可以由会员自由添加卡片,添加后的卡片有一定概率(后台设置)会随着发帖和恢复掉落,若是普通卡片掉落,则会有积分的加减变化,如果是特殊卡片,可以由管理员自行确定。比如论坛要搞一个送Q号的活动,管理员可以添加一个叫QQ的特殊卡片。如果这个卡片掉落了,那会员就可以PM管理员,告知卡片掉落的帖子,管理员确定后就可以把QQ号送出。
插件用了钩子,下一个版本升级就不用修改任何文件,直接覆盖插件信息即可。

1.4更新
卡片中心特殊卡片具有红色外框,普通卡片黑色外框,方便区分
浮动信息加入概率显示
加入了特殊卡片单独概率
添加了概率一览(仅在启用特殊卡片时有效)
掉落卡片自动PM
特殊卡片掉落PM添加者
添加更新卡片缓存功能

1.3更新
基本上只是bugfix,功能上没有较大的改进。经过这次修改,卡片掉落概率可以完美的符合设定值。

以后将做的改进:
特殊卡片的特定概率……Finished
掉落特殊卡片自动PM卡片添加者……Finished

使用更好的缓存方法……Already included
任意数量的卡片图片支持……Already included
更好的卡片中心视图……Already included
D40支持……Already included

用户添加卡片审核……Working
掉落卡片转页提示……Cancel For Now
分版设置是否掉落卡片……Just Imagination
分版设置卡片掉落概率……Just Imagination
多积分类型随机掉落……Just Imagination
特殊卡片数量……Just Imagination
掉落卡片记录……Just Imagination
等等……
有更好的建议,发PM给我,谢谢!

其它卡片图案:(谢谢haohao036提供)
游戏王卡第一部分
游戏王卡第二部分
RO卡片
新卡片使用方法:直接放到images/card下面即可


1.4升级
执行修改步骤4.1
数据库升级:

  1. ALTER TABLE `cdb_card` ADD `cprobability` FLOAT( 4 ) NOT NULL DEFAULT '-1';
复制代码

上传附件按目录结构覆盖
重新导入discuz_plugin_card.txt
调整插件设置
更新卡片缓存

1.3升级
上传附件按目录结构覆盖
重新导入discuz_plugin_card.txt
调整插件设置

1.2升级
删除cache.func.php内1.1版本添加的内容(见2楼修改)
上传附件按目录结构覆盖
重新导入discuz_plugin_card.txt
调整插件设置

1.1升级&BUG修改
删除cache.func.php原版本添加的内容
上传附件中upload目录下所有文件
重新导入discuz_plugin_card.txt



全新安装:
数据库升级

  1. CREATE TABLE `cdb_card` (
  2.   `id` mediumint(8) unsigned NOT NULL auto_increment,
  3.   `username` varchar(30) NOT NULL default '',
  4.   `cname` varchar(30) NOT NULL default '',
  5.   `ceffect` varchar(255) NOT NULL default '0',
  6.   `cint` varchar(50) NOT NULL default '',
  7.   `cardico` varchar(30) NOT NULL default '',
  8.   `type` tinyint(1) unsigned NOT NULL default '0',
  9.   `cprobability` float NOT NULL default '-1',
  10.   PRIMARY KEY  (`id`)
  11. ) TYPE=MyISAM;
复制代码

  1. ALTER TABLE `cdb_posts` ADD `card` INT( 6 ) UNSIGNED NOT NULL DEFAULT '0';
复制代码



include/newthread.inc.php和include/newreply.inc.php(改法一样)
Step 1.1
找到

  1. $bbcodeoff = checkbbcodes($message, !empty($bbcodeoff));
复制代码

上面加

  1. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/4 START
  2. eval($hooks['card_carddown']);
  3. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/4 END
复制代码


Step 1.2
下面不远处
        $db->query("INSERT INTO {$tablepre}posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment)
                        VALUES ('$fid', '$tid', '0', '$discuz_user', '$discuz_uid', '$subject', '$timestamp', '$message', '$onlineip', '$pinvisible', '$isanonymous', '$usesig', '$htmlon', '$bbcodeoff', '$smileyoff', '$parseurloff', '$attachment')");

对比添加红字部分
        $db->query("INSERT INTO {$tablepre}posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment/*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 2/4 START*/, card/*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 2/4 END*/)
                        VALUES ('$fid', '$tid', '0', '$discuz_user', '$discuz_uid', '$subject', '$timestamp', '$message', '$onlineip', '$pinvisible', '$isanonymous', '$usesig', '$htmlon', '$bbcodeoff', '$smileyoff', '$parseurloff', '$attachment'/*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 3/4 START*/ ,'$cardid'/*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 3/4 END*/)");


Step 1.3
newreply.inc.php找到

  1. updatepostcredits('+', $discuz_uid, $replycredits);
复制代码

newthread.inc.php找到

  1. updatepostcredits('+', $discuz_uid, $postcredits);
复制代码

下面加

  1. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 4/4 START
  2. eval($hooks['card_update']);
  3. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 4/4 END
复制代码

注意newthread.inc.php和newreply.inc.php都要改哦

viewthread.php
Step 2.1
找到
  1. if(!$newpostanchor && $post['dateline'] > $lastvisit) {
复制代码

上面加入
  1. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/1 START
  2. eval($hooks['card_readcard']);
  3. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/1 END
复制代码


viewthread.htm模版
Step 3.1
找到

  1. <span style="font-size: {MSGFONTSIZE}">$post[message]</span>
复制代码

下面加入

  1. <!--[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/1 START-->
  2. <!--{if $post[card]}-->
  3. <!--{if $post[card][type]=="0"}-->
  4. <TABLE height=115 cellSpacing=1 cellPadding=0 align=right border=0>
  5. <TR><TD bgColor=#ffffff>
  6. <TABLE height=107 cellSpacing=1 cellPadding=0 width="98%" align=center bgColor=#000000 border=0><TR><TD bgColor=#ffffff>
  7. <TABLE height=107 cellSpacing=2 cellPadding=0 width=400 border=0>
  8. <TR><TD vAlign=middle width=90 rowSpan=3>
  9. <DIV align=center><IMG height=98 src="images/card/$post[card][cardico]" width=73></DIV>
  10. </TD>
  11. <TD style="COLOR: #ff0000">只听"哐当"一声响,天上掉下来个锅盖,正砸在 $post[username] 头上,上面还有 $post[card][username] 做的 $post[card][cname] 卡一张</TD>
  12. </TR>
  13. <TR><TD style="COLOR: #ff0000">卡片说明: $post[card][cint]</TD></TR>
  14. <TR><TD style="COLOR: #ff0000">卡片效果: $post[card][ceffect] $extcredits[$_DPLUGIN[card][vars][extcredits]][unit] $extcredits[$_DPLUGIN[card][vars][extcredits]][title]</TD></TR>
  15. </TABLE>
  16. </TD></TR></TABLE>
  17. </TD></TR></TABLE>
  18. <!--{else}-->
  19. <TABLE height=115 cellSpacing=1 cellPadding=0 align=right border=0>
  20. <TR><TD bgColor=#ff0000>
  21. <TABLE height=107 cellSpacing=1 cellPadding=0 width="98%" align=center bgColor=#ff0000 border=0><TR><TD bgColor=#ffffff>
  22. <TABLE height=107 cellSpacing=2 cellPadding=0 width=400 border=0>
  23. <TR><TD vAlign=middle width=90 rowSpan=3>
  24. <DIV align=center><IMG height=98 src="images/card/$post[card][cardico]" width=73></DIV>
  25. </TD>
  26. <TD style="COLOR: #ff0000">只听"哐当"一声响,天上掉下来个锅盖,正砸在 $post[username] 头上,上面还有 $post[card][username] 做的 $post[card][cname] 卡一张</TD>
  27. </TR>
  28. <TR><TD style="COLOR: #ff0000">卡片说明: $post[card][cint]</TD></TR>
  29. <TR><TD style="COLOR: #ff0000">卡片效果: $post[card][ceffect]</TD></TR>
  30. </TABLE>
  31. </TD></TR></TABLE>
  32. </TD></TR></TABLE>
  33. <!--{/if}-->
  34. <!--{/if}-->
  35. <!--[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/1 END-->
复制代码


pms.lang.php语言包
Step 4.1
找到

  1. $language = array
  2. (
复制代码

下面加

  1.         'carddown_subject' => '[Discuz!] 您发表的帖子掉落了卡片',
  2.         'carddown_message' => '这是由论坛系统自动发送的通知短消息。

  3. [b]以下所发表的帖子掉落了卡片[/b]
  4. [b]帖子:[/b] [url={$boardurl}viewthread.php?tid={$tid}&pid={$pid}&page={$cpage}&extra={$extra}#pid{$pid}]点击前往[/url]
  5. [quote][align=center][img]{$boardurl}images/card/{$_CARD[card][$cardid][cardico]}[/img]
  6. 卡片名称:{$_CARD[card][$cardid][cname]}
  7. 卡片作者:{$_CARD[card][$cardid][username]}
  8. 卡片效果:{$extcredits[$cextcredits][title]}{$_CARD[card][$cardid][ceffect]}
  9. 卡片描述:{$_CARD[card][$cardid][cint]}[/align]
  10. [/quote]',
复制代码

按目录结构上传覆盖附件upload文件夹内所有文件
导入discuz_plugin_card.txt插件信息

全新安装结束

注意:开始安装完毕后,默认的掉落卡片机率是50%,可以用这个进行测试
测试完成后,务必请更改自定义积分类别,和掉落概率


反安装方法:
删除所有修改(见上)
后台删除插件
删除plugins/card目录
删除templates/default/card.htm

数据库卸载代码:

  1. DROP TABLE `cdb_card`;
  2. ALTER TABLE `cdb_posts`  DROP `card`;
复制代码

  版主友情提示:
  请楼下回帖的朋友们注意咯,如果已经安装成功的请回来说明下安装和使用情况。这样有利于版主根据大家回馈的信息给作者以肯定和鼓励。同时,也方便作者了解自己作品的使用情况。
  您的每个文字将是对作者的鼓励和支持!
  M55

[ 本帖最后由 PerfectWorks 于 2006-6-17 09:12 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| PerfectWorks 发表于 2006-6-9 10:13:42 | 显示全部楼层
附注:1.1升级1.2,cache.func.php修改说明
删除以下代码:

  1. /*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/4 START*/, 'card'/*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 1/4 END*/
复制代码

  1. /*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 2/4 START*/, 'card', 'cardnum'/*[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 2/4 END*/
复制代码

  1. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 3/4 START
  2. case 'card':
  3.         $table = 'card';
  4.         $cols = 'username,cname,ceffect,cint,cardico,type';
  5.         break;
  6. case 'cardnum':
  7.         $table = 'card';
  8.         break;
  9. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 3/4 END
复制代码

  1. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 4/4 START
  2. case 'cardnum':
  3.         $query = $db->query("SELECT COUNT(*) FROM {$tablepre}card");
  4.         $data['totalcard'] = $db->result($query, 0);            
  5.         if(!$data['totalcard']){$data['totalcard']='0';}
  6.         break;
  7. //[天降卡片 BY 童虎 / D4化 BY PerfectWorks] add 4/4 END
复制代码

[ 本帖最后由 PerfectWorks 于 2006-6-12 14:22 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2006-6-9 10:14:05 | 显示全部楼层
演示:

[ 本帖最后由 PerfectWorks 于 2006-6-16 18:59 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

haohao036 发表于 2006-6-9 10:14:39 | 显示全部楼层
up 先支持。
回复

使用道具 举报

Murphy008 发表于 2006-6-9 10:21:18 | 显示全部楼层
好东西 顶一下 顺便问问什么时候发?
回复

使用道具 举报

xuesharp 发表于 2006-6-9 10:23:03 | 显示全部楼层
占第一页~~!
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2006-6-9 10:23:28 | 显示全部楼层
原帖由 Murphy008 于 2006-6-9 10:21 发表
好东西 顶一下 顺便问问什么时候发?

今天……
回复

使用道具 举报

Discuzing 发表于 2006-6-9 10:27:01 | 显示全部楼层
关注下.
回复

使用道具 举报

Seika 发表于 2006-6-9 10:29:15 | 显示全部楼层
原帖由 xuesharp 于 2006-6-9 10:23 AM 发表
占第一页~~!
回复

使用道具 举报

界加 发表于 2006-6-9 10:29:46 | 显示全部楼层
占位等待.....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-7 01:22 , Processed in 0.262278 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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