Discuz! 道具系统道具开发文档
Discuz!论坛功能

Discuz!论坛后台功能详解登录论坛后使用管理员账号,进入系统设置就可以进入论坛的后台管理了,内部构成如下,具体的功能下面做详细解释。
以下分开介绍相关功能1、Discuz! 后台—全局站点信息:是论坛常用功能和全局配置的总开关。
通常论坛安装完毕,首先需要对站点信息进行配置,比如网站名称的修改、添加备案信息和统计代码等。
注册与访问:灵活自由的注册机制和访问限制。
比如设置注册方式是普通注册还是邀请注册,新用户注册是否需要审核或者Email 验证等。
邀请注册:是自Discuz! 6.0 版本开始增加的功能,满足了那些不允许随便注册的站长的需求,会员只有获得邀请码才可以注册。
优化设置:针对于本论坛设置有效的SEO 参数,真正的做到精准优化。
Discuz! URL 静态化功能(Rewrite 伪静态)通过进行URL 静态化转换从而使论坛内容更容易被搜索引擎挖掘,提高被收录的机率。
论坛功能:针对对论坛的一些常见功能进行合理化的配置,从而提供给用户所需功能。
包括统计相关、管理相关和主题标签(TAG)等其他设置。
用户权限:基于全站用户的基本权限的控制。
在这里可以针对全站用户做一些基本设置,比如是否允许查看会员列表、帖子最大和最小字数限制、收藏夹、订阅列表容量等。
积分设置:Discuz! 内置多种积分策略,提供多种灵活的设置机制方便站长制定出适合积分计算公式,并且有积分交易的多维设置。
邮件设置:通过论坛来向会员发送电子邮件。
安全验证:为防止SPAM 骚扰,可设置安全级别、强大的验证码和验证问答机制以抵御垃圾信息的传播。
时间设置:为了满足不同用户的需求,允许自定义时间格式等。
以时间为条件的权限控制策略,以便站长管理论坛更轻松便捷。
附件设置:对论坛的附件进行存放管理,水印管理,防盗链设置,同时提供了远程附件的功能,为站点的附件提供更加合理的存放和显示方案。
论坛动态设置:Discuz! 7.1 增加了论坛动态实时浏览功能,用户除了浏览原来的版块列表界面外还可以切换到“论坛动态”里面查看论坛实时动态,此功能类似于SNS 的动态查看功能,可以集中查看到所有好友的动态信息,而无需进入好友个人主页查看。
DISCUZX系列二次开发帮助文档

目录+文件篇:| -- admin.php 管理员入口| -- api.php 接口文件| -- category.php 分类入口| -- cp.php 个人资料设置入口| -- crossdomain.xml FLASH跨域传输文件| -- favicon.ico 系统icon图标| -- forum.php 广场入口| -- group.php 群组入口| -- home.php 空间入口| -- index.php 首页入口| -- ivite.php 邀请处理文件| -- member.php 用户处理文件| -- misc.php 杂项处理文件| -- plugin.php 插件处理文件| -- portal.php 站点首页入口同 index.php| -- robots.txt 搜索引擎蜘蛛限制配置文件| -- search.php 搜索入口文件| -- userapp.php 用户应用、游戏、漫游入口文件| -- static 系统用到的图片包| -- template 系统总模板目录| -- uc_client ucenter客户端程序| -- uc_server FULL版本中ucenter服务端| -- api 接口文件夹| -- api -- db| -- api -- db -- dbbak.php 接口调用中用到的数据库备份文件,内涵数据库类| -- api -- javascript -- advertisemen.php 广告调用接口| -- api -- javascript -- javascript.php js调用接口| -- api -- manyou 漫游平台调用接口文件夹| -- api -- manyou -- class 漫游接口中需要用到的类的文件夹| -- api -- manyou -- Manyou.php 漫游接口文件| -- api -- manyou -- my.php 继承与manyou.php,用来执行更新用户资料的借口文件| -- api -- mobile 移动手机设备接口文件夹,这个文件夹中包含了大量的用户手机浏览器客户端显示的模板和执行文件。
道具系统设计总纲word文档

