我准备把这个NPC 放在长安地图皇城前的位置
1.添加NPC位置在分别在 “客户端\script\数据中心\场景NPC.lua”和“服务器端\script\数据中心\场景NPC.lua”
搜素 “elseif 地图ID == 1001 then” 然后在其下面按顺序添加以下代码(注:elseif 地图ID == 1001 then —-长安地图)
假人[88] = {名称=”装备附加”,模型=”男人_书生”,X=235,Y=102,方向=1,事件ID=nil,执行事件=”不执行”,小地图名称颜色=0,商业分类1=0,商业分类2=0,商业分类3=0,商业分类4=0}
- 在 “服务端\Script\对话处理类\对话内容.lua” 搜素 “elseif ID == 1001 then” 然后在其下面按顺序添加以下代码(注:elseif ID == 1001 then —–长安地图下的NPC对话内容)
———————————————装备特技转换NPC ————————————–
elseif 编号==88 then —-说明 88为 场景NPC.lua中的代码
wb[1] = “我是你的专属狗管家,请选择需要转换的装备特技,转换后需要:(卸下装备,即可看到新装备属性):”
xx={“附加特技”,”我只是路过”,}
return{“男人_书生”,”装备附加”,wb[取随机数(1,#wb)],xx} –男人_书生 为外观模型 装备附加 为NPC名字 要一一对应
end
—————————————————————————————————
- 在 “服务端\Script\对话处理类\对话处理.lua” 搜素 “elseif 地图编号==1001 then” 然后在其下面按顺序添加以下代码(注:elseif 地图编号==1001 then–长安城地图下的NPC对话内容)
———————————————–装备特技转换NPC ————————————
if 名称==”装备附加” then
if 事件==”附加特技” then
对话=”我是你的专属狗管家,请选择需要转换的装备特技,转换后需要,(卸下装备后,即可看到新装备属性):如果不满意可以反复转换只到满意为止!”
xx={“武器”,”项链”,”腰带”,”鞋子”,”衣服”,”头盔”}
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=对话,选项=xx})
elseif 事件==”武器” then
local 点卡=f函数.读配置(程序目录..[[data\]]..玩家数据[数字id].账号..[[\账号信息.txt]],”账号配置”,”点卡”)+0
if 点卡 < 200 then
发送数据(玩家数据[数字id].连接id, 7, “#y/需要200点点卡,您的点卡不足”)
return 0
end
local 武器id = 玩家数据[数字id].角色.数据.装备[3]
local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
–以上两句为 定义身上装备的ID 和 定义特技技能表
if 玩家数据[数字id].角色.数据.装备[3]==nil or 玩家数据[数字id].角色.数据.装备[3]==0 then
–以上代码为检测身上定义装备是否有 也就是是否穿戴装备
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=”少侠是来寻我开心的么?请穿上武器再来试试!”})
return
else
玩家数据[数字id].道具.数据[武器id].特技 = 通用特技[取随机数(1,#通用特技)]
玩家数据[数字id].角色:扣除点卡(200,”附加特技”,数字id)
常规提示(数字id,”#Y/恭喜你的武器获得了特技[#R/”..玩家数据[数字id].道具.数据[武器id].特技..”#Y/]!”)
–这点需要注意。引用上面的定义。要括号括起来前后要加..xx..
常规提示(数字id,”#Y/特技随机转换成功!(卸下装备后即可看到新装备属性)!”)
end
—
elseif 事件==”头盔” then –头盔
local 点卡=f函数.读配置(程序目录..[[data\]]..玩家数据[数字id].账号..[[\账号信息.txt]],”账号配置”,”点卡”)+0
if 点卡 < 200 then
发送数据(玩家数据[数字id].连接id, 7, “#y/需要200点点卡,您的点卡不足”)
return 0
end
local 武器id = 玩家数据[数字id].角色.数据.装备[1]
local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
if 玩家数据[数字id].角色.数据.装备[1]==nil or 玩家数据[数字id].角色.数据.装备[1]==0 then
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=”少侠是来寻我开心的么?请穿上项链再来试试!”})
return
else
玩家数据[数字id].道具.数据[武器id].特技 = 通用特技[取随机数(1,#通用特技)]
玩家数据[数字id].角色:扣除点卡(200,”附加特技”,数字id)
常规提示(数字id,”#Y/恭喜你的头盔获得了特技[#R/”..玩家数据[数字id].道具.数据[武器id].特技..”#Y/]!”)
常规提示(数字id,”#Y/特技随机转换成功!(卸下装备后即可看到新装备属性)!”)
end
—
elseif 事件==”项链” then
local 点卡=f函数.读配置(程序目录..[[data\]]..玩家数据[数字id].账号..[[\账号信息.txt]],”账号配置”,”点卡”)+0
if 点卡 < 200 then
发送数据(玩家数据[数字id].连接id, 7, “#y/需要200点点卡,您的点卡不足”)
return 0
end
local 武器id = 玩家数据[数字id].角色.数据.装备[2]
local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
if 玩家数据[数字id].角色.数据.装备[2]==nil or 玩家数据[数字id].角色.数据.装备[2]==0 then
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=”少侠是来寻我开心的么?请穿上腰带再来试试!”})
return
else
玩家数据[数字id].道具.数据[武器id].特技 = 通用特技[取随机数(1,#通用特技)]
玩家数据[数字id].角色:扣除点卡(200,”附加特技”,数字id)
常规提示(数字id,”#Y/恭喜你的项链获得了特技[#R/”..玩家数据[数字id].道具.数据[武器id].特技..”#Y/]!”)
常规提示(数字id,”#Y/特技随机转换成功!(卸下装备后即可看到新装备属性)!”)
end
—
elseif 事件==”衣服” then –衣服
local 点卡=f函数.读配置(程序目录..[[data\]]..玩家数据[数字id].账号..[[\账号信息.txt]],”账号配置”,”点卡”)+0
if 点卡 < 200 then
发送数据(玩家数据[数字id].连接id, 7, “#y/需要200点点卡,您的点卡不足”)
return 0
end
local 武器id = 玩家数据[数字id].角色.数据.装备[4]
local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
if 玩家数据[数字id].角色.数据.装备[4]==nil or 玩家数据[数字id].角色.数据.装备[4]==0 then
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=”少侠是来寻我开心的么?请穿上鞋子再来试试!”})
return
else
玩家数据[数字id].道具.数据[武器id].特技 = 通用特技[取随机数(1,#通用特技)]
玩家数据[数字id].角色:扣除点卡(200,”附加特技”,数字id)
常规提示(数字id,”#Y/恭喜你的衣服获得了特技[#R/”..玩家数据[数字id].道具.数据[武器id].特技..”#Y/]!”)
常规提示(数字id,”#Y/特技随机转换成功!(卸下装备后即可看到新装备属性)!”)
end
—
elseif 事件==”腰带” then –腰带
local 点卡=f函数.读配置(程序目录..[[data\]]..玩家数据[数字id].账号..[[\账号信息.txt]],”账号配置”,”点卡”)+0
if 点卡 < 200 then
发送数据(玩家数据[数字id].连接id, 7, “#y/需要200点点卡,您的点卡不足”)
return 0
end
local 武器id = 玩家数据[数字id].角色.数据.装备[5]
local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
if 玩家数据[数字id].角色.数据.装备[5]==nil or 玩家数据[数字id].角色.数据.装备[5]==0 then
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=”少侠是来寻我开心的么?请穿上衣服再来试试!”})
return
else
玩家数据[数字id].道具.数据[武器id].特技 = 通用特技[取随机数(1,#通用特技)]
玩家数据[数字id].角色:扣除点卡(200,”附加特技”,数字id)
常规提示(数字id,”#Y/恭喜你的腰带获得了特技[#R/”..玩家数据[数字id].道具.数据[武器id].特技..”#Y/]!”)
常规提示(数字id,”#Y/特技随机转换成功!(卸下装备后即可看到新装备属性)!”)
end
—
elseif 事件==”鞋子” then –鞋子
local 点卡=f函数.读配置(程序目录..[[data\]]..玩家数据[数字id].账号..[[\账号信息.txt]],”账号配置”,”点卡”)+0
if 点卡 < 200 then
发送数据(玩家数据[数字id].连接id, 7, “#y/需要200点点卡,您的点卡不足”)
return 0
end
local 武器id = 玩家数据[数字id].角色.数据.装备[6]
local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
if 玩家数据[数字id].角色.数据.装备[6]==nil or 玩家数据[数字id].角色.数据.装备[6]==0 then
发送数据(玩家数据[数字id].连接id,1501,{名称=”装备附加”,模型=”男人_书生”,对话=”少侠是来寻我开心的么?请穿上头盔再来试试!”})
return
else
玩家数据[数字id].道具.数据[武器id].特技 = 通用特技[取随机数(1,#通用特技)]
玩家数据[数字id].角色:扣除点卡(200,”附加特技”,数字id)
常规提示(数字id,”#Y/恭喜你的鞋子获得了特技[#R/”..玩家数据[数字id].道具.数据[武器id].特技..”#Y/]!”)
常规提示(数字id,”#Y/特技随机转换成功!(卸下装备后即可看到新装备属性)!”)
end
— local 道具 = 物品类()
–if dz[13] ~= nil then
— local 通用特技 = {“气疗术”,”心疗术”,”命疗术”,”凝气诀”,”凝神诀”,”气归术”,”命归术”,”四海升平”,”回魂咒”,”起死回生”,”水清诀”,”冰清诀”,”玉清诀”,”晶清诀”,”弱点击破”,”冥王爆杀”,”放下屠刀”,”河东狮吼”,”碎甲术”,”破甲术”,”破血狂攻”}
–道具.特技 = “气疗术”
–elseif 事件==”枪矛” or 事件==”斧钺” or 事件==”剑” or 事件==”双短剑” or 事件==”飘带” or 事件==”爪刺” or 事件==”扇” or 事件==”魔棒” or 事件==”锤” or 事件==”鞭” or 事件==”环圈” or 事件==”刀” or 事件==”法杖” or 事件==”弓弩” or 事件==”宝珠” or 事件==”巨剑” or 事件==”伞” or 事件==”灯笼” then
–玩家数据[数字id].给予数据={类型=1,id=0,事件=附加特效}
— 发送数据(id,3507,{道具=玩家数据[数字id].道具:索要道具1(数字id),名称=”袁守城”,类型=”NPC”,等级=”无”})
–玩家数据[数字id].给予数据.特技=”心疗术”
— 道具.特技 = 通用特技[取随机数(1,#通用特技)]
–发送数据(id,3507,{道具=玩家数据[数字id].道具:索要道具1(数字id),名称=名称,类型=”NPC”,等级=”无”})
–玩家数据[数字id].道具.特技 = “气疗术”
–end
–发送数据(玩家数据[数字id].连接id,3513,玩家数据[数字id].道具:索要道具2(数字id))
–发送数据(玩家数据[数字id].连接id,3523,{道具=玩家数据[数字id].道具:索要仓库道具(数字id,1),总数=#玩家数据[数字id].角色.数据.道具仓库})
——————————
elseif 事件==”附加特技” then
常规提示(数字id,”#Y/该功能尚未开放!”)
return
— 发送数据(玩家数据[数字id].连接id,3512,玩家数据[数字id].召唤兽.数据)
— 发送数据(玩家数据[数字id].连接id,3526,玩家数据[数字id].角色.数据.召唤兽仓库[1])
end
end
————————————————————————————————————
NPC添加完成,启动游戏看看效果把