石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7460|回复: 0

[源代码] 会员证的主代码和分析

[复制链接]

1万

主题

491

回帖

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35506
石币
24669
发表于 2013-7-16 19:00:09 | 显示全部楼层 |阅读模式

今天讲解下会员证道具的代码和原理,高手可以路过。

以longzoro的源码为例,打开item_event.c找到#ifdef _VIP_RIDE

代码如下:

void ITEM_VipRide( int charaindex, int toindex, int haveitemindex)
{
                if(CHAR_getInt( charaindex , CHAR_VIPRIDE)!=1
                                        || CHAR_getInt( charaindex , CHAR_LOWRIDEPETS)&RIDE_PET14!=RIDE_PET14){                        int LRCode = CHAR_getInt( charaindex, CHAR_LOWRIDEPETS);
                        LRCode = LRCode|RIDE_PET14;
                        CHAR_setInt( charaindex, CHAR_LOWRIDEPETS, LRCode);
                        CHAR_sendStatusString( charaindex, "x");
                        CHAR_setInt( charaindex , CHAR_VIPRIDE, 1);
                        CHAR_talkToCli( charaindex, -1, "恭喜你,你已成为正式会员了!", CHAR_COLORYELLOW );               
                        CHAR_DelItem( charaindex, haveitemindex);
                }else
                        CHAR_talkToCli( charaindex, -1, "你已是会员了,没必要再使用!", CHAR_COLORRED );
}


1、看void ITEM_VipRide( int charaindex, int toindex, int haveitemindex)
这里是对会员证道具做了声明,对应的头文件是item_event.h

2、蓝色部分的意思就是当这个没有会员标记的时候,或者不可能骑乘ID为14的骑宠的时候就可以吃会员证了。CHAR_VIPRIDE
则是在CHAR_BASE里声明的一个函数,用来表示是否为会员标记的判断,这里0为非会员,1为会员

3、红色部分就是针对吃证后是否可以骑乘14号骑宠加的骑乘码。

4、CHAR_setInt( charaindex, CHAR_LOWRIDEPETS, LRCode); //就表示设置给吃证的人物增加骑乘码实现可以骑乘14号骑宠的
效果

5、CHAR_sendStatusString( charaindex, "x"); //表示更新人物的骑乘码

6、CHAR_setInt( charaindex , CHAR_VIPRIDE, 1); //表示给人物设置会员判断标识   上面已经说到了0为非会员,1为会员

7、CHAR_talkToCli( charaindex, -1, "恭喜你,你已成为正式会员了!", CHAR_COLORYELLOW );     //吃完证后系统的提示

8、CHAR_DelItem( charaindex, haveitemindex); //吃完证后删除证,如果没有这句话,证使用后不会消失

9、CHAR_talkToCli( charaindex, -1, "你已是会员了,没必要再使用!", CHAR_COLORRED );  //这句很明白了,是会员了就提示无需吃证
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|石器时代LA官方

GMT+8, 2024-5-2 04:23 , Processed in 0.112075 second(s), 24 queries .

Copyright © 2001-2023, Tencent Cloud.

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