分享下天龙八部元宝兑换代码,端的话大家自行网上找,看代码:
--领CD-KEY、查询点数、购买元宝

x888899_g_scriptId = PRIZE_SCRIPT_ID

x888899_g_prizeGems = {
50101001,
50101002,
50102001,
50102002,
50102003,
50102004,
50103001,
50104002,
50111001,
50111002,
50112001,
50112002,
50112003,
50112004,
50113001,
50113002,
50113003,
50113004,
50113005,
50114001
};


-- 检查 CDKey


function x888899_AskCDKey( sceneId, selfId )

GetCharPrize( sceneId, selfId, 1, 980,0,0 )                    --领CD-KEY (980是CD-KEY在Billing的物品类型)

end


-- 检查 财富卡


function x888899_AskNewUserCard( sceneId, selfId, card, op)

NewUserCard( sceneId, selfId, card, op)                                    --领财富卡/体育竞猜卡 (card是卡号字符串)

end


-- 购买 元宝


function x888899_AskYuanBao( sceneId, selfId, nYuanBao, nPoint )

GetCharPrize(sceneId,selfId,3,999,nYuanBao,nPoint);    --买nYuanBao个共nPoint点的元宝

end


-- 查询 点数


function x888899_AskPoint( sceneId, selfId )

GetCharPrize(sceneId,selfId,2,0,0,0);                                --查询人物点数

end


-- 抽奖


function x888899_AskPrize( sceneId, selfId )

GetCharPrize(sceneId,selfId,6,0,0,0);                                --先查询人物奖品

end


-- 检查 CDKey 的返回回调函数
-- ntype 请参考 enum PRIZE_TYPE_ENUM


function x888899_PrizeRet( sceneId, selfId, ntype, nserial, num )
-- 另外,这里没有 targetId,不知道写 -1 会不会有问题

local targetId = -1--CD-KEY
if( 1 == ntype ) thenSetMissionFlag( sceneId, selfId, MF_GetAwardFlag, 1 )x888899_NotifyFailBox( sceneId, selfId, targetId, "    你已经成功激活你的领奖条件,你可以到我这里来领取奖励物品。" )
--财富卡
elseif( 3 == ntype ) thenSetMissionFlag( sceneId, selfId, MF_ActiveNewUserCard, 1 )x888899_NotifyFailBox( sceneId, selfId, targetId, "    恭喜!你已经成功启动财富卡,到达一定等级之后可以到大理都大爽(157,164)处领取奖励。" )
--赠点
elseif( 4 == ntype ) thenZengDian(sceneId,selfId,-1,1,nserial*num)
--物品
elseif( 5 == ntype ) thenLuaFnBeginAddItem( sceneId )LuaFnAddItem( sceneId, nserial, num)local ret = LuaFnEndAddItem( sceneId, selfId )if 1 == ret thenAddItemListToHuman(sceneId,selfId)--神笛一个玩家只能参加一次活动if( nserial == 30309052 ) thenSetMissionFlag( sceneId, selfId, MF_ActiveWenZhouCard, 1 )BroadMsgByChatPipe(sceneId, selfId, "@*;SrvMsg;DBD:恭喜您成功领取了活动奖励,请查收", 0);endx888899_NotifyFailBox( sceneId, selfId, targetId, "物品换取成功!感谢您对《天龙八部》的支持!" )end
--体育竞猜卡
elseif( 6 == ntype ) thenlocal prizeItem = x888899_GetSportsPrize()if prizeItem thenLuaFnBeginAddItem( sceneId )LuaFnAddItem( sceneId, prizeItem, 1)local ret = LuaFnEndAddItem( sceneId, selfId )if 1 == ret thenAddItemListToHuman(sceneId,selfId)SetMissionFlag( sceneId, selfId, MF_ActiveSportsCard, 1 )--x888899_NotifyFailBox( sceneId, selfId, targetId, "    恭喜您成功领取了活动奖励,请查收。" )BroadMsgByChatPipe(sceneId, selfId, "@*;SrvMsg;DBD:恭喜您成功领取了活动奖励,请查收", 0);endend
--网聚活动卡
elseif( 7 == ntype ) thenLuaFnBeginAddItem( sceneId )LuaFnAddItem( sceneId, 30505108, 1 )local ret = LuaFnEndAddItem( sceneId, selfId )if 1 == ret thenAddItemListToHuman( sceneId, selfId )SetMissionFlag( sceneId, selfId, MF_ActiveJuCard, 1 )BroadMsgByChatPipe(sceneId, selfId, "@*;SrvMsg;DBD:恭喜您成功领取了活动奖励,请查收", 0);endelseif( 8 == ntype ) then    SetMissionFlag( sceneId, selfId, MF_ActiveNewUserCard666, 1 )x888899_NotifyFailBox( sceneId, selfId, targetId, "    恭喜!你已经成功启动超级大力卡,到达一定等级之后可以到大理都大爽(157,164)处领取奖励。" )
endreturn

