Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 33665|回复: 61

[插件] PerfectWorks[001号]天降卡片1.3FORD40

[复制链接]
发表于 2006-6-12 14:42:18 | 显示全部楼层 |阅读模式
[编辑这个帖子]
//--------------------------------------------------------------------
//插件:天降卡片
//原作:童虎
//修改: FY(文文の封印)
//适用:Discuz! 4.0 系列
//技术支持:www.discuz.net
//个人网站:www.bjdyzx.com
//联系信箱/MSN:PerfectWorks@Gmail.com
//--------------------------------------------------------------------

简单介绍:
可以由会员自由添加卡片,添加后的卡片有一定概率(后台设置)会随着发帖和恢复掉落,若是普通卡片掉落,则会有积分的加减变化,如果是特殊卡片,可以由管理员自行确定。比如论坛要搞一个送Q号的活动,管理员可以添加一个叫QQ的特殊卡片。如果这个卡片掉落了,那会员就可以PM管理员,告知卡片掉落的帖子,管理员确定后就可以把QQ号送出。
插件用了钩子,下一个版本升级就不用修改任何文件,直接覆盖插件信息即可。
因为大部分用户都是D41了,所以D40版本升级会如不如D41快,如果可以的话希望大家能尽快升级到D41。如果你安装或者升级了这个插件,请务必跟贴。如果跟贴过少,我会认为是插件已经不再需要,就会停止升级,谢谢大家支持~

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


全新安装:
数据库升级

  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.   PRIMARY KEY  (`id`)
  10. ) 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. @include DISCUZ_ROOT.'./forumdata/cache/plugin_card.php';
  3. if(mt_rand(1,1000) >= round(10*(100 - $_DPLUGIN['card']['vars']['probability'])) && strlen($message) > 1 && $_DPLUGIN['card']['vars']['open']){
  4.                 @include DISCUZ_ROOT.'./forumdata/cache/cache_card.php';
  5.                 $prize=0;
  6.                 if($_CARD['cardnum'] && $_CARD['card']){
  7.                                 do{
  8.                                         $cardid =round(mt_rand($_CARD['cardnum']['min'],$_CARD['cardnum']['max']));
  9.                                         $prize = $_CARD['card'][$cardid]['ceffect'];
  10.                                 }while(!$_CARD['card'][$cardid]);
  11.                 }
  12. }
  13. //[天降卡片 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. if($cardid && !$_CARD['card'][$cardid]['type']){
  3.         $extcredits = $_DPLUGIN['card']['vars']['extcredits'];
  4.         $db->query("UPDATE {$tablepre}members SET extcredits$extcredits = extcredits$extcredits + $prize  WHERE uid='$discuz_uid'");
  5. }
  6. //[天降卡片 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.         if($post['card']){
  3.                 @include DISCUZ_ROOT.'./forumdata/cache/plugin_card.php';
  4.                 @include DISCUZ_ROOT.'./forumdata/cache/cache_card.php';
  5.                 $post['card']= $post['card'] ? $_CARD['card'][$post['card']] : "";
  6. }
  7. //[天降卡片 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-->
复制代码

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

全新安装结束

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


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

数据库卸载代码:

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

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

[ 本帖最后由 PerfectWorks 于 2006-6-15 01:23 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2006-6-12 14:42:48 | 显示全部楼层
预览图

[ 本帖最后由 PerfectWorks 于 2006-6-15 01:02 编辑 ]

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2006-6-15 01:02:52 | 显示全部楼层
终于做好了,跟约定的晚了一小时零2分钟,希望大家不要介意拉^_^
回复

使用道具 举报

发表于 2006-6-15 01:06:21 | 显示全部楼层
沙发!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2006-6-15 01:19:44 | 显示全部楼层
顶顶顶,支持
回复

使用道具 举报

 楼主| 发表于 2006-6-15 01:22:56 | 显示全部楼层
貌似卡片管理员那里写的是PerfectWorks……
大家可千万别忘了改阿
回复

使用道具 举报

发表于 2006-6-15 01:34:51 | 显示全部楼层
晚睡的鸟儿有虫吃哈哈
回复

使用道具 举报

发表于 2006-6-15 01:57:49 | 显示全部楼层
好的 。。。谢谢
回复

使用道具 举报

发表于 2006-6-15 03:38:43 | 显示全部楼层
原帖由 PerfectWorks 于 2006-6-15 01:22 发表
貌似卡片管理员那里写的是PerfectWorks……
大家可千万别忘了改阿

什么??不明白
回复

使用道具 举报

发表于 2006-6-15 05:44:24 | 显示全部楼层
支持一个,这个版本跟上面那个4.1的只是可支持论坛版本的不同吧?没有别的程序的差别吧?
回复

使用道具 举报

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

本版积分规则

腾讯云市场 一站式企业服务 爆款建站、小程序等1元起

QQ|小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2019-11-23 03:56

Powered by Discuz! X3.3

Copyright © 2001-2019 Tencent Cloud.

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