|
- function Talked(meindex, talkerindex , szMes, color )
- if npc.isFaceToFace(meindex, talkerindex) == 1 then
- token = "本期限量宠物[三尾妖狐][火10][攻敏型]\n\n1、时效:截止日期为2月28日\n"
- --.. "2、道具:" .. item.getNameFromNumber(TM_ItemId[1]) .. " * " .. TM_ItemId[2] .. "\n"
- .. "2、宠物:[" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[1][1]),"名字") .. "][" .. TM_PetId2[1][2] .. "转" .. TM_PetId2[1][3] .. "级]"
- .. "\n [" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[2][1]),"名字") .. "][" .. TM_PetId2[2][2] .. "转" .. TM_PetId2[2][3] .. "级]"
- .. "\n [" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[3][1]),"名字") .. "][" .. TM_PetId2[3][2] .. "转" .. TM_PetId2[3][3] .. "级]"
- .. "\n [" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[4][1]),"名字") .. "][" .. TM_PetId2[4][2] .. "转" .. TM_PetId2[4][3] .. "级]"
- --[[ .. "3、宠物:[" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId1[1]) .. "][" .. TM_PetId1[2] .. "转" .. TM_PetId1[3] .. "级] * 2"
- if TM_PetId1[4] > 0 then
- token = token .. "[" .. TM_PetId1[4] .. "+分]"
- end]]
- token = token .. "\n"
- .. "4、消耗:[" .. TM_Fame .. "声望] + "
- .. "[" .. TM_Vigor .."活力]\n"
- lssproto.windows(talkerindex, "对话框", "确定|取消", 1, char.getWorkInt( meindex, "对象"), token)
- end
- end
- function WindowTalked ( meindex, talkerindex, seqno, select, data)
-
- if seqno == 1 then
- if select == 1 then
- --[[local pet1 = -1
- local pet2 = -1
- for i=0,4 do
- local petindex = char.getCharPet(talkerindex,i)
- if char.check(petindex) == 1 then
- local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
- if pet1 == -1 then
- if char.getInt(petindex,"宠ID") == TM_PetId1[1] and char.getInt(petindex,"转数") >= TM_PetId1[2] and char.getInt(petindex,"等级") == TM_PetId1[3] and pingfen >= TM_PetId1[4] then
- pet1 = i
- end
- elseif pet2 == -1 then
- if char.getInt(petindex,"宠ID") == TM_PetId1[1] and char.getInt(petindex,"转数") >= TM_PetId1[2] and char.getInt(petindex,"等级") == TM_PetId1[3] and pingfen >= TM_PetId1[4] then
- pet2 = i
- break
- end
- end
- end
- end
- if pet1 == -1 or pet2 == -1 then
- --if pet1 == -1 then
- char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId1[1]) .. "]", "随机色")
- return
- end
- if npc.Free(meindex,talkerindex, "ITEM=" .. TM_ItemId[1] .. "*" .. TM_ItemId[2]) < 1 then
- char.TalkToCli(talkerindex, meindex, "您身上没有足够的道具[" .. item.getNameFromNumber(TM_ItemId[1]).. "]", "随机色")
- return
- end]]
- local petid = {-1,-1,-1,-1}
- for j=1,table.getn(TM_PetId2) do
- for i=0,4 do
- local petindex = char.getCharPet(talkerindex,i)
- if char.check(petindex) == 1 then
- local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
- if petid[j] == -1 then
- if char.getInt(petindex,"宠ID") == TM_PetId2[j][1] and char.getInt(petindex,"转数") >= TM_PetId2[j][2] and char.getInt(petindex,"等级") == TM_PetId2[j][3] and pingfen >= TM_PetId2[j][4] then
- petid[j] = i
- break
- end
- end
- end
- end
- end
- for i=1,4 do
- if petid[i] == -1 then
- char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[i][1]),"名字") .. "]", "随机色")
- return
- end
- end
- if char.getInt(talkerindex,"声望") < TM_Fame * 100 then
- char.TalkToCli(talkerindex, meindex, "您的声望小于" .. TM_Fame, "随机色")
- return
- end
- if char.getInt(talkerindex,"活力") < TM_Vigor then
- char.TalkToCli(talkerindex, meindex, "您的活力小于" .. TM_Vigor, "随机色")
- return
- end
- --[[local petindex1 = char.getCharPet(talkerindex,pet1)
- local petindex2 = char.getCharPet(talkerindex,pet2)
- local pingfen1 = math.floor(char.getWorkInt(petindex1, "最大HP")/4 + char.getWorkInt(petindex1, "修正腕力") + char.getWorkInt(petindex1, "修正耐力") + char.getWorkInt(petindex1, "修正速度"))
- local pingfen2 = math.floor(char.getWorkInt(petindex2, "最大HP")/4 + char.getWorkInt(petindex2, "修正腕力") + char.getWorkInt(petindex2, "修正耐力") + char.getWorkInt(petindex2, "修正速度"))]]
- local petindextemp = {char.getCharPet(talkerindex,petid[1]),char.getCharPet(talkerindex,petid[2]),char.getCharPet(talkerindex,petid[3]),char.getCharPet(talkerindex,petid[4])}
- local pingfentemp = {math.floor(char.getWorkInt(petindextemp[1], "最大HP")/4 + char.getWorkInt(petindextemp[1], "修正腕力") + char.getWorkInt(petindextemp[1], "修正耐力") + char.getWorkInt(petindextemp[1], "修正速度"))
- ,math.floor(char.getWorkInt(petindextemp[2], "最大HP")/4 + char.getWorkInt(petindextemp[2], "修正腕力") + char.getWorkInt(petindextemp[2], "修正耐力") + char.getWorkInt(petindextemp[2], "修正速度"))
- ,math.floor(char.getWorkInt(petindextemp[3], "最大HP")/4 + char.getWorkInt(petindextemp[3], "修正腕力") + char.getWorkInt(petindextemp[3], "修正耐力") + char.getWorkInt(petindextemp[3], "修正速度"))
- ,math.floor(char.getWorkInt(petindextemp[4], "最大HP")/4 + char.getWorkInt(petindextemp[4], "修正腕力") + char.getWorkInt(petindextemp[4], "修正耐力") + char.getWorkInt(petindextemp[4], "修正速度"))
- }
- token = "您是否要使用下列兑换 [" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId) .. "]\n"
- --[[.. "1、道具:" .. item.getNameFromNumber(TM_ItemId[1]) .. " * " .. TM_ItemId[2] .. "\n"
- .. "2、宠物:[" .. char.getChar(petindex1,"名字") .. "][" .. char.getInt(petindex1,"转数") .. "转" .. char.getInt(petindex1,"等级") .. "级]"
- if pingfen1 > 0 then
- token = token .. "[" .. pingfen1 .. "分]"
- end
- token = token .. "\n"
- .. "3、宠物:[" .. char.getChar(petindex2,"名字") .. "][" .. char.getInt(petindex2,"转数") .. "转" .. char.getInt(petindex2,"等级") .. "级]"
- if pingfen2 > 0 then
- token = token .. "[" .. pingfen2 .. "分]"
- end]]
- .. "1、宠物:[" .. char.getChar(petindextemp[1],"名字") .. "][" .. char.getInt(petindextemp[1],"转数") .. "转" .. char.getInt(petindextemp[1],"等级") .. "级][" .. pingfentemp[1] .. "]分"
- .. "\n [" .. char.getChar(petindextemp[2],"名字") .. "][" .. char.getInt(petindextemp[2],"转数") .. "转" .. char.getInt(petindextemp[2],"等级") .. "级][" .. pingfentemp[2] .. "]分"
- .. "\n [" .. char.getChar(petindextemp[3],"名字") .. "][" .. char.getInt(petindextemp[3],"转数") .. "转" .. char.getInt(petindextemp[3],"等级") .. "级][" .. pingfentemp[3] .. "]分"
- .. "\n [" .. char.getChar(petindextemp[4],"名字") .. "][" .. char.getInt(petindextemp[4],"转数") .. "转" .. char.getInt(petindextemp[4],"等级") .. "级][" .. pingfentemp[4] .. "]分"
- token = token .. "\n"
- .. "2、消耗:[" .. TM_Fame .. "声望] + "
- .. "[" .. TM_Vigor .."活力]".. "\n3、确定操作请输入确认码完成兑换("
- local rndnum = math.random(101,999)
- token = token .. rndnum .. ")"
- char.setWorkInt(talkerindex,"NPC临时1",rndnum)
- lssproto.windows(talkerindex, "输入框", "确定|取消", 2, char.getWorkInt( meindex, "对象"), token)
- end
- elseif seqno == 2 then
- if select == 1 then
- if data == "" then
- char.TalkToCli(talkerindex, -1, "[温馨提示]确认码输入错误,请重新输入确认码,确认码为括号内的三位数字。", "随机色")
- return
- end
- num = other.atoi(data)
- if num < 101 or num > 999 then
- char.TalkToCli(talkerindex, -1, "[温馨提示]确认码输入错误,请重新输入确认码,确认码为括号内的三位数字。", "随机色")
- return
- end
- if num ~= char.getWorkInt(talkerindex,"NPC临时1") then
- char.TalkToCli(talkerindex, -1, "[温馨提示]确认码输入错误,请重新输入确认码,确认码为括号内的三位数字。", "随机色")
- return
- end
- --[[local pet1 = -1
- local pet2 = -1
- for i=0,4 do
- local petindex = char.getCharPet(talkerindex,i)
- if char.check(petindex) == 1 then
- local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
- if pet1 == -1 then
- if char.getInt(petindex,"宠ID") == TM_PetId1[1] and char.getInt(petindex,"转数") >= TM_PetId1[2] and char.getInt(petindex,"等级") == TM_PetId1[3] and pingfen >= TM_PetId1[4] then
- pet1 = i
- end
- elseif pet2 == -1 then
- if char.getInt(petindex,"宠ID") == TM_PetId1[1] and char.getInt(petindex,"转数") >= TM_PetId1[2] and char.getInt(petindex,"等级") == TM_PetId1[3] and pingfen >= TM_PetId1[4] then
- pet2 = i
- break
- end
- end
- end
- end
- if pet1 == -1 or pet2 == -1 then
- --if pet1 == -1 then
- char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId1[1]) .. "]", "随机色")
- return
- end
- if npc.Free(meindex,talkerindex, "ITEM=" .. TM_ItemId[1] .. "*" .. TM_ItemId[2]) < 1 then
- char.TalkToCli(talkerindex, meindex, "您身上没有道具[" .. item.getNameFromNumber(TM_ItemId[1]).. "]", "随机色")
- return
- end]]
- local petid = {-1,-1,-1,-1}
- for j=1,table.getn(TM_PetId2) do
- for i=0,4 do
- local petindex = char.getCharPet(talkerindex,i)
- if char.check(petindex) == 1 then
- local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
- if petid[j] == -1 then
- if char.getInt(petindex,"宠ID") == TM_PetId2[j][1] and char.getInt(petindex,"转数") >= TM_PetId2[j][2] and char.getInt(petindex,"等级") == TM_PetId2[j][3] and pingfen >= TM_PetId2[j][4] then
- petid[j] = i
- break
- end
- end
- end
- end
- end
- for i=1,4 do
- if petid[i] == -1 then
- char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[i][1]),"名字") .. "]", "随机色")
- return
- end
- end
- if char.getInt(talkerindex,"声望") < TM_Fame * 100 then
- char.TalkToCli(talkerindex, meindex, "您的声望小于" .. TM_Fame, "随机色")
- return
- end
- if char.getInt(talkerindex,"活力") < TM_Vigor then
- char.TalkToCli(talkerindex, meindex, "您的活力小于" .. TM_Vigor, "随机色")
- return
- end
- --[[local petindex1 = char.getCharPet(talkerindex,pet1)
- local petindex2 = char.getCharPet(talkerindex,pet2)
- char.TalkToCli(talkerindex, meindex, "扣除[" .. char.getChar(petindex1,"名字") .. "][" .. char.getInt(petindex1,"转数") .. "转" .. char.getInt(petindex1,"等级") .. "级][" .. math.floor(char.getWorkInt(petindex1, "最大HP")/4 + char.getWorkInt(petindex1, "修正腕力") + char.getWorkInt(petindex1, "修正耐力") + char.getWorkInt(petindex1, "修正速度")) .. "分]", "随机色")
- char.TalkToCli(talkerindex, meindex, "扣除[" .. char.getChar(petindex2,"名字") .. "][" .. char.getInt(petindex2,"转数") .. "转" .. char.getInt(petindex2,"等级") .. "级][" .. math.floor(char.getWorkInt(petindex2, "最大HP")/4 + char.getWorkInt(petindex2, "修正腕力") + char.getWorkInt(petindex2, "修正耐力") + char.getWorkInt(petindex2, "修正速度")) .. "分]", "随机色")
- char.DelPet(talkerindex, petindex1)
- char.DelPet(talkerindex, petindex2)
- npc.DelItemNum(talkerindex, TM_ItemId[1] .. "," .. TM_ItemId[2])]]
- local petindextemp = {char.getCharPet(talkerindex,petid[1]),char.getCharPet(talkerindex,petid[2]),char.getCharPet(talkerindex,petid[3]),char.getCharPet(talkerindex,petid[4])}
- for i=1,4 do
- char.TalkToCli(talkerindex, meindex, "扣除[" .. char.getChar(petindextemp[i],"名字") .. "][" .. char.getInt(petindextemp[i],"转数") .. "转" .. char.getInt(petindextemp[i],"等级") .. "级][" .. math.floor(char.getWorkInt(petindextemp[i], "最大HP")/4 + char.getWorkInt(petindextemp[i], "修正腕力") + char.getWorkInt(petindextemp[i], "修正耐力") + char.getWorkInt(petindextemp[i], "修正速度")) .. "分]", "随机色")
- char.DelPet(talkerindex, petindextemp[i])
- end
- char.setInt(talkerindex, "声望", char.getInt(talkerindex, "声望") - TM_Fame * 100)
- char.setInt(talkerindex, "活力", char.getInt(talkerindex, "活力") - TM_Vigor)
- --char.TalkToCli(talkerindex, meindex, "扣除道具[" .. item.getNameFromNumber(TM_ItemId[1]) .. "] * " .. TM_ItemId[2], "随机色")
- char.TalkToCli(talkerindex, meindex, "扣除声望[" .. TM_Fame .. "]", "随机色")
- char.TalkToCli(talkerindex, meindex, "扣除活力[" .. TM_Vigor .. "]", "随机色")
- local newpetindex = char.AddPet(talkerindex,TM_PetId,1)
- char.talkToServer(-1, "〈普天同庆〉恭喜玩家 "..char.getChar(talkerindex,"名字").." 兑换限时宠物[" .. char.getChar(newpetindex,"名字") .. "]成功。", "随机色")
- end
- end
- end
- function Create(name, metamo, floor, x, y, dir)
- npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
- char.setFunctionPointer(npcindex, "对话事件", "Talked", "")
- char.setFunctionPointer(npcindex, "窗口事件", "WindowTalked", "")
- end
- function data()
- TM_Fame = 50000 --需要声望
- TM_Vigor = 50000 --需要活力
- TM_ItemId = {21505,3} --需要道具编号
- --TM_PetId1 = {3033,1,140,0}
- TM_PetId2 = {{777,1,140,0},{3000,1,140,0},{3033,1,140,0},{3034,1,140,0}}
- TM_PetId = 3046
- end
- function main()
- Create("限时宠物兑换员", 60095, 1000, 82, 50, 6)
- data()
- end
复制代码
|
|