end


-- 抽奖成功后给玩家提示信息


function x888899_PrizeRetEnd( sceneId, selfId, retId )

if retId and retId == 15 thenx888899_NotifyFailBox( sceneId, selfId, -1, "    恭喜您成功领取了活动奖励,请查收。" )
elseif( retId == 12 ) thenx888899_NotifyFailBox( sceneId, selfId, -1, "    恭喜您成功领取了活动奖励,请查收。" )
end

end


-- 新手卡或体育抽奖卡检查


function x888899_OpenCard(sceneId,selfId,card)

if nil == card then return end
--PrintStr(card)
local targetId = -1
local firstbyte = strbyte(card)
--'k' 体育卡
if 107 == firstbyte thenif GetMissionFlag( sceneId, selfId, MF_ActiveSportsCard ) == 1 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    你已经领取过活动奖励,不能重复领取。" )returnend
--'t' 新手卡
elseif 116 == firstbyte or 115 == firstbyte thenif GetMissionFlag( sceneId, selfId, MF_ActiveNewUserCard ) == 1 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    你已经激活过财富卡,无法再次激活领取条件。" )returnend
elseif 99 == firstbyte thenif GetMissionFlag( sceneId, selfId, MF_ActiveNewUserCard666 ) == 1 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    你已经启动过超级大力卡,无法再次启动领取条件。" )returnend
endx888899_AskNewUserCard( sceneId, selfId, card, 0)

end


-- 购买 元宝 的返回回调函数
-- ntype 请参考 enum PRIZE_TYPE_ENUM
-- 1 代表 OPT_YUANBAO_ADD 增加元宝


function x888899_BuyRet( sceneId, selfId, ntype, nYuanBao, nLeftPoint )

if( 2 == ntype ) then
--开始检测点数是否为0if nYuanBao==0 thenBeginEvent(sceneId)strText = "您的点数不足,请充值后在试!"AddText(sceneId,strText)EndEvent(sceneId)DispatchMissionTips(sceneId,selfId)return
end
--结束检测点数是否为0--开始判断兑换比例后赠点总值是否大于2亿
------下面代码中数值100000是您的兑换比例,如果1:10万赠点就写10000,1:20万就写200000local zd=nYuanBao*100000
------下面代码中ZengDian是检测赠点总值,如果你是卖元宝,可修改为YuanBaolocal cxzd=YuanBao(sceneId,selfId,targetId,3)--local cxzd=ZengDian(sceneId,selfId,targetId,3)if zd+cxzd>200000000 thenBeginEvent(sceneId)strText = "兑换失败,兑换元宝的值超过系统上限2亿,请使用一部分后再兑换!"AddText(sceneId,strText)EndEvent(sceneId)DispatchMissionTips(sceneId,selfId)return
end
--结束判断兑换比例后赠点总值是否大于2亿--local mg=nYuanBao*2--local t_mg=mg--local nMenpaiPoint=GetHumanMenpaiPoint(sceneId, selfId)--mg=mg+nMenpaiPoint--SetHumanMenpaiPoint(sceneId, selfId, mg)------下面代码中ZengDian给予兑换赠点,如果您是卖元宝,更换为YuanBao的即可YuanBao(sceneId,selfId,targetId,1,zd)--ZengDian(sceneId,selfId,targetId,1,zd)BeginEvent(sceneId)strText = "您成功的兑换了"..tostring(zd).."点元宝!"AddText(sceneId,strText)EndEvent(sceneId)DispatchMissionTips(sceneId,selfId)local    nam    = LuaFnGetName( sceneId, selfId )BroadMsgByChatPipe( sceneId, selfId, "#P恭喜玩家#W["..nam.."]#P,在#G洛阳(164.99)处,#P在线充值后兑换了#Y["..zd.."]#P元宝!", 4 )local newljcz=GetMissionData( sceneId, selfId, LEIJICHONGZHI )+zdSetMissionData(sceneId, selfId, LEIJICHONGZHI, newljcz)--CallScriptFunction( 181000, "OnDefaultEvent", sceneId, selfId, targetId)
end
-- local zd=nYuanBao*100000     --获取点数 和比例的结果

