石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17281|回复: 6

[Ab Lua] 石器时代pk限时兑换员xianshipet.lua

[复制链接]

1万

主题

491

回帖

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35492
石币
24659
发表于 2017-7-4 09:21:59 | 显示全部楼层 |阅读模式
  1. function Talked(meindex, talkerindex , szMes, color )
  2.         if npc.isFaceToFace(meindex, talkerindex) == 1 then
  3.                 token = "本期限量宠物[三尾妖狐][火10][攻敏型]\n\n1、时效:截止日期为2月28日\n"
  4.                          --.. "2、道具:" .. item.getNameFromNumber(TM_ItemId[1]) .. " * " .. TM_ItemId[2] .. "\n"
  5.                          .. "2、宠物:[" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[1][1]),"名字") .. "][" .. TM_PetId2[1][2] .. "转" .. TM_PetId2[1][3] .. "级]"
  6.                          .. "\n         [" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[2][1]),"名字") .. "][" .. TM_PetId2[2][2] .. "转" .. TM_PetId2[2][3] .. "级]"
  7.                          .. "\n         [" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[3][1]),"名字") .. "][" .. TM_PetId2[3][2] .. "转" .. TM_PetId2[3][3] .. "级]"
  8.                          .. "\n         [" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[4][1]),"名字") .. "][" .. TM_PetId2[4][2] .. "转" .. TM_PetId2[4][3] .. "级]"
  9.                 --[[         .. "3、宠物:[" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId1[1]) .. "][" .. TM_PetId1[2] .. "转" .. TM_PetId1[3] .. "级] * 2"
  10.                 if TM_PetId1[4] > 0 then
  11.                         token = token .. "[" .. TM_PetId1[4] .. "+分]"
  12.                 end]]
  13.                 token = token .. "\n"
  14.                                           .. "4、消耗:[" .. TM_Fame .. "声望] + "
  15.                                           .. "[" .. TM_Vigor .."活力]\n"
  16.                 lssproto.windows(talkerindex, "对话框", "确定|取消", 1, char.getWorkInt( meindex, "对象"), token)
  17.         end
  18. end

  19. function WindowTalked ( meindex, talkerindex, seqno, select, data)
  20.        
  21.         if seqno == 1 then
  22.                 if select == 1 then
  23.                         --[[local pet1 = -1
  24.                         local pet2 = -1
  25.                         for i=0,4 do
  26.                                 local petindex = char.getCharPet(talkerindex,i)
  27.                                 if char.check(petindex) == 1 then
  28.                                         local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
  29.                                         if pet1 == -1 then
  30.                                                 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
  31.                                                         pet1 = i
  32.                                                 end
  33.                                         elseif pet2 == -1 then
  34.                                                 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
  35.                                                         pet2 = i
  36.                                                         break
  37.                                                 end
  38.                                         end
  39.                                 end
  40.                         end
  41.                         if pet1 == -1 or pet2 == -1 then
  42.                         --if pet1 == -1 then
  43.                                 char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId1[1]) .. "]", "随机色")
  44.                                 return
  45.                         end
  46.                         if npc.Free(meindex,talkerindex, "ITEM=" .. TM_ItemId[1] .. "*" .. TM_ItemId[2]) < 1 then
  47.                                 char.TalkToCli(talkerindex, meindex, "您身上没有足够的道具[" .. item.getNameFromNumber(TM_ItemId[1]).. "]", "随机色")
  48.                                 return
  49.                         end]]
  50.                         local petid = {-1,-1,-1,-1}
  51.                         for j=1,table.getn(TM_PetId2) do
  52.                                 for i=0,4 do
  53.                                         local petindex = char.getCharPet(talkerindex,i)
  54.                                         if char.check(petindex) == 1 then
  55.                                                 local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
  56.                                                 if petid[j] == -1 then
  57.                                                         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
  58.                                                                 petid[j] = i
  59.                                                                 break
  60.                                                         end
  61.                                                 end
  62.                                         end
  63.                                 end
  64.                         end
  65.                         for i=1,4 do
  66.                                 if petid[i] == -1 then
  67.                                         char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[i][1]),"名字") .. "]", "随机色")
  68.                                         return
  69.                                 end
  70.                         end
  71.                         if char.getInt(talkerindex,"声望") < TM_Fame * 100 then
  72.                                 char.TalkToCli(talkerindex, meindex, "您的声望小于" .. TM_Fame, "随机色")
  73.                                 return
  74.                         end
  75.                         if char.getInt(talkerindex,"活力") < TM_Vigor then
  76.                                 char.TalkToCli(talkerindex, meindex, "您的活力小于" .. TM_Vigor, "随机色")
  77.                                 return
  78.                         end
  79.                         --[[local petindex1 = char.getCharPet(talkerindex,pet1)
  80.                         local petindex2 = char.getCharPet(talkerindex,pet2)
  81.                         local pingfen1 = math.floor(char.getWorkInt(petindex1, "最大HP")/4 + char.getWorkInt(petindex1, "修正腕力") + char.getWorkInt(petindex1, "修正耐力") + char.getWorkInt(petindex1, "修正速度"))
  82.                         local pingfen2 = math.floor(char.getWorkInt(petindex2, "最大HP")/4 + char.getWorkInt(petindex2, "修正腕力") + char.getWorkInt(petindex2, "修正耐力") + char.getWorkInt(petindex2, "修正速度"))]]
  83.                         local petindextemp = {char.getCharPet(talkerindex,petid[1]),char.getCharPet(talkerindex,petid[2]),char.getCharPet(talkerindex,petid[3]),char.getCharPet(talkerindex,petid[4])}
  84.                         local pingfentemp = {math.floor(char.getWorkInt(petindextemp[1], "最大HP")/4 + char.getWorkInt(petindextemp[1], "修正腕力") + char.getWorkInt(petindextemp[1], "修正耐力") + char.getWorkInt(petindextemp[1], "修正速度"))
  85.                                                                 ,math.floor(char.getWorkInt(petindextemp[2], "最大HP")/4 + char.getWorkInt(petindextemp[2], "修正腕力") + char.getWorkInt(petindextemp[2], "修正耐力") + char.getWorkInt(petindextemp[2], "修正速度"))
  86.                                                                 ,math.floor(char.getWorkInt(petindextemp[3], "最大HP")/4 + char.getWorkInt(petindextemp[3], "修正腕力") + char.getWorkInt(petindextemp[3], "修正耐力") + char.getWorkInt(petindextemp[3], "修正速度"))
  87.                                                                 ,math.floor(char.getWorkInt(petindextemp[4], "最大HP")/4 + char.getWorkInt(petindextemp[4], "修正腕力") + char.getWorkInt(petindextemp[4], "修正耐力") + char.getWorkInt(petindextemp[4], "修正速度"))
  88.                                                                 }
  89.                         token = "您是否要使用下列兑换 [" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId) .. "]\n"
  90.                                  --[[.. "1、道具:" .. item.getNameFromNumber(TM_ItemId[1]) .. " * " .. TM_ItemId[2] .. "\n"
  91.                                  .. "2、宠物:[" .. char.getChar(petindex1,"名字") .. "][" .. char.getInt(petindex1,"转数") .. "转" .. char.getInt(petindex1,"等级") .. "级]"
  92.                         if pingfen1 > 0 then
  93.                                 token = token .. "[" .. pingfen1 .. "分]"
  94.                         end
  95.                         token = token .. "\n"
  96.                                  .. "3、宠物:[" .. char.getChar(petindex2,"名字") .. "][" .. char.getInt(petindex2,"转数") .. "转" .. char.getInt(petindex2,"等级") .. "级]"
  97.                         if pingfen2 > 0 then
  98.                                 token = token .. "[" .. pingfen2 .. "分]"
  99.                         end]]
  100.                                 .. "1、宠物:[" .. char.getChar(petindextemp[1],"名字") .. "][" .. char.getInt(petindextemp[1],"转数") .. "转" .. char.getInt(petindextemp[1],"等级") .. "级][" .. pingfentemp[1] .. "]分"
  101.                                 .. "\n         [" .. char.getChar(petindextemp[2],"名字") .. "][" .. char.getInt(petindextemp[2],"转数") .. "转" .. char.getInt(petindextemp[2],"等级") .. "级][" .. pingfentemp[2] .. "]分"
  102.                                 .. "\n         [" .. char.getChar(petindextemp[3],"名字") .. "][" .. char.getInt(petindextemp[3],"转数") .. "转" .. char.getInt(petindextemp[3],"等级") .. "级][" .. pingfentemp[3] .. "]分"
  103.                                 .. "\n         [" .. char.getChar(petindextemp[4],"名字") .. "][" .. char.getInt(petindextemp[4],"转数") .. "转" .. char.getInt(petindextemp[4],"等级") .. "级][" .. pingfentemp[4] .. "]分"
  104.                         token = token .. "\n"
  105.                                                   .. "2、消耗:[" .. TM_Fame .. "声望] + "
  106.                                                   .. "[" .. TM_Vigor .."活力]".. "\n3、确定操作请输入确认码完成兑换("
  107.                                 local rndnum = math.random(101,999)
  108.                                 token = token .. rndnum .. ")"
  109.                                 char.setWorkInt(talkerindex,"NPC临时1",rndnum)
  110.                         lssproto.windows(talkerindex, "输入框", "确定|取消", 2, char.getWorkInt( meindex, "对象"), token)
  111.                 end
  112.         elseif seqno == 2 then
  113.                 if select == 1 then
  114.                         if data == "" then
  115.                                 char.TalkToCli(talkerindex, -1, "[温馨提示]确认码输入错误,请重新输入确认码,确认码为括号内的三位数字。", "随机色")
  116.                                 return
  117.                         end
  118.                         num = other.atoi(data)
  119.                         if num < 101 or num > 999 then
  120.                                 char.TalkToCli(talkerindex, -1, "[温馨提示]确认码输入错误,请重新输入确认码,确认码为括号内的三位数字。", "随机色")
  121.                                 return
  122.                         end
  123.                         if num ~= char.getWorkInt(talkerindex,"NPC临时1") then
  124.                                 char.TalkToCli(talkerindex, -1, "[温馨提示]确认码输入错误,请重新输入确认码,确认码为括号内的三位数字。", "随机色")
  125.                                 return
  126.                         end
  127.                         --[[local pet1 = -1
  128.                         local pet2 = -1
  129.                         for i=0,4 do
  130.                                 local petindex = char.getCharPet(talkerindex,i)
  131.                                 if char.check(petindex) == 1 then
  132.                                         local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
  133.                                         if pet1 == -1 then
  134.                                                 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
  135.                                                         pet1 = i
  136.                                                 end
  137.                                         elseif pet2 == -1 then
  138.                                                 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
  139.                                                         pet2 = i
  140.                                                         break
  141.                                                 end
  142.                                         end
  143.                                 end
  144.                         end
  145.                         if pet1 == -1 or pet2 == -1 then
  146.                         --if pet1 == -1 then
  147.                                 char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getEnemyTempNameFromEnemyID(TM_PetId1[1]) .. "]", "随机色")
  148.                                 return
  149.                         end
  150.                         if npc.Free(meindex,talkerindex, "ITEM=" .. TM_ItemId[1] .. "*" .. TM_ItemId[2]) < 1 then
  151.                                 char.TalkToCli(talkerindex, meindex, "您身上没有道具[" .. item.getNameFromNumber(TM_ItemId[1]).. "]", "随机色")
  152.                                 return
  153.                         end]]
  154.                         local petid = {-1,-1,-1,-1}
  155.                         for j=1,table.getn(TM_PetId2) do
  156.                                 for i=0,4 do
  157.                                         local petindex = char.getCharPet(talkerindex,i)
  158.                                         if char.check(petindex) == 1 then
  159.                                                 local pingfen = math.floor(char.getWorkInt(petindex, "最大HP")/4 + char.getWorkInt(petindex, "修正腕力") + char.getWorkInt(petindex, "修正耐力") + char.getWorkInt(petindex, "修正速度"))
  160.                                                 if petid[j] == -1 then
  161.                                                         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
  162.                                                                 petid[j] = i
  163.                                                                 break
  164.                                                         end
  165.                                                 end
  166.                                         end
  167.                                 end
  168.                         end
  169.                         for i=1,4 do
  170.                                 if petid[i] == -1 then
  171.                                         char.TalkToCli(talkerindex, meindex, "您身上没有满足条件的[" .. enemytemp.getChar(enemytemp.getEnemyTempArrayFromTempNo(TM_PetId2[i][1]),"名字") .. "]", "随机色")
  172.                                         return
  173.                                 end
  174.                         end
  175.                         if char.getInt(talkerindex,"声望") < TM_Fame * 100 then
  176.                                 char.TalkToCli(talkerindex, meindex, "您的声望小于" .. TM_Fame, "随机色")
  177.                                 return
  178.                         end
  179.                         if char.getInt(talkerindex,"活力") < TM_Vigor then
  180.                                 char.TalkToCli(talkerindex, meindex, "您的活力小于" .. TM_Vigor, "随机色")
  181.                                 return
  182.                         end
  183.                         --[[local petindex1 = char.getCharPet(talkerindex,pet1)
  184.                         local petindex2 = char.getCharPet(talkerindex,pet2)
  185.                         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, "修正速度")) .. "分]", "随机色")
  186.                         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, "修正速度")) .. "分]", "随机色")
  187.                         char.DelPet(talkerindex, petindex1)
  188.                         char.DelPet(talkerindex, petindex2)
  189.                         npc.DelItemNum(talkerindex, TM_ItemId[1] .. "," .. TM_ItemId[2])]]
  190.                         local petindextemp = {char.getCharPet(talkerindex,petid[1]),char.getCharPet(talkerindex,petid[2]),char.getCharPet(talkerindex,petid[3]),char.getCharPet(talkerindex,petid[4])}
  191.                         for i=1,4 do
  192.                                 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], "修正速度")) .. "分]", "随机色")
  193.                                 char.DelPet(talkerindex, petindextemp[i])
  194.                         end
  195.                         char.setInt(talkerindex, "声望", char.getInt(talkerindex, "声望") - TM_Fame * 100)
  196.                         char.setInt(talkerindex, "活力", char.getInt(talkerindex, "活力") - TM_Vigor)
  197.                         --char.TalkToCli(talkerindex, meindex, "扣除道具[" .. item.getNameFromNumber(TM_ItemId[1]) .. "] * " .. TM_ItemId[2], "随机色")
  198.                         char.TalkToCli(talkerindex, meindex, "扣除声望[" .. TM_Fame .. "]", "随机色")
  199.                         char.TalkToCli(talkerindex, meindex, "扣除活力[" .. TM_Vigor .. "]", "随机色")
  200.                         local newpetindex = char.AddPet(talkerindex,TM_PetId,1)
  201.                         char.talkToServer(-1, "〈普天同庆〉恭喜玩家 "..char.getChar(talkerindex,"名字").." 兑换限时宠物[" .. char.getChar(newpetindex,"名字") .. "]成功。", "随机色")
  202.                 end
  203.         end
  204. end


  205. function Create(name, metamo, floor, x, y, dir)
  206.         npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
  207.         char.setFunctionPointer(npcindex, "对话事件", "Talked", "")
  208.         char.setFunctionPointer(npcindex, "窗口事件", "WindowTalked", "")
  209. end

  210. function data()
  211.         TM_Fame = 50000 --需要声望
  212.         TM_Vigor = 50000 --需要活力
  213.         TM_ItemId = {21505,3} --需要道具编号
  214.         --TM_PetId1 = {3033,1,140,0}
  215.         TM_PetId2 = {{777,1,140,0},{3000,1,140,0},{3033,1,140,0},{3034,1,140,0}}
  216.         TM_PetId = 3046
  217. end

  218. function main()
  219.         Create("限时宠物兑换员", 60095, 1000, 82, 50, 6)
  220.         data()
  221. end
复制代码

回复

使用道具 举报

0

主题

49

回帖

44

积分

新手上路

Rank: 1

积分
44
石币
-5
发表于 2017-8-10 19:59:35 | 显示全部楼层
看看是什么
回复 支持 反对

使用道具 举报

4

主题

17

回帖

24

积分

新手上路

Rank: 1

积分
24
石币
3
发表于 2017-8-18 21:13:04 | 显示全部楼层
sf 票友枯井枯井枯枯井
回复 支持 反对

使用道具 举报

18

主题

159

回帖

286

积分

中级会员

Rank: 3Rank: 3

积分
286
石币
109
发表于 2017-12-8 01:52:26 | 显示全部楼层

感谢版主大大的分享 .....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|石器时代LA官方

GMT+8, 2024-3-29 03:33 , Processed in 0.118754 second(s), 21 queries .

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表