道具系统设计总纲相关信息(Information)文档变更信息(RECORD OF CHANGES):*A –增加 M –修改 D –删除成员说明(Member Explanation)*角色 - 在小组担当的职责;成员 - 小组成员名单;分工 - 具体负责的哪些工作目录(Directory)1概要2设计思路3道具系统相关名词解释4道具界面说明4.1包裹栏界面4.2仓库界面4.3道具说明界面4.4交易界面5道具种类相关说明5.1总表5.2武器5.3防具5.4饰品5.5道具5.5.1药剂类5.5.2消耗类魔法道具5.5.3原料类5.5.4其他辅助道具5.6展望6道具交易系统说明6.1NPC交易界面及说明6.1.1界面6.1.2道具买卖6.2玩家之间交易说明及界面说明6.2.1界面6.2.2道具买卖6.2.3摆摊6.3赌博系统6.4展望7装备改造升级系统的相关设定说明7.1改造7.1.1普通改造7.1.2镶嵌7.1.2.1魔石镶嵌7.1.2.2灵魂石镶嵌7.2升级7.2.1开魔7.2.2圣/魔化7.2.3强化7.3展望7.4相关内容结构图8道具相关生活技能说明8.1生活技巧说明8.2冶炼类8.2.1装备打孔8.2.1.1打孔数量以及孔之间的连接8.2.2采矿8.2.3冶炼8.2.4模具制作8.2.5装备制作8.2.5.1武器制作8.2.5.2防具制作8.2.5.3饰品制作8.2.5.4礼物及交流类物品制作8.3魔法物品制作类8.3.1药草采集8.3.2原料加工8.3.3药剂合成8.3.4圣灵药制作8.3.5辅助类魔法道具制作8.3.6宝石提纯8.4其他类8.4.1鉴定8.4.2尸体收集8.4.3皮革制作8.5展望8.6相关内容结构图9额外的策划构想10附录附录1:道具系统界面说明文档附录2:道具系统相关内容结构图1.概要(Function Outline)楷体代表修改的内容;灰色字体代表暂时不实现,以后在升级版本中逐步实现。
Discuz开发教程

插件制作的基本思路是:(初学者适用)1.形成插件思路2.制作插件界面3.构架程序模块4.搭建存储数据5.填充功能语句6.检查应用错误7.完善插件功能前言:为方便互联网数万Discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。
本贴内容由本人定期更新。
本贴只介绍Discuz!中部分技术点,本贴紧属个人观点,不足之处,请各位多多指教,在下先此谢过!。
“Discuz!”在下文中简称“DZ”。
要弄DZ二次开发,必须至少具备如下技能:1)能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)2)扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳4)熟悉使用Discuz!的各项功能一) Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块b) Api:DZ系统与其它系统之间接口程序c) Archiver:DZ中,用以搜索引擎优化的无图版d) Attachments:DZ中 ,用户上传附件的存放目录e) Customavatars:DZ中,用户自定义头像的目录f) Forumdata:DZ缓存数据的存放目录g) Images:DZ模板中的图片存放目录h) Include:DZ常用函数库,基本功能模块目录i) Ipdata:DZ统计IP来路用的数据j) Plugins:DZ插件信息的存放目录k) Templates:DZ模板文件的存放目录l) Wap:DZ无线,Wap程序处理目录二)必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。
关于DZ数据库设计文档,请参阅DZ相关的项目文档(请从本贴附件中下载)三) Discuz!的流程控制a) 后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 || admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:首页:index.php会员注册:register.php;会员登录:logging.php发贴程序:post.php会员信息:member.php论坛内容:forumdisplay.php查看贴子:viewthread.php…大部分功能,此处不一一列出…c) DZ根目下的config.inc.php属于整个DZ系统的配置文件四) Discuz!的数据处理过程a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理五) Discuz!的显示控制(网站多样式风格输出)a) 显示层就是大家通常所看到的网站风格了。
DiscuzX插件机制开发文档及实例201311整理(官方资料)

