游戏任务
游戏任务要重新做了..
任务流程:
用户申请完任务,去游戏里完成任务,当用户在牌友会里打开申请中的任务(/jobcenter.php?action=applied),牌友会到游戏里验证是否完成任务进行相关操作
开发过程:
一.在lib/job/job/config.job.php里面添加如下数据
1.var $_chess = "chess";
2.函数getJobType中添加$data[$this->_chess] = $this->chess();
3.函数jobs中添加$this->_chess => "棋牌游戏类",
4.condition函数中添加
case 'doPlayErbagang':
return $this->finish_doPlayErbagang($factor);
break;
5.添加函数
function finish_doPlayErbagang($factor){
return '在PK28游戏中完成'.$factor['num'].'局二八杠游戏即可';
}
/*
* tl棋牌游戏类
*/
function chess($k = null){
$data = array(
'doPlayErbagang' =>'二八杠',
//'doPlaySuoha' =>'梭哈',
//'doPlayDoudizhu' =>'斗地主',
);
return $k ? $data[$k] : $data;
}
二.在u/require/jobcenter/jobcenter.php中添加如下代码
//tl处理游戏中的任务
foreach($joblists as $k => $v){
$factors=unserialize($v['factor']);
if(isset($factors['type'])&&$factors['type']=='pk28'&&$v['status']=='1'){
//$result=file_get_contents("http://");//获得任务数据
$result='4';
if($factors['num']<=$result){
$db->update("UPDATE `pw_jober` SET `status`='2' WHERE (`jobid`='{$v[id]}')");
}
}
}
//td处理游戏中的任务
三.在lib/job/job/中添加文件doPlayErbagang.job.php
四.在模板文件template/admin/jobhander.htm中添加代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!-- 二八杠tl --> <div class="admin_table"> <table width="100%" id="job_doPlayErbagang" style="display:none;" class="mb10"> <tr class="tr1 vt"> <td class="td1">二八杠任务</td> <td class="td2"> 在二八杠游戏中完成指定的游戏局数 </td> <td class="td2"><div class="help_a"></div></td> </tr> <tr class="tr1 vt"> <td class="td1">设定完成局数</td> <td class="td2"><input name="factor[doPlayErbagang][num]" type="text" class="input input_wa" value="$doPlayErbagang[num]"/><input name="factor[doPlayErbagang][type]" type="text" class="input input_wa" value="pk28" style="display:none;"/> </td> <td class="td2"><div class="help_a">任务申请成功以后,会员完成指定局数的游戏即可获得奖励。必须填写</div></td> </tr> </table> </div> |
相关数据表信息:
pw_jober任务申请表
status 任务状态(是否完成)
0 未进行
1 进行中
2 已完成
3 已领取奖励
4 放弃任务
current 任务状态
1 未完成
2 已完成
在phpwind中增加自定义类型任务
棋牌任务计划打算在牌友会(phpwind)上实施,在phpwind原有的任务系统基础上进行二次开发。在这里我记录一下如何增加自定义任务。
相关文件:\lib\job\job\config.job.php \template\admin\jobhander.htm
首先,在config.job.php里面的JOB_Config类增加变量var $_chess = "chess";在getJobType函数里面添加$data[$this->_chess] = $this->chess();jobs函数里面添加$this->_chess => "棋牌游戏类",
接着,在上面的JOB_Config类里面添加函数:
1 2 3 4 5 6 7 8 9 10 11 | /* * 棋牌游戏类 */ function chess($k = null){ $data = array( 'tl_zhajinhua' =>'炸金花', 'tl_erbagang' =>'二八杠', 'tl_doudizhu' =>'斗地主', ); return $k ? $data[$k] : $data; } |
function finish_tl_zhajinhua($factor){
return '进入pk28游戏玩炸金花12局完成任务'.$this->getLimitTime($factor);
}
function finish_tl_erbagang($factor){
return '进入pk28游戏玩二八杠12局完成任务'.$this->getLimitTime($factor);
}
function finish_tl_doudizhu($factor){
return '进入pk28游戏玩斗地主12局完成任务'.$this->getLimitTime($factor);
}
然后,在函数condition里面添加
1 2 3 4 5 6 7 8 9 | case 'tl_zhajinhua': return $this->finish_tl_zhajinhua($factor); break; case 'tl_erbagang': return $this->finish_tl_erbagang($factor); break; case 'tl_doudizhu': return $this->finish_tl_doudizhu($factor); break; |
最后,在模板文件jobhander.htm里面约815行的位置添加一下代码即可,如此自定义任务就增加完了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <!-- 炸金花奖励--> <div> <table width="100%" id="job_tl_zhajinhua" style="display:none;"> <tr> <td>完成成果</td> <td> 进入pk28游戏玩炸金花12局完成任务 </td> <td><div></div></td> </tr> </table> </div> <!-- 二八杠奖励--> <div> <table width="100%" id="job_tl_erbagang" style="display:none;"> <tr> <td>完成成果</td> <td> 进入pk28游戏玩二八杠12局完成任务 </td> <td><div></div></td> </tr> </table> </div> <!-- 斗地主奖励--> <div> <table width="100%" id="job_tl_doudizhu" style="display:none;"> <tr> <td>完成成果</td> <td> 进入pk28游戏玩斗地主12局完成任务 </td> <td><div></div></td> </tr> </table> </div> |