search 登录 注册
arrow_back返回列表
ID:43770
light_modedark_modestarstarstar
Lv.7 可吟七步诗
edit_note帖子 260
stars积分 1,446,986
event加入 2011-05-22
美化修改 精华

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

schedule发表于 2011-09-03 20:15:00 visibility查看 1,817 chat_bubble回复 24
#1 楼主
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)

ID:96197
light_mode
Lv.1 韶华一笑间
2012-03-10 12:35:00 #22
这帖不错,该顶!
ID:93932
dark_modedark_modedark_modestarstarstar
Lv.1 韶华一笑间
2012-03-10 22:23:00 #23
这帖不错,该顶!
ID:87230
light_mode
Lv.1 韶华一笑间
2012-03-16 22:00:00 #24
你牛,我顶!
登录 后才能回复