公会功能:玩家可以加入多个公会,同一个公会的玩家可以一起打牌,消耗公会的钻石,公会开的房间必须全都是本公会成员才能加入,非该公会成员无法加入。
相关js文件:guild.js,Result.js,app.js
公会资源文件(.js、.csd、.png):公会资源
-
添加app中的公会相关事件处理
2.1 jsclient.netCallBack中添加updateGuildInfo事件,玩家在线时提示加入离开公会。
2.2 添加jsclient.joinGuildGame公会里点击开始游戏的事件。
2.3 修改旧的jsclient.joinGame输入房间号加入房间的对公会的处理。注意这里有的项目之前传参数没有带当前的gameid的话现在需要带上。
3.申请加入公会
3.1 裸公会(一个公会也不存在),点击右上角"牌友群"直接弹出加入牌友群界面。详见guildJoin.js
3.2 已有公会,再加入其它公会。点击图中"申请加入"按钮即可弹出3.1中图所示界面。 其中3.1和3.2有个提示语的区别,注意下,如图所示!
4.会长修改公会房间玩法。
4.1 只有会长才能修改玩法。非会长"修改"按钮不可见!详见:guild.js 点击"修改"按钮后弹出如下图界面。详见guildCreate.js。
5.修改打牌界面、结算界面和回放界面,假如是公会房间,显示出公会id。jsclient.data.sData.tData.guildid为公会id数据。
6.服务器逻辑修改。详见:GameCode.js
6.1 GameCode.js添加判断是否公会房间的方法。
//判断是否公会房间
Table.prototype.isGuildTable = function () {
return !!this.createPara.guildid;
};
6.2 初始化房间玩家数据的时候,存储下公会id。
Table.prototype.initAddPlayer = function(pl,msg)
{
//其他代码
...
// 公会不存在房主
if(tData.owner == -1&&!this.isGuildTable())
{
tData.owner = pl.uid;
}
...
}
6.4 扣钻修改,在endVipTable中加上扣钻的参数(原来的一局打完扣钻不用改,服务器有处理不会扣个人的钻),要特别注意这里的扣钻参数为负值。
------------------------------完美的分割线------------------------------
下面是测试流程。代理账户和代理后台请咨询各产品。