石器时代LA官方

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

[Ab Lua] 宠物换肤

[复制链接]
匿名
匿名  发表于 2023-2-22 15:06:36 |阅读模式
  1. function ShowHead(meindex, talkerindex)
  2.         if npc.isFaceToFace(meindex, talkerindex) == 1 then
  3.                 token = "3                『" .. char.getChar(meindex, "名字") .. "』\n"
  4.                                                 .."\n          请问您需要些什么服务呢??"
  5.                                                 .."\n               〖更换宠物外形〗"
  6.                                                 .."\n               〖恢复宠物外形〗"
  7.                 lssproto.windows(talkerindex, "选择框", "取消", 1, char.getWorkInt( meindex, "对象"), token)
  8.         end
  9. end

  10. function Talked(meindex, talkerindex , szMes, color )
  11.         if npc.isFaceToFace(meindex, talkerindex) == 1 then
  12.                 ShowHead(meindex, talkerindex)
  13.         end
  14. end

  15. function WindowTalked ( meindex, talkerindex, seqno, select, data)
  16.         if seqno == 1 then
  17.                 if select == 2 or select == 8 then
  18.                         return
  19.                 end
  20.                 local num = other.atoi(data)
  21.                 if num == 1 then
  22.                         local str
  23.                         if paymod == 1 then
  24.                                 str = "\n需要消耗〖" ..TM_JINBI.."金币〗\n按确定开始变身!"
  25.                         elseif paymod == 2 then
  26.                                 str = "\n需要消耗〖" ..TM_Fame.."声望〗与〖" ..TM_Vigor.."活力〗\n按确定开始变身!"
  27.                         end
  28.                         token = "\n宠物可互换外形,互换后不增加宠物属性"
  29.                         .."\n    ★★被提取外形的宠物会被删除★★"
  30.                         .."\n      ★★骑宠转换后不可骑乘★★"
  31.                         .."\n    ★★可骑乘的宠物不可提取外形★★"
  32.                         ..str
  33.                         lssproto.windows(talkerindex, "对话框", "确定|取消", 2, char.getWorkInt( meindex, "对象"), token)
  34.                 elseif num == 2 then
  35.                         if paymod == 1 then
  36.                                 token = "\n" .. "\n恢复宠物外形\n需要消耗〖" ..TM_JINBI.."金币〗\n按确定开始变身!"
  37.                         elseif paymod == 2 then
  38.                                 token = "\n" .. "\n恢复宠物外形\n需要消耗〖" ..TM_Fame.."声望〗与〖" ..TM_Vigor.."活力〗\n按确定开始变身!"
  39.                         end
  40.                         lssproto.windows(talkerindex, "对话框", "确定", 7, char.getWorkInt( meindex, "对象"), token)
  41.                 end
  42.         elseif seqno == 2 then
  43.                 if select == 1 or select == 4 then
  44.                         if paymod == 1 then
  45.                                 local TM_MYJB = sasql.getVipPoint(talkerindex)
  46.                                 if TM_MYJB<TM_JINBI then
  47.                                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗你的金币都不够,还想更换宠物外形?!", "随机色")
  48.                                         return
  49.                                 end                       
  50.                         elseif paymod == 2 then
  51.                                 local TM_MySW = char.getInt(talkerindex, "声望")
  52.                                 local TM_MyHL = char.getInt(talkerindex, "活力")
  53.                        
  54.                                 if TM_MySW < TM_Fame*100 then
  55.                                         char.TalkToCli(talkerindex, meindex, "〖温馨提示〗你的声望都不够,还想更换宠物外形?多挂机少说话~", "随机色")
  56.                                         return
  57.                                 end
  58.                        
  59.                                 if TM_MyHL < TM_Vigor then
  60.                                         char.TalkToCli(talkerindex, meindex, "〖温馨提示〗你的活力都不够,这次是帮不到你了,多在线点时间,活力自然就多了。", "随机色")
  61.                                         return
  62.                                 end
  63.                         end
  64.                         token = "\n"
  65.                                         .. "\n请选择需要换皮肤的宠物"
  66.                         lssproto.windows(talkerindex, "对话框", "确定", 3, char.getWorkInt( meindex, "对象"), token)
  67.                 end
  68.         elseif seqno == 3 then
  69.                 lssproto.windows(talkerindex, "宠物框", "取消", 4, char.getWorkInt( meindex, "对象"), "")
  70.         elseif seqno == 4 then
  71.                 pethaveid1 = other.atoi(data)
  72.                 if pethaveid1 < 1 or pethaveid1 > 5 then
  73.                         return
  74.                 end
  75.                 TM_PetIndex1 = char.getCharPet(talkerindex,pethaveid1-1)
  76.                 pet1 = TM_PetIndex1
  77.                 petpic1 = char.getInt(TM_PetIndex1,"图像号")
  78.                 yuanpetpic1 = char.getInt(TM_PetIndex1,"整数存储1")
  79.                 if yuanpetpic1 == pet1pic1 then
  80.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗此宠物曾经已经更换过外形,请恢复原本的样子再来吧!", "随机色")
  81.                         return
  82.                 elseif yuanpetpic1 ~= 0 then
  83.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗此宠物已经更换过外形,请恢复原本的样子再来吧!", "随机色")
  84.                         return
  85.                 end
  86.                 for i=1, #_PET do
  87.                         if _PET[i] == petpic1 then
  88.                                 char.TalkToCli(talkerindex, -1, "〖温馨提示〗此宠物无法变更外形!", "随机色")
  89.                                 return
  90.                         end
  91.                 end
  92.                
  93.                 token = "\n"
  94.                                         .. "\n         请选择用哪只宠物的外形"
  95.                                         .. "\n    ★★被提取外形的宠物会被删除★★"
  96.                                         .. "\n     ★★请慎重考虑好再点确定★★"
  97.                         lssproto.windows(talkerindex, "对话框", "确定", 5, char.getWorkInt( meindex, "对象"), token)
  98.         elseif seqno == 5 then
  99.                 lssproto.windows(talkerindex, "宠物框", "取消", 6, char.getWorkInt( meindex, "对象"), "")
  100.         elseif seqno == 6 then
  101.                 pethaveid2 = other.atoi(data)
  102.                 if pethaveid2 < 1 or pethaveid2 > 5 then
  103.                         return
  104.                 end
  105.                 TM_PetIndex2 = char.getCharPet(talkerindex,pethaveid2-1)
  106.                 pet2 = TM_PetIndex2
  107.                 petpic2 = char.getInt(TM_PetIndex2,"图像号")
  108.                
  109.                 if pet1 == pet2 then
  110.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗同一只宠物无法更换外形", "随机色")
  111.                         return       
  112.                 elseif petpic2 == petpic1 then
  113.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗两只一样外形的宠物无法更换外形", "随机色")
  114.                         return
  115.                 elseif char.getInt(TM_PetIndex2,"整数存储1") ~= 0 then
  116.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗更换过外形的宠物无法提取形象,请先恢复宠物外形", "随机色")
  117.                         return
  118.                 end
  119.                 for i=1 , #_RIDE do
  120.                         if _RIDE[i] == petpic2 then
  121.                                 char.TalkToCli(talkerindex, -1, "〖温馨提示〗更换外形失败,骑宠无法提取外形。", "随机色")
  122.                                 return
  123.                         end
  124.                 end
  125.                 if paymod == 1 then
  126.                         local TM_MYJB = sasql.getVipPoint(talkerindex)
  127.                         if TM_MYJB<TM_JINBI then
  128.                                 char.TalkToCli(talkerindex, -1, "〖温馨提示〗你的金币都不够,还想更换宠物外形?!", "随机色")
  129.                                 return
  130.                         end
  131.                         sasql.setVipPoint(talkerindex,TM_MYJB-TM_JINBI)
  132.                 elseif paymod == 2 then
  133.                         local TM_MySW = char.getInt(talkerindex, "声望")
  134.                         local TM_MyHL = char.getInt(talkerindex, "活力")       
  135.                         if TM_MySW < TM_Fame*100 then
  136.                                 char.TalkToCli(talkerindex, meindex, "〖温馨提示〗你的声望都不够,还想换宠物外形?多挂机少说话~", "随机色")
  137.                                 return
  138.                         end
  139.                         if TM_MyHL < TM_Vigor then
  140.                                 char.TalkToCli(talkerindex, meindex, "〖温馨提示〗你的活力都不够,这次是帮不到你了,多在线点时间,活力自然就多了。", "随机色")
  141.                                 return
  142.                         end
  143.                         char.setInt(talkerindex, "声望", char.getInt(talkerindex, "声望") - TM_Fame*100)
  144.                         char.setInt(talkerindex, "活力", char.getInt(talkerindex, "活力") - TM_Vigor)
  145.                 end
  146.                 --char.TalkToCli(talkerindex, -1, "更换前pet1图像号"..char.getInt(pet1,"图像号"), "随机色")
  147.                 --char.TalkToCli(talkerindex, -1, "更换前pet2图像号".. char.getInt(pet2,"图像号"), "随机色")
  148.                 --char.TalkToCli(talkerindex, -1, "更换前pet1原图像号"..char.getInt(pet1,"原图像号"), "随机色")
  149.                 --char.TalkToCli(talkerindex, -1, "更换前pet2原图像号"..char.getInt(pet2,"原图像号"), "随机色")
  150.                 char.setInt(pet1,"图像号",petpic2)
  151.                 char.setInt(pet2,"图像号",petpic1)
  152.                 char.setInt(pet1,"原图像号",petpic2)
  153.                 char.setInt(pet2,"原图像号",petpic1)
  154.                 char.setInt(TM_PetIndex1,"整数存储1",petpic1)
  155.                 char.setInt(TM_PetIndex2,"整数存储1",petpic2)
  156.                 --char.TalkToCli(talkerindex, -1, "更换后整数存储1="..char.getInt(TM_PetIndex1,"整数存储1"), "随机色")
  157.                 --char.TalkToCli(talkerindex, -1, "更换后pet1图像号"..char.getInt(pet1,"图像号"), "随机色")
  158.                 --char.TalkToCli(talkerindex, -1, "更换后pet2图像号"..char.getInt(pet2,"图像号"), "随机色")
  159.                 --char.TalkToCli(talkerindex, -1, "更换后pet1原图像号"..char.getInt(pet1,"原图像号"), "随机色")
  160.                 --char.TalkToCli(talkerindex, -1, "更换后pet2原图像号"..char.getInt(pet2,"原图像号"), "随机色")
  161.                 char.sendStatusString(talkerindex, "K" .. pethaveid1 - 1)
  162.                 char.sendStatusString(talkerindex, "K" .. pethaveid2 - 1)
  163.                 if deletepet == 1 then
  164.                         char.DelPet(talkerindex, pet2)--删除被提取外形的宠物
  165.                 end
  166.                 if paymod == 1 then
  167.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗变身消耗了您 "..TM_JINBI.." 金币!" , "随机色")
  168.                 elseif paymod == 2 then
  169.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗变身消耗了您 "..TM_Fame.." 声望!" , "随机色")
  170.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗变身消耗了您 "..TM_Vigor.." 活力!" , "随机色")
  171.                 end
  172.                 char.TalkToCli(talkerindex, -1, "〖温馨提示〗恭喜您的宠物成功改变外形。" , "随机色")
  173.         elseif seqno == 7 then
  174.                 lssproto.windows(talkerindex, "宠物框", "取消", 8, char.getWorkInt( meindex, "对象"), "")
  175.         elseif seqno == 8 then
  176.                
  177.                 pethaveid1 = other.atoi(data)
  178.                 if pethaveid1 < 1 or pethaveid1 > 5 then
  179.                         return
  180.                 end

  181.                 if paymod == 1 then
  182.                         local TM_MYJB = sasql.getVipPoint(talkerindex)
  183.                         if TM_MYJB<TM_JINBI then
  184.                                 char.TalkToCli(talkerindex, -1, "〖温馨提示〗你的金币都不够,还想更换宠物外形?!", "随机色")
  185.                                 return
  186.                         end
  187.                         sasql.setVipPoint(talkerindex,TM_MYJB-TM_JINBI)
  188.                 elseif paymod == 2 then
  189.                         local TM_MySW = char.getInt(talkerindex, "声望")
  190.                         local TM_MyHL = char.getInt(talkerindex, "活力")
  191.                        
  192.                         if TM_MySW < TM_Fame*100 then
  193.                                 char.TalkToCli(talkerindex, meindex, "〖温馨提示〗你的声望都不够,还想换宠物外形?多挂机少说话~", "随机色")
  194.                                 return
  195.                         end
  196.                        
  197.                         if TM_MyHL < TM_Vigor then
  198.                                 char.TalkToCli(talkerindex, meindex, "〖温馨提示〗你的活力都不够,这次是帮不到你了,多在线点时间,活力自然就多了。", "随机色")
  199.                                 return
  200.                         end       
  201.                         char.setInt(talkerindex, "声望", char.getInt(talkerindex, "声望") - TM_Fame*100)
  202.                         char.setInt(talkerindex, "活力", char.getInt(talkerindex, "活力") - TM_Vigor)
  203.                 end

  204.                 TM_PetIndex1 = char.getCharPet(talkerindex,pethaveid1-1)
  205.                 pet1 = TM_PetIndex1
  206.                 petpic1 = char.getInt(TM_PetIndex1,"图像号")
  207.                 yuanpetpic1 = char.getInt(TM_PetIndex1,"整数存储1")
  208.                 if yuanpetpic1 == 0 then
  209.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗宠物已经是原本的形象,无需恢复", "随机色")
  210.                         return
  211.                 end
  212.                 char.setInt(pet1,"图像号",yuanpetpic1)
  213.                 char.setInt(pet1,"原图像号",yuanpetpic1)
  214.                 char.setInt(TM_PetIndex1,"整数存储1",0)
  215.                 char.sendStatusString(talkerindex, "K" .. pethaveid1 - 1)
  216.                 if paymod == 1 then
  217.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗变身消耗了您 "..TM_JINBI.." 金币!" , "随机色")
  218.                 elseif paymod == 2 then
  219.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗变身消耗了您 "..TM_Fame.." 声望!" , "随机色")
  220.                         char.TalkToCli(talkerindex, -1, "〖温馨提示〗变身消耗了您 "..TM_Vigor.." 活力!" , "随机色")
  221.                 end
  222.                 char.TalkToCli(talkerindex, -1, "〖温馨提示〗恭喜您的宠物外形成功恢复。" , "随机色")
  223.         elseif seqno == 9 then
  224.                 return
  225.         end
  226.        
  227. end


  228. function Create(name, metamo, floor, x, y, dir)
  229.         npcindex = npc.CreateNpc(name, metamo, floor, x, y, dir)
  230.         char.setFunctionPointer(npcindex, "对话事件", "Talked", "")
  231.         char.setFunctionPointer(npcindex, "窗口事件", "WindowTalked", "")
  232. end

  233. function data()
  234.         pet1 = 0
  235.         pet2 = 0
  236.         petpic1 = 0
  237.         petpic2 = 0
  238.         yuanpetpic1 = 0
  239.         yuanpetpic2 = 0
  240.         pethaveid1 = 0
  241.         pethaveid2 = 0
  242.         TM_PetIndex1 = 0
  243.         TM_PetIndex2 = 0
  244.         paymod = 1 --付款方式1为金币2为声望活力
  245.         TM_JINBI = 50 --需要金币
  246.         TM_Fame = 1 --需要声望
  247.         TM_Vigor = 1 --需要活力
  248.         deletepet = 1 --是否删除被提取外形的宠物1为是0为不删除
  249.         _PET = {101427,101424,101425,101426}--不能更换形象的宠物
  250.         _RIDE = {100327,100328,100329,100330}--不能提取形象的宠物
  251. end

  252. function main()
  253.         Create("宠物换肤大师", 100780, 2000, 61, 33, 4)
  254.         data()
  255. end
复制代码


回复

使用道具 举报

10

主题

35

回帖

62

积分

注册会员

Rank: 2

积分
62
石币
17
发表于 2023-3-14 12:02:06 | 显示全部楼层
好东西,必须顶
回复 支持 反对

使用道具 举报

5

主题

439

回帖

812

积分

高级会员

Rank: 4

积分
812
石币
368
发表于 2023-3-17 02:43:36 | 显示全部楼层
原來是這樣 收下了
回复 支持 反对

使用道具 举报

10

主题

35

回帖

62

积分

注册会员

Rank: 2

积分
62
石币
17
发表于 2023-3-30 12:57:35 | 显示全部楼层
顶一个顶一个
回复 支持 反对

使用道具 举报

0

主题

28

回帖

33

积分

新手上路

Rank: 1

积分
33
石币
5
发表于 2023-10-6 11:26:00 | 显示全部楼层
谢谢大佬 感觉这个很厉害啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 22:50 , Processed in 0.119375 second(s), 21 queries .

Copyright © 2001-2023, Tencent Cloud.

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