搜索
LUA

LUA

本版块未设置版块简介!请后台版块编辑添加。
  •  帖子: 115
  •  讨论: 115
  •  关注: 0

PetRebirth.lua--宠物洗档

GA 发表于 2025-5-10 02:21:50 | 显示全部楼层 |阅读模式
124 0
Delegate.RegInit("PetRebirth_Init");
NL.RegItemString(nil, "PetRebirth", "LUA_usePetRebirth");
local PetRebirthID = 65015;                                        --洗档物品ID
function PetRebirth_Creat()
        if (PetRebirth_index == nil) then
                PetRebirth_index = NL.CreateNpc(nil, "PetRebirth_initialize");
                Char.SetData(PetRebirth_index, %对象_形象%, 107103);    --%对象_形象%
                Char.SetData(PetRebirth_index, %对象_原形%, 107103);    --%对象_原形%
                Char.SetData(PetRebirth_index, %对象_MAP%, 0);     --%对象_地图类型%
                Char.SetData(PetRebirth_index, %对象_地图%, 777);      --%对象_地图%
                Char.SetData(PetRebirth_index, %对象_X%, 47);          --%对象_X%
                Char.SetData(PetRebirth_index, %对象_Y%, 50);           --%对象_Y%
                Char.SetData(PetRebirth_index, %对象_方向%, %右下%);    --%对象_方向%, %右下%
                Char.SetData(PetRebirth_index, %对象_原名%, "宠物再生大师");    --%对象_原名%
                NLG.UpChar(PetRebirth_index);
                if (Char.SetTalkedEvent(nil, "PetRebirth_Talked", PetRebirth_index) < 0) then
                        print("PetRebirth_Talked 注册事件失败。");
                        return false;
                end
                if (Char.SetWindowTalkedEvent(nil, "PetRebirth_WindowTalked", PetRebirth_index) < 0) then
                        print("PetRebirth_WindowTalked 注册事件失败。");
                        return false;
                end
               
        end
        return true;
end

function PetRebirth_initialize()
        return true;
end

function PetRebirth(player,toplayer,itemSlot)
        PetRebirth_Talked( PetRebirth_index,player)
        return true;
end

function PetRebirth_Talked( _MePtr,_TalkPtr)
        NLG.ShowWindowTalked(_TalkPtr,_MePtr,0,12,0,
        "\n  你好!["..Char.GetData(_TalkPtr,%对象_原名%).."],一个神奇的卷轴,可以让你的宠物保留所学技能、修正和等级重新洗分布档数,你确定要使用么?"..
        "\n\n我可以让你的宠物脱胎换骨!");
return;
end

function PetRebirth_WindowTalked(_MePtr,_TalkPtr,_Seqno,_Select,_Data)
        if (_Select==8) then
                NLG.ShowWindowTalked(_TalkPtr,_MePtr,0,1,11,"是么,你想好了再来。找我只要双击卷轴就行了。");
                return;
        end
        local tab={};
        if (_Seqno==0) then
                local buf="";
                for t = 1,5 do
                       
                        PetIndex =Char.GetPet(_TalkPtr,t-1);
                        if (PetIndex>0) then
                                buf=Char.GetData( PetIndex, %对象_原名%);
                        else
                                buf="无宠物";
                               
                               
                        end
                        tab[t]=buf;
                       
                end       
                NLG.ShowWindowTalked(_TalkPtr,_MePtr,2,2,1,
                "2\n请选择:"..
                "\n\n       ["..tab[1].."]"..
                "\n       ["..tab[2].."]"..
                "\n       ["..tab[3].."]"..
                "\n       ["..tab[4].."]"..
                "\n       ["..tab[5].."]");
               
               
               
        end
        if (_Seqno==1) then
                local PetIndex1=Char.GetPet(_TalkPtr,tonumber(_Data)-1);
                if(PetIndex1 < 0)then
                        NLG.SystemMessage(_TalkPtr,"您选择的位置异常。");
                        return;
               
                end

               
                if(Char.GetData(PetIndex1,%对象_脸%) ~= 1) then
                        NLG.SystemMessage(_TalkPtr,"无法为野生宠物提供洗档服务。");
                        return;
                end
       
                local itemindex = Char.HaveItem(_TalkPtr,PetRebirthID);
                if (itemindex < 0) then
                        LG.TalkToCli(_TalkPtr,_MePtr,"抱歉你没有洗档券。",4,0);
                               
                else       
                        Char.DelItem(_TalkPtr,PetRebirthID,1)
                        Pet.SetArtRank(PetIndex1,%宠档_体成%,Pet.FullArtRank(PetIndex1,%宠档_体成%) - NLG.Rand(0,4));
                        Pet.SetArtRank(PetIndex1,%宠档_力成%,Pet.FullArtRank(PetIndex1,%宠档_力成%) - NLG.Rand(0,4));
                        Pet.SetArtRank(PetIndex1,%宠档_强成%,Pet.FullArtRank(PetIndex1,%宠档_强成%) - NLG.Rand(0,4));
                        Pet.SetArtRank(PetIndex1,%宠档_敏成%,Pet.FullArtRank(PetIndex1,%宠档_敏成%) - NLG.Rand(0,4));
                        Pet.SetArtRank(PetIndex1,%宠档_魔成%,Pet.FullArtRank(PetIndex1,%宠档_魔成%) - NLG.Rand(0,4));
                        local jingyan = Char.GetData(PetIndex1,%对象_经验%);
                        Pet.ReBirth(_TalkPtr,PetIndex1);
                        Char.SetData(PetIndex1,%对象_经验%,jingyan);
                        Pet.UpPet(_TalkPtr, PetIndex1);
                       
                end

               
        end
end

function PetRebirth_Init()
        PetRebirth_Creat()
       
end


回复

使用道具 举报

全部评论

暂无评论,期待您打破宁静

TA的帖子
相关帖子
  • admin 2025-5-10

    #先到阿斯提亞鎮 打完UD找到NPC卡蓮 拿到給LBLS 的信 然後去打LBLS 再打完 LBLS以後 ...

  • admin 2025-5-10

    用本目录下文件"内容"覆盖服务器data目录下同名文件相应"内容" 请勿直接覆盖文件本身 ...

  • admin 2025-5-11

    ############## 城城的武器强化系统 ############## #剑1 block StrCmpChat == 700 W ...

  • admin 2025-5-11

    魔力宝贝手动架设中遇到的问题及解决方法魔力宝贝手动架设教程—魔力私服,魔力宝贝私 ...

  • admin 2025-5-12

    起始地点法兰城的竞技场的贝贝(34.36)头目战╳ 必要条件---必要等级Lv1 职业限定---建 ...

  • admin 2025-5-12

    1.与里谢里雅堡的H1N1防疫宣传员(28,77)说话,取得"防疫小口罩"。 图例物品名称等级种 ...

  • admin 2025-5-12

    魅惑的哈密瓜无取得宠物「哈密瓜公主」╳╳○ 起始地点魔法大学头目战╳ 必要条件--- ...

  • admin 2025-5-12

    起始地点法兰城的里谢里雅堡头目战○ 必要条件---必要等级--- 职业限定---建议等级--- ...

  • admin 2025-5-12

    起始地点法兰城的里谢里雅堡头目战○ 必要条件---必要等级--- 职业限定---建议等级--- ...

  • admin 2025-5-12

    起始地点法兰城的冒险者旅馆头目战○ 必要条件---必要等级--- 职业限定---建议等级LV8 ...

发布 联系QQ