Discuz! 的插件机制准备工作| 插件接口| 参数读取| 页面嵌入| 插件嵌入点列表| 特殊主题|第三方拓展类| 其它模块| 安装卸载升级| 模板和语言包| 注意事项| 插件开发实例准备工作插件实现流程开始编写社区插件,您应当首先对插件实现的流程有一个大致的了解,以下是我们推荐的插件编写流程:∙熟练使用 Discuz! 社区系统后,对希望完善或补充的个性化功能进行评估,进而提出插件的功能需求。
∙对插件做一个概括性的设计,例如:需要使用什么菜单、什么参数,配置哪些选项、数据结构如何设计、前后台实现哪些功能等等。
∙阅读本文档并在系统设置中实际体验 Discuz! 插件接口所实现的功用,例如:您的插件应当如何设计才能良好的挂接到社区系统中来。
插件接口能够实现哪些功能、不能实现哪些功能,插件为此而需要做的优化、改造和取舍。
∙编写相应程序代码和模板语句,实现所需的功能并进行代码测试、兼容性测试和代码改进。
∙如果需要公开您的插件,可以用插件导出的方式,将插件配置信息导出到一个 XML 文件中,连同相应的程序和模板文件一同打包。
同时,编写一个适合新手的插件的说明书也是必不可少的,其中包括:插件适用的 Discuz!版本、功能概述、兼容性声明、安装方法、使用方法、卸载方法等等。
∙将插件提供给他人,或自己使用,根据使用者反馈,对插件进行完善。
插件实现流程至此结束。
文件命名规范Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范:∙可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名。
∙被普通程序文件引用的程序文件,以 .inc.php 后缀命名。
∙被普通程序文件,或引用程序文件引用的函数库或类库,以 .func.php(函数库) 或 .class.php(类库) 后缀命名。
∙模板文件,以 .htm 后缀命名,插件模板文件存在于 source/plugin/identifier/template/ 目录中,手机版插件模板存在于 source/plugin/identifier/template/mobile/目录中∙模板语言包文件,以 .lang.php 后缀命名,插件语言包文件开发时存放于 data/plugindata/ 目录中,文件名为ng.php。
BBS论坛总设计文档

BBS论坛总设计文档一、项目概述BBS(Bulletin Board System)是一种提供电子交流平台的论坛系统,在互联网发展初期就已经存在,并得到广泛应用。
本项目旨在设计开发一款功能强大、用户友好的BBS论坛系统,提供给用户一个交流学习、分享资源的平台。
二、系统需求1.用户管理a.用户注册:用户可以通过用户名和密码进行注册账号。
b.用户登录:用户可以使用已注册的账号进行登录。
c.用户权限管理:根据用户的权限不同,可以进行不同的操作,如发表帖子、回复帖子等。
d.用户信息管理:用户可以修改个人资料、修改密码等。
2.论坛帖子管理a.发表帖子:用户可以发表帖子,发布内容可以包括文本、图片等。
c.删除帖子:用户可以删除自己发表的帖子。
d.浏览帖子:用户可以通过浏览帖子来获取相关信息,并可以对帖子进行评论、点赞等操作。
3.论坛版块管理a.创建版块:管理员可以创建新的版块,每个版块可以设定权限,指定可发帖的用户。
b.删除版块:管理员可以删除不需要的版块。
c.修改版块:管理员可以修改版块的名称、权限等设置。
4.论坛回复管理a.回复帖子:用户可以对帖子进行回复。
c.删除回复:用户可以删除自己发表的回复。
5.功能a.根据关键词:用户可以根据关键词相关帖子。
6.其他功能a.热门帖子排行榜:根据帖子的浏览量和回复数进行排名展示。
b.积分系统:用户可以通过发帖、回复等行为获得积分,积分可以用于升级或者兑换虚拟物品。
c.通知系统:用户可以收到有关帖子回复、系统通知等的消息通知。
三、系统设计1.前端设计a.用户界面设计:采用简洁明了的设计风格,保证用户操作的简单性和友好性。
b.页面布局设计:采用响应式布局,适配不同终端设备的屏幕。
c.多语言支持:支持多国语言,用户可自由选择使用的语言。
d.主题模板:提供多种主题模板供用户选择,以满足不同用户的审美需求。
2.后端设计a. 架构设计:采用MVC(Model-View-Controller)架构设计,保证系统的稳定性和可扩展性。
Discuz开发教程

插件制作的基本思路是:(初学者适用)1.形成插件思路2.制作插件界面3.构架程序模块4.搭建存储数据5.填充功能语句6.检查应用错误7.完善插件功能前言:为方便互联网数万Discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。
本贴内容由本人定期更新。
本贴只介绍Discuz!中部分技术点,本贴紧属个人观点,不足之处,请各位多多指教,在下先此谢过!。
“Discuz!”在下文中简称“DZ”。
要弄DZ二次开发,必须至少具备如下技能:1)能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)2)扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳4)熟悉使用Discuz!的各项功能一) Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块b) Api:DZ系统与其它系统之间接口程序c) Archiver:DZ中,用以搜索引擎优化的无图版d) Attachments:DZ中 ,用户上传附件的存放目录e) Customavatars:DZ中,用户自定义头像的目录f) Forumdata:DZ缓存数据的存放目录g) Images:DZ模板中的图片存放目录h) Include:DZ常用函数库,基本功能模块目录i) Ipdata:DZ统计IP来路用的数据j) Plugins:DZ插件信息的存放目录k) Templates:DZ模板文件的存放目录l) Wap:DZ无线,Wap程序处理目录二)必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。
关于DZ数据库设计文档,请参阅DZ相关的项目文档(请从本贴附件中下载)三) Discuz!的流程控制a) 后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 || admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:首页:index.php会员注册:register.php;会员登录:logging.php发贴程序:post.php会员信息:member.php论坛内容:forumdisplay.php查看贴子:viewthread.php…大部分功能,此处不一一列出…c) DZ根目下的config.inc.php属于整个DZ系统的配置文件四) Discuz!的数据处理过程a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理五) Discuz!的显示控制(网站多样式风格输出)a) 显示层就是大家通常所看到的网站风格了。
Discuz二次开发手册

