|
- 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 getIntPart(x)
- if x <= 0 then
- return math.ceil(x);
- end
- if math.ceil(x) == x then
- x = math.ceil(x);
- else
- x = math.ceil(x) - 1;
- end
- return x;
- end
- --NPC对话事件(NPC索引)
- function Talked(meindex, talkerindex , szMes, color )
- if npc.isFaceToFace(meindex, talkerindex) == 1 then
- token = "3 『" .. char.getChar(meindex, "名字") .. "』\n"
- .. "\n请问我有什么可以帮到您呢?"
- .. "\n 【查看我的泡点】"
- .. "\n 【泡点换兑声望】"
- .. "\n 【泡点换兑贝壳】"
- .. "\n 【泡点换兑活力】"
- .. "\n 【泡点换兑离线】"
- lssproto.windows(talkerindex, "选择框", "取消", 1, char.getWorkInt( meindex, "对象"), token)
- end
- end
- --NPC窗口事件(NPC索引)
- function WindowTalked ( meindex, talkerindex, seqno, select, data)
- point = getIntPart(char.getInt(talkerindex, "在线时间") / 60 / 60) * 10
- if seqno == 1 then
- if select == 0 then
- num = other.atoi(data)
- if num == 1 then
- minute = getIntPart(char.getInt(talkerindex, "在线时间") / 60)
- token = " 『" .. char.getChar(meindex, "名字") .. "』\n"
- .. "\n您当前的在线泡点时间:" .. getIntPart(minute / 60) .. "小时" .. minute % 60 .. "分钟"
- .. "\n预计可换兑声望点数为:" .. point
- .. "\n预计可换兑贝壳点数为:" .. point
- .. "\n预计可换兑活力点数为:" .. getIntPart(point / 10)
- .. "\n\nPS:每小时换兑10点声望或10点贝壳"
- lssproto.windows(talkerindex, "对话框", "确定", 1, char.getWorkInt( meindex, "对象"), token)
- elseif num == 2 then
- token = "\n 『" .. char.getChar(meindex, "名字") .. "』\n\n"
- .. "你目前最大可以换兑 " .. point .. " 声望!\n\n\n"
- .. "请输入你需要换兑的声望数目:"
- lssproto.windows(talkerindex, "输入框", "确定|取消", 2, char.getWorkInt( meindex, "对象"), token)
- elseif num == 3 then
- token = "\n 『" .. char.getChar(meindex, "名字") .. "』\n\n"
- .. "你目前最大可以换兑 " .. point .. " 贝壳!\n\n\n"
- .. "请输入你需要换兑的贝壳数目:"
- lssproto.windows(talkerindex, "输入框", "确定|取消", 3, char.getWorkInt( meindex, "对象"), token)
- elseif num == 4 then
- token = "\n 『" .. char.getChar(meindex, "名字") .. "』\n\n"
- .. "你目前最大可以换兑 " .. getIntPart(point / 10) .. " 活力!\n"
- .. "活力换兑最低100起换!\n\n"
- .. "请输入你需要换兑的活力数目:"
- lssproto.windows(talkerindex, "输入框", "确定|取消", 4, char.getWorkInt( meindex, "对象"), token)
- elseif num == 5 then
- token = " 『" .. char.getChar(meindex, "名字") .. "』\n"
- .. "\n每个离线之果需要24点泡点换兑,请问你是否需要换兑离线手环吗??"
- lssproto.windows(talkerindex, "对话框", "确定|取消", 5, char.getWorkInt( meindex, "对象"), token)
- end
- end
- elseif seqno == 2 then
- if select == 1 then
- num = other.atoi(data)
- if num < 0 then
- char.TalkToCli(talkerindex, meindex, "请正确输入你要换兑的点数", "黄色")
- return
- end
- if num <= point then
- char.setInt(talkerindex, "在线时间", char.getInt(talkerindex, "在线时间") - num * 60 * 6)
- char.setInt(talkerindex, "声望", char.getInt(talkerindex, "声望") + num * 100)
- char.TalkToCli(talkerindex, -1, "恭喜你,成功换兑" .. num .. "个声望", "黄色")
- else
- char.TalkToCli(talkerindex, -1, "换兑失败,你目前最大只能换兑" .. point .. "点声望!", "黄色")
- end
- end
- elseif seqno == 3 then
- if select == 1 then
- num = other.atoi(data)
- if num < 0 then
- char.TalkToCli(talkerindex, meindex, "请正确输入你要换兑的点数", "黄色")
- return
- end
- if num <= point then
- char.setInt(talkerindex, "在线时间", char.getInt(talkerindex, "在线时间") - num * 60 * 6)
- char.setInt(talkerindex, "贝壳", char.getInt(talkerindex, "贝壳") + num)
- char.TalkToCli(talkerindex, -1, "恭喜你,成功换兑" .. num .. "个贝壳", "黄色")
- else
- char.TalkToCli(talkerindex, -1, "换兑失败,你目前最大只能换兑" .. point .. "点贝壳!", "黄色")
- end
- end
- elseif seqno == 4 then
- if select == 1 then
- num = other.atoi(data)
- if num < 100 then
- char.TalkToCli(talkerindex, meindex, "活力换兑最低100起换!", "黄色")
- return
- end
- if num <= getIntPart(point / 10) then
- char.setInt(talkerindex, "在线时间", char.getInt(talkerindex, "在线时间") - num * 60 * 60)
- char.setInt(talkerindex, "活力", char.getInt(talkerindex, "活力") + num)
- char.TalkToCli(talkerindex, -1, "恭喜你,成功换兑" .. num .. "个活力", "黄色")
- else
- char.TalkToCli(talkerindex, -1, "换兑失败,你目前最大只能换兑" .. getIntPart(point / 10) .. "点活力!", "黄色")
- end
- end
- elseif seqno == 5 then
- if select == 1 then
- if checkEmptItemNum(talkerindex) == 0 then
- char.TalkToCli(talkerindex, meindex, "很抱歉,你的物品已满了!", "红色")
- return
- end
- local minute = getIntPart(char.getInt(talkerindex, "在线时间") / 60 / 60)
- if minute < 24 then
- char.TalkToCli(talkerindex, meindex, "你的在线时间不足,无法为你换兑离线之果!", "黄色")
- return
- end
- char.setInt(talkerindex, "在线时间", char.getInt(talkerindex, "在线时间") - 24 * 60 * 60)
- char.TalkToCli(talkerindex, -1, "已扣除24点在线时间!", "黄色")
- npc.AddItem(talkerindex, 20848)
- 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 main()
- Create("泡点练术师", 16444, 2000, 62, 56, 6)
- end
复制代码
|
|