-- -- 另外,这里没有 targetId,不知道写 -1 会不会有问题

-- local targetId = -1
-- if( 2 == ntype ) then-- YuanBao(sceneId,selfId,targetId,1,zd)--在线兑换元宝-- --ZengDian(sceneId,selfId,targetId,1,zd)--在线兑换元宝-- --BuyYuanBaoCount(sceneId,selfId,targetId,1,zd)-- ----------------------------------------------------- --local menpaipoint = GetHumanMenpaiPoint(sceneId, selfId) --在线兑换门牌贡献-- --SetHumanMenpaiPoint(sceneId, selfId, menpaipoint + zd)-- ---------------------------------------------------- --x888899_NotifyLeftPoint(sceneId,selfId,nLeftPoint)-- --给客户端提示信息-- local strText = ""-- BeginEvent(sceneId)-- strText = "您成功的兑换了"..tostring(zd).."点赠点。"-- AddText(sceneId,strText)-- EndEvent(sceneId)-- DispatchMissionTips(sceneId,selfId)-- str="#e660066#gFFFF00    系统查询到您已充值了 "..nYuanBao.." 元,现已为你成功转换成 "..zd.." 点赠点,感谢您的支持,祝您游戏愉快!"-- BeginEvent(sceneId) -- AddText(sceneId, str)                        -- EndEvent(sceneId)-- DispatchEventList(sceneId,selfId,targetId)-- LuaFnMsg2Player( sceneId, selfId,strText,MSG2PLAYER_PARA)-- local    nam    = LuaFnGetName( sceneId, selfId )-- BroadMsgByChatPipe( sceneId, selfId, "#e660066#gFFFF00恭喜 【"..nam.."】 ,通过在线充值领取系统领取了 【"..zd.."】 点充值的赠点,一代牛人即刻诞生!", 4 )
-- end

end


-- 查询点数 的返回回调函数


function x888899_PointRet( sceneId, selfId, nLeftPoint )

x888899_NotifyLeftPoint(sceneId,selfId,nLeftPoint)

end


-- 检查奖品 开始的回调函数


function x888899_CheckRetBegin(sceneId,selfId)

LuaFnBeginAddItem( sceneId )

end


-- 检查奖品 添加检查物品的回调函数


function x888899_CheckAddItem(sceneId,selfId,itemid,num)

LuaFnAddItem( sceneId, itemid, num)

end


-- 检查奖品 结束的回调函数


function x888899_CheckRetEnd(sceneId,selfId)

local ret = LuaFnEndAddItem( sceneId, selfId )
if 1 == ret then--检查成功,开始抽奖x888899_NotifyFailBox( sceneId, selfId, -1, "    检查成功,请稍等……正在领取奖品。" )GetCharPrize(sceneId,selfId,4,0,0,0);        --查询人物现在拥有的奖品
elsex888899_NotifyFailBox( sceneId, selfId, -1, "    对不起,您没有足够的物品栏空间,请整理后再来领取。" )
end

end


-- 卡片检查奖品 结束的回调函数


function x888899_CardCheckRetEnd(sceneId,selfId)

local ret = LuaFnEndAddItem( sceneId, selfId )
if 1 == ret then--检查成功,开始开卡x888899_NotifyFailBox( sceneId, selfId, -1, "    检查成功,请稍等……正在领取奖品。" )x888899_AskNewUserCard( sceneId, selfId, "MagicString", 1);
elsex888899_NotifyFailBox( sceneId, selfId, -1, "    对不起,您没有足够的物品栏空间,请整理后再来领取。" )
end

end


-- 卡片检查奖品 结束的回调函数,对天使礼包放出做特殊日志 By Vega 20090121


function x888899_CardCheckRetEndTSLB(sceneId,selfId)