Discuz文件说明,有助于discuz爱好者,进行自己的开发,在这里提供方便admincp.php——后台系统设置主程序文件,一般只处理菜单的显示的访问权限,不处理管理控制。
ajax.php——论坛模板的ajax 判断及数据返回都在这里进行attachment.php——附件文件,仅仅处理附件下载的功能。
announcement.php——论坛公告的显示,一般很少改config.inc.php——配置论坛数据库、密码等信息,这个大家最熟悉了discuz_version.php——论坛版本信息,用来更新用的,没有官方说明绝对不要修改eccredit.php——论坛商品功能以及信用度查看的处理文件faq.php——论坛自带的帮助favicon.ico——显示在IE 标题栏的的图标forumdisplay.php——很简单,论坛主题列表的显示index.php——控制首页元素显示invite.php——论坛邀请注册程序文件leftmenu.php——首页侧栏文件logging.php——登陆系统,判断用户名、密码。
magic.php——论坛道具程序文件,处理道具购买、赠送等操作medal.php——论坛勋章中心程序文件,处理勋章发送等功能member.php——控制会员列表显示,积分策略等等信息显示memcp.php——会员个人中心显示misc.php——控制评分功能、论坛界面显示功能等等modcp.php——这个是论坛前台的版主操作的迷你后台程序my.php——查看一切和自己在这个论坛的行为,例如“我的帖子”,“用户组权限”等等plugin.php——论坛插件,这个主要控制论坛插件的菜单的显示,一般极少修改pm.php——论坛短信息程序,控制短信息发表与浏览post.php——与viewthread.php 相似,但是更多是管理帖子发表、编辑等等信息,也会有权限的控制提示redirect.php——控制显示论坛的最后发表的主题访问,也控制主题的转向功能register.php——注册文件,同时也会控制注册的信息的合法性relatekw.php——论坛相关标签生成relatethread.php——论坛相关主题robots.txt——设置里面的地址可以阻止搜索机器人访问对应的页面rss.php——RSS 快速订阅,不用多说了吧?search.php——处理论坛搜索功能中的信息筛选seccode.php——论坛注册,生成验证码的程序sitemap.php——论坛SiteMAP 功能程序space.php——个人资料查看的程序stats.php——处理“统计”中的统计信息,也允许查看论坛对应的统计数据----------------------- Page 2-----------------------tag.php——论坛标签整理页task.php——论坛任务程序,任务主程序触发,判断均在此进行topic.php——一般无法直接访问,控制页面显示,显示主题条数topicadmin.php——控制的是管理人员的前台管理操作,如精华、置顶、高亮等等trade.php——处理论坛的交易主题video.php——处理论坛的视频主题,包括显示和调用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Discuz!道具系统采用独立的php文件的道具结构,每个道具拥有一个单独的php文件,做为这个道具运行文件,用户可以自行编写道具文件制作属于自己论坛的道具。
下面具体介绍一下相关机制和开发方法
1、道具的组成
每个道具由两部分组成,php文件和图片文件。
php文件存放在论坛include/magic目录下,命名规范为magic_inc_道具名称.php文件。
图片文件存放在images/magics目录下,命名规范为道具唯一标识(小写).gif
注:其中道具名称由任意英文字母组成,道具唯一标识是在添加的时候确定的,此标识唯一,最长为3个大写英文字母
道具图片不用多说就是gif文件,下面我具体说说php文件编写规范
2、道具php文件编写详解
我们以一个道具php文件(magic_inc_close.php)为例
1.<?php
2.
3.// 这段代码的作用防止文件直接调用,每个道具文件都必须在开头加入
4.if(!defined('IN_DISCUZ')) {
5.exit('Access Denied');
6.}
7.
8.// 用户点击使用后,执行的代码
9.if(submitcheck('usesubmit')) {
10.
11.// 验证资料是否填写完全,这里验证$tid(帖子id)是否填写
12.if(empty($tid)) {
13. showmessage('magics_info_nonexistence');
14.}
15.
16.// 取得帖子的相关资料
17.$thread = getpostinfo($tid, 'tid', array('fid'));
18.// 验证帖子所在的版块是否有使用道具的权限
19.checkmagicperm($magicperm['forum'], $thread['fid']);
20.
21.// 道具的执行代码
22.$db->query("UPDATE {$tablepre}threads SET closed='1', moderated='1' WHERE tid='$tid'");
23.$expiration = $times*****p + 86400;
24.
25.// 使用道具代码
emagic($magicid, $magic['num']);
27.// 记录道具使用日志
28.updatemagiclog($magicid, '2', '1', '0', $tid);
29.// 记录道具使用对象(这里指主题)日志
30.updatemagicthreadlog($tid, $magicid, $magic['identifier'], $expiration);
31.// 显示道具使用信息
32.showmessage('magics_operation_succeed', 'magic.php?action=user');
33.
34.}
35.
36.// 生成道具界面显示代码
37.function showmagic() {
38.global $tid, $lang;
39.magicshowtype($lang['option'], 'top');
40.magicshowsetting($lang['target_tid'], 'tid', $tid, 'text');
41.magicshowtype('', 'bottom');
42.}
43.
44.?>
以上就是一个简单道具的编写格式,其中红色注释部分是一个道具必须有的,当然里面的一些代码可以根据道具类型的不同做一些改动,比如取得帖子资料的语句,如果是对用户的操作,可以改为取用户资料。
相关这些操作我们已经内置了一些自定义函数,通过这些自定义函数你就可以轻松调用你想调用的资料了,下面我们就来说说这些自定义函数。
3、道具系统自带函数
所有的自定函数都在include/magic.func.php文件里面,下面我对这些函数一一做解释
// 道具权限验证函数
$perms有权限的groupid或者fid的序列,中间用\t隔开
$id要验证fid或者groupid
checkmagicperm($perms, $id)
// 获得道具函数
$magicid道具id,
$magicnum道具获得数量
$weight 道具重量
$totalweight 用户拥有道具总重量
$uid 获得道具用户的uid
$maxmagicsweight 该用户所拥有的道具最大重量
getmagic($magicid, $magicnum, $weight, $totalweight, $uid, $maxmagicsweight)
// 查询用户拥有道具最大重量函数
$uid 查询用户uid
$magicarray 道具数据数组
getmagicweight($uid, $magicarray)
// 查询帖子信息函数
$id 帖子或者主题的pid或者tid
$type 查询的类型 tid代表主题 pid代表帖子
$colsarray 要查询的字段数据类型数组
getpostinfo($id, $type, $colsarray = '')
// 查询用户信息函数
$username 查询用户名
$colsarray 要查询的字段数据类型数组
getuserinfo($username, $colsarray = '')
// 赠送道具函数
$username 要赠送对象的用户名
$magicid 赠送道具道具id
$magicnum 赠送道具的单个数量
$totalnum 赠送道具的总数量
$totalprice 赠送道具的总价格
givemagic($username, $magicid, $magicnum, $totalnum, $totalprice)
// 道具随机函数
$odds 成功的几率,例如10成功的几率就是10%
magicrand($odds)
// 道具市场道具操作函数
$magicid 道具id
$marketnum 道具市场道具数量
$magicnum 道具数量
marketmagicnum($magicid, $marketnum, $magicnum)
// 道具操作验证函数(用户验证道具使用对象是否被版主操作过)
$tid 帖子id
magicthreadmod($tid)
// 道具界面生成函数
magicshowsetting($setname, $varname, $value, $type = 'radio', $width = '20%') magicshowtips($tips, $title)
magicshowtype($name, $type = '')
// 道具使用函数
$magicid 道具id
$totalnum 被使用道具的用户拥有总数量
$num 使用数量
usemagic($magicid, $totalnum, $num = 1)
// 道具使用对象日志(主要用于使用对象主题时)
$tid 主题tid
$magicid 道具id
$action 动作标识
$expiration 道具有效期
$extra 是否记录用户名 1为不记录,0为记录
updatemagicthreadlog($tid, $magicid, $action, $expiration, $extra = 0)
// 道具使用日志
$magicid 道具id
$action 动作标识 1为购买 2为使用 3为赠送 4为道具市场出售 5为道具市场购买$amount 道具操作数量
$price道具操作价格
$targettid 道具使用对象tid
$targetpid 道具使用对象pid
$targetuid 道具使用对象uid
updatemagiclog($magicid, $action, $amount, $price, $targettid = 0, $targetpid = 0, $targetuid = 0)。