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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

PerfectWorks[003号]运气卡 FOR 卡片中心2.0

[复制链接]
PerfectWorks 发表于 2006-7-24 13:41:06 | 显示全部楼层 |阅读模式
本帖最后由 PerfectWorks 于 2009-10-19 19:49 编辑

插件名称:运气卡
适用版本:卡片中心2.0
程序制作:PerfectWorks
授权方式:个人使用免费,商业使用跟我说声就行了呵呵

修改文件:templates\default\messages.lang.php
加入文件:plugins\card\luck.card.inc.php //程序主文件
images\card\15.igf //卡片图像
程序说明:随即按比例增加或减少会员的积分。增减范围和积分类型在luck.card.inc.php
里可以设置:

  1. $effect = 20; //卡片增减的范围
  2. $cardextcredit = '2'; //积分操作对象
复制代码
广告:有偿定做卡片,基本价格50元/张,若难度较大价格另议
安装说明:1.下载程序包,按目录结构上传upload目录下所有文件到论坛根目录
2.打开templates\default\messages.lang.php
找到
  1. $language = array
  2. (
复制代码
后面加

  1. 'card_tool_LuckSuccess' => '卡片使用成功,您原来的{$title}为{$userextcredits}{$unit},使用卡片后变为{$userextcredits2}{$unit},是原来的{$effect}%。',
复制代码
3.在卡片中心加入一张新卡片,唯一标识符为luck,其他属性任意

~完成~


[ 本帖最后由 PerfectWorks 于 2006-7-25 18:09 编辑 ]
 楼主| PerfectWorks 发表于 2006-7-24 13:41:22 | 显示全部楼层
做这个完全是为了让大家清楚怎么做卡片的,其实很简单,跟写插件一样:
卡片基础篇:
1.首先确定自己卡片的唯一标识符,卡片的买卖使用等都由唯一标识符决定。 例:运气卡->luck
2.然后写插件的主程序文件,文件名为 唯一标识符.card.inc.php。放在plugins/card目录下,使用时程序会自动调用。 例:运气卡->luck.card.inc.php
3.然后写卡片的主程序,和其他模版文件等等

主程序的调用方式
在卡片中心里,卡片的主程序是被这样调用的
  if ([email=!@include]!@include[/email] DISCUZ_ROOT.'./plugins/card/'.$card['identifier'].'.card.inc.php') {
   showmessage('card_center_ToolFileInexistence');
  }elseif ($resultarray['success']){
   changecard($discuz_uid,$card['identifier'],'-1','','','0',$mycardlist);
   $detail = serialize($card);
   cardlog();
   showmessage($resultarray['message'],$resultarray['referer']);
  }
红色部分调用了卡片主程序
蓝色部分负责了卡片的增减
紫色部分返回插件信息

主程序的基本结构
以运气卡为例
//只有卡片中心可以调用该文件
if(!defined('IN_CARD')) {
exit('Access Denied');
}

//检查卡片是否能被使用
checkcard($discuz_uid,$card['identifier'],'-1','','',$groupid,'',$mycardlist);

..........程序代码.......

//返回信息
$resultarray=array(
'success' => true,//是否使用成功,适用成功则减卡片,否则不减
'message' => 'card_tool_LuckSuccess',//showmessage的信息
'referer' => 'plugin.php?identifier=card&module=card&action=mycard'//showmessage的跳转
);
checkcard函数保证了只有用户满足使用条件才可以使用该卡片,其定义为
  1. function checkcard($uid,$identifier,$num="",$price="",$extcredits = "",$groupid="",$fid="",$mycardlist="")
复制代码
其中$num,$price,$extcredits,$groupid,$fid,$mycardlist都是选参
$num参数,如果提供则会判断用户的卡片是否满足$num的要求。如果增加卡片用正值,减少卡片用负值
$price参数,如果提供则会判断用户的积分是否满足使用要求,同样增加为正,减少为负
$extcredits参数,如果提供$price参数,则必须提供$extcredits参数,提供用户当前的积分
$groupid参数,提供了怎会判断用户的用户组是否在卡片允许使用的用户组中
$fid参数,作用同$groupid参数,判断论坛版面
$mycardlist参数,提供用户当前拥有的道具信息。如果不加这个参数,函数会自动查询用户的卡片信息。卡片中心为卡片主程序提供了$mycardlist数组

主程序可用的变量和数组
$_CARD     储存所有卡片的信息,其中卡片库存数量信息并不准确,如果要使用请直接查询数据库
$card         当前使用卡片的信息
$mycardlist 当前用户拥有的所有卡片
$userextcredits 当前用户的扩展积分数值

剩下的大家就自己发挥吧呵呵



上我那个卡片的预览


[ 本帖最后由 PerfectWorks 于 2006-7-24 13:44 编辑 ]

[ 本帖最后由 PerfectWorks 于 2006-7-24 14:09 编辑 ]
回复

使用道具 举报

fishleong 发表于 2006-7-24 13:46:52 | 显示全部楼层
不容易啊 抢到了 板凳
回复

使用道具 举报

魔焰男孩 发表于 2006-7-24 13:49:08 | 显示全部楼层
回复

使用道具 举报

魔焰男孩 发表于 2006-7-24 13:49:53 | 显示全部楼层
文文, 我把你的QQ也顺便贴出来了阿
回复

使用道具 举报

猪宝贝2004 发表于 2006-7-24 13:54:48 | 显示全部楼层
前排占位~!
回复

使用道具 举报

amoshuang 发表于 2006-7-24 14:03:22 | 显示全部楼层
zhan
回复

使用道具 举报

phxsuns 发表于 2006-7-24 14:26:03 | 显示全部楼层
。。。看不懂。。。
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2006-7-24 15:42:17 | 显示全部楼层
顶顶……
回复

使用道具 举报

jukey 发表于 2006-7-24 15:44:10 | 显示全部楼层
终于上前 10了!~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 04:08 , Processed in 0.030508 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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