|
- function checkEmptItemNum(charaindex)
- EmptyItemNum = 0
- for i = 9, 23 do
- if char.getItemIndex(charaindex, i) == -1 then
- EmptyItemNum = EmptyItemNum + 1
- end
- end
- return EmptyItemNum
- end
- function ShowDlg(meindex, talkerindex, page )
- token = "2 『" .. char.getChar(meindex, "名字") .. "』\n"
- .."请问你要提取哪样权限证书?\n"
- for i = 1, 6 do
- if (i + (page - 1) * 6) > table.getn(ride) then
- break
- end
- token = token ..string.format(" %-22s会员点:%d\n", ride[i + (page - 1) * 6][1], ride[i + (page - 1) * 6][3])
- end
- if maxpage == 1 then
- button = "取消"
- elseif page == 1 and page < maxpage then
- button = "下一页"
- elseif page > 1 and page < maxpage then
- button = "上一页|下一页"
- elseif page == maxpage then
- button = "上一页"
- end
-
- lssproto.windows(talkerindex, "选择框", button, page, char.getWorkInt( meindex, "对象"), token)
- end
- --NPC对话事件(NPC索引)
- function Talked(meindex, talkerindex, szMes, color )
- if npc.isFaceToFace(meindex, talkerindex) == 1 then
- token = " 『" .. char.getChar(meindex, "名字") .. "』\n\n"
- .."请问您要把您拥有的骑乘权限提取出证书吗?一但提取出证书,您将会失去该骑宠权限哦~"
- lssproto.windows(talkerindex, "对话框", "确定|取消", 0, char.getWorkInt( meindex, "对象"), token)
- end
- end
- --NPC窗口事件(NPC索引)
- function WindowTalked ( meindex, talkerindex, seqno, select, data)
- if npc.isFaceToFace(meindex, talkerindex) == 1 then
- if seqno < 100 then
- if select == 0 then
- local num = tonumber(data) + (seqno - 1) * 6
- token = " 『" .. char.getChar(meindex, "名字") .. "』\n\n"
- .."你确定要提取" .. ride[num][1] .. "骑乘权限吗?但必需支付会员点:" .. ride[num][3] .. "点"
- lssproto.windows(talkerindex, "对话框", "确定|取消", 100 + num, char.getWorkInt( meindex, "对象"), token)
- elseif select == 1 then
- ShowDlg(meindex, talkerindex, 1)
- elseif select == 16 then
- ShowDlg(meindex, talkerindex, seqno - 1)
- elseif select == 32 then
- ShowDlg(meindex, talkerindex, seqno + 1)
- end
- else
- if select == 1 then
- local id = seqno - 100
- if id < 0 or id > table.getn(ride) then
- return
- end
- if checkEmptItemNum(talkerindex) == 0 then
- char.TalkToCli(talkerindex, meindex, "很抱歉,您的身上物品已满!", "红色")
- return
- end
- if other.DataAndData(char.getInt(talkerindex, "证书骑宠"), ride[id][2]) == 0 then
- char.TalkToCli(talkerindex, meindex, "很抱歉,你并没有" .. ride[id][1] .. "资格!", "红色")
- return
- end
-
- if sasql.getVipPoint(talkerindex) < ride[id][3] then
- char.TalkToCli(talkerindex, meindex, "很抱歉,你的会员点数少于" .. ride[id][3] .. "点!", "红色")
- return
- end
-
- itemindex = char.Additem(talkerindex, 23150)
- if itemindex > -1 then
- sasql.setVipPoint(talkerindex, sasql.getVipPoint(talkerindex) - ride[id][3])
- if other.DataAndData(char.getInt(talkerindex, "证书骑宠"), ride[id][2]) ~= 0 then
- char.setInt(talkerindex, "证书骑宠", char.getInt(talkerindex, "证书骑宠") - 2^ride[id][2])
- end
- item.setChar(itemindex, "名称", ride[id][1])
- item.setChar(itemindex, "显示名", item.getChar(itemindex, "名称"))
- item.setChar(itemindex, "字段", ride[id][2])
- item.setChar(itemindex, "说明", "使用后可以获得" .. ride[id][1])
- item.UpdataItemOne(talkerindex, itemindex)
- char.TalkToCli(talkerindex, -1, "获得" .. item.getChar(itemindex, "名称") .. "物品,取消您原有的".. ride[id][1] .."并扣除会员点" .. ride[id][3] .. "点", "黄色")
- char.complianceParameter(talkerindex)
- char.ToAroundChar(talkerindex)
- end
- end
- end
- end
- end
- function Create(name, metamo, floor, x, y, dir)
- --创建NPC(NPC名字,图像号,地图号,坐标X,坐标Y,方向号)将返回一个NPC索引
- npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
- --设置事件触发(NPC索引,事件,执行函数,执行函数文件路径)
- char.setFunctionPointer(npcindex, "对话事件", "Talked", "")
- char.setFunctionPointer(npcindex, "窗口事件", "WindowTalked", "")
- end
- function data()
- ride = {{"帖拉所伊朵骑乘权限", 0 , 99}
- , {"贝鲁夏骑乘权限", 1 , 99}
- , {"普鲁夏骑乘权限", 2 , 99}
- }
- maxpage = math.ceil(table.getn(ride) / 7)
- end
- function main()
- data()
- Create("骑证提取师", 16050, 2005, 25, 28, 6)
- end
复制代码
|
|