local ret = LuaFnEndAddItem( sceneId, selfId )
if 1 == ret then--检查成功,开始开卡x888899_NotifyFailBox( sceneId, selfId, -1, "    检查成功,请稍等……正在领取奖品。" )x888899_AskNewUserCard( sceneId, selfId, "MagicString", 1);local guid = LuaFnObjId2Guid(sceneId, selfId);if guid ~= nil then--local LogInfo = format("0X%08X,", guid);ScriptGlobal_AuditGeneralLog(LUAAUDIT_TSLBOUT, guid);end
elsex888899_NotifyFailBox( sceneId, selfId, -1, "    对不起,您没有足够的物品栏空间,请整理后再来领取。" )
end

end


-- 检查 CDKey 的出错返回回调函数


function x888899_PrizeRetErr( sceneId, selfId, retId )
--enum UserPrizeResult
--{
-- UPR_SUCCESS, //抽奖信息成功
-- UPR_ASKPOINT_SUCCESS, //查询点数成功

-- UPR_ASKBUY_SUCCESS, //购买成功

-- UPR_ERR_NO_PRIZE, //没有中奖
-- UPR_ERR_PRE_REQUEST, //正在处理上次的请求信息
-- UPR_ERR_PRIZE_BUSY, //等待处理的领奖信息过多
-- UPR_ERR_TIME_OUT, //处理领奖信息超时
-- UPR_ERR_EXPIRE_PRIZE, //奖品过期
-- UPR_ERR_CANT_NOW, //现在不能处理抽奖请求
-- UPR_ERR_NOENOUGH_POINT, //点数不足
-- UPR_ERR_GOODSCODE_ERR, //物品代码错误
-- UPR_ERR_ALREADYGET_PRIZE, //已经领奖
-- UPR_NEWUSERCARD_SUCCESS, //财富卡成功
-- UPR_ERR_WRONGCARDNUMBER, //卡号错误
-- UPR_ERR_OTHERUSERUSE, //其他人已经使用
-- };

local targetId = -1if retId == 3 then                                -- 没有 CD-Keyx888899_NotifyFailBox( sceneId, selfId, targetId, "    你的CDK没有激活,请您登陆http://tl.gameone.com/查看。" )
elseif retId == 4 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    正在处理中,请稍候。" )
elseif retId == 5 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    系统忙,请稍候再重试。" )
elseif retId == 6 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    处理超时,请稍候重试。" )
elseif retId == 9 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    你的点数不足。" )
elseif retId == 11 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    你的帐号已经领取过奖励,无法再次启动领取条件。" )  --帐号  to  账号
elseif retId == 13 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    对不起,你输入的卡序列号为无效序列号,请确认之后再次输入。" )
elseif retId == 14 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    你的卡序列号已经被使用过,请确认。" )
elseif retId == 16 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    本服务器未开通抽奖功能,请确认。" )
elseif retId == 17 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    此用户已经过10级,不能再使用财富卡。" )
elseif retId == 20 thenx888899_NotifyFailBox( sceneId, selfId, targetId, "    对不起,您当前没有可领取的奖励。" )
elsex888899_NotifyFailBox( sceneId, selfId, targetId, "    处理故障,请稍候再试,如无法成功操作请联系客服人员进行处理。" )
end

end


-- 对话窗口信息提示


function x888899_NotifyFailBox( sceneId, selfId, targetId, msg )

BeginEvent( sceneId )AddText( sceneId, msg )
EndEvent( sceneId )
DispatchEventList( sceneId, selfId, targetId )

end


-- 通知客户端剩余点数


function x888899_NotifyLeftPoint(sceneId,selfId,nLeftPoint)

BeginUICommand( sceneId )UICommand_AddInt( sceneId, nLeftPoint)
EndUICommand( sceneId )
DispatchUICommand( sceneId, selfId, 2003 )

end


-- 体育竞猜卡随机获得奖品


function x888899_GetSportsPrize()

local total = getn(SPORTS_CARD_PRIZE)
if total and total >= 1 thenlocal idx = random(1,total)return SPORTS_CARD_PRIZE[idx]
elsereturn nil
end

end
整个代码全在这里了,有兴趣的朋友可以一起来讨论。
总结:天龙八部元宝兑换代码要看懂的话得会lua脚本语言,这游戏脚本都是这语言写的,可以找个端回来本地架设看看效果。

