[教程]mrp软件收费代码全公开

2011/9/3 20:15:00  人气 1820    修改美化论坛  
1、 收费模块的初始化,并根据手机语言设置游戏显示的语言。海外版游戏的收费模拟初始化,调用的是mrc_init(C)hargeOverSea函数。设置游戏的显示语言调用的是SGL_SetCurrentLanguage函数。示例代码:int32 InitGamePayment(void) { int32 ret= 0; (c)har buf[10] = {0}; //收费模块初始化 memset(&gPayInfo, 0, sizeof(PAY_CTR_INFO_T)); ret = mrc_init(C)hargeOverSea(&gPayInfo); //语言初始化 SGL_I18nInitialize(); mrc_memset(&g_GameCtrl, 0, sizeof(g_GameCtrl)); //检查应用正文信息是否存在,若不存在则默认使用英文。 SGL_SetCurrentLanguage(gPayInfo.AppLanguageID); mrc_memset(buf,0,sizeof(buf)); (u)nicode2asc(((c)har)SGL_LoadString(STR_LAN_VALID),buf, 10); if(1!=atoi(buf)) { gPayInfo.AppLanguageID=1001;}g_GameCtrl.LanguageID = gPayInfo.AppLanguageID; g_GameCtrl.MCC = gPayInfo.MCC; //设置游戏显示的语言 SGL_SetCurrentLanguage(gPayInfo.AppLanguageID); return ret; }上面的示例主要的作是,进行收费模块的初始化,并根据收费模块返回的手机语言,决定手机的显示语言。如果游戏不包含这种语言的话,则默认显示英语。 示例中是定义了一个结构体变量g_GameCtrl来保存游戏收费的相关信息。结构体的原型是:typedef struct { int32 MCC; //用户SIM卡的MCC int32 CountryNum; //该种语言中的国家和地区数量,免费也算一个国家地区。 int

. 如果能够多一点点微笑,生命也会多一点点美好,何必活得那么冷酷寂寥,入夜总为小事而睡不着。

发表回复

   


  通知楼主

24楼



.03-16 22:00
你牛,我顶!

回复只看TA

23楼

迷雾*终散.03-10 22:23
这帖不错,该顶!

回复只看TA

22楼

享受这、寂寞.03-10 12:35
这帖不错,该顶!

回复只看TA

21楼

想像之中.01-06 10:38
想像中很不同

回复只看TA

20楼

伤心→永孤寂→.←.12-04 11:48
什么意思

回复只看TA