天龙八部元宝兑换代码 1相关推荐

  1. 天龙八部元宝兑换代码

    分享下天龙八部元宝兑换代码,端的话大家自行网上找,看代码: --领CD-KEY.查询点数.购买元宝 x888899_g_scriptId = PRIZE_SCRIPT_ID x888899_g_pri ...

  2. 阅读天龙八部的代码有感----两种逻辑处理模式的比较

    1: 天龙八部的逻辑处理模块: 逻辑处理模块: void run { for(;;){ select();  //epoll wait(); process_inputs(); process_com ...

  3. 游戏引擎不仅是代码,更多的是完善的工具

    游戏引擎不仅是代码,更多的是完善的工具 从洗脑开始 记得若干年前,在做公司引擎研发的时候,时常会念到的一句话:引擎不仅是代码,更多的是完善的工具.当时只是用这句话还激励自己,找准引擎开发的原则和位置. ...

  4. 隐私合规:收集SDK部分介绍

    com.meizu.cloud.pushsdk.SystemReceiver 魅族推送服务是由魅族公司为开发者提供的消息推送服务,开发者可以向集成了魅族 push SDK 的客户端实时地推送通知或者消 ...

  5. (转)修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)

    本文主要讲的是<天龙八部>游戏的地形和一部分场景的具体实现,使用C++, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了.文章可能讲得有点罗嗦,很多简单的东西都讲了 ...

  6. CSDN技术主题月----“深度学习”代码笔记专栏

    from: CSDN技术主题月----"深度学习"代码笔记专栏 2016-09-13 nigelyq 技术专题 Hi,各位用户 CSDN技术主题月代码笔记专栏会每月在CODE博客为 ...

  7. Facebook 上一位大佬发表的代码看法

    我常用<天龙八部>来向客户说明一件事. 如果金庸写了40回,让別人来续写最后10回,先不论文笔工夫,续写的人必须把前40回先读一遍,甚至多遍,否则根本无法把故事接上去.重温前40回的时间是 ...

  8. 天龙八部手游有网络显示网络或服务器异常,天龙八部手游微信登录不了_微信登录异常解决办法_玩游戏网...

    <天龙八部>手游怎么打出彩色字体 天龙八部手游怎么打出彩色字体啊?玩家正常说话的话颜色都是一样的,但有时候会莫名其妙看到红色.蓝色等各种颜色的字体,因为颜色不同这些字内容很容易被关注,帮派 ...

  9. 随想录(构建自己的代码库)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 曾经有一段时间,我非常地苦恼,那就是如何提高自己的代码健壮性?难道,除了单元测试就没有别的办法 ...

最新文章

  1. ASP.net中太长的数据缩略显示
  2. 【连载】【FPGA黑金开发板】NIOS II那些事儿--编程风格(三)
  3. 关于产品 / 市场契合点 PMF 的 12 个问题全解读(下)
  4. cpu压测 windows_cpu压测神器:cpuburn深度指南
  5. 16 个 Linux 服务器监控命令和watch
  6. 完整的SQL Server邮件服务
  7. Git 正在吞噬世界!
  8. matplotlib fontdict 字体设置
  9. MTK LED驱动异常检测步骤
  10. Can‘t connect to any repository: http://gitee.com/user.rame/java.git
  11. 伊对和连信交友相亲聊天平台靠谱吗?
  12. dva的用法_dva入门讲解
  13. 全民分销时代,企业如何运营分销平台?
  14. 使用CH341 I2C连接北醒TF系列I2C模式 Python例程
  15. 【B站】Java自学精选视频,Java全套资源奉上,收藏起来慢慢学
  16. 办公必备计算机软件,干货分享!电脑必备的4款办公神器
  17. int型整数的最大值和最小值是多少
  18. 白加黑加载方式_“白加黑减”即曝光补偿的应用方法及原理全面详解——致新手新新手...
  19. 【转】WinCE驱动开发问题精华集锦
  20. 什么是RSS?如何订阅RSS?

热门文章

  1. stm32h743单片机嵌入式学习笔记4-文件系统FATFS
  2. 【LeetCode】825. Friends Of Appropriate Ages 解题报告(Python)
  3. 【多线程】线程池的创建和参数设定
  4. 【linux进阶4】apache的服务使用(图文巨详细解释apache的正向和反向代理)
  5. java判断输入回车符_Java编程:获取用户是否输入回车符
  6. 使用requests和re正则表达式库爬虫小说‘斗破苍穹’,可选取任意章节下载到本地
  7. 小程序授权头像昵称改为头像昵称填写能力详解
  8. C++类和对象介绍(筑基上篇)
  9. 共振峰估计实验MATLAB
  10. CSJH网络安全团队简介