魔力宝贝

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

[GP] getpetBp.lua--宠物NPC算档

[复制链接]
发表于 前天 02:50 | 显示全部楼层 |阅读模式
Global_Reg.RegInit("getpetBp_Init");

function getpetBp_Init()
        getpetBp_Init2();
        return 0;
end

function getpetBp_Init2(npc)
        if npc == nil or npc < 0 then
        npc = NL.CreateNpc(nil,"getpetBp_Init3")
        end
        Char.SetData(npc,%对象_形象%,106089);
        Char.SetData(npc,%对象_原形%,106089);
        Char.SetData(npc,%对象_X%,7);
        Char.SetData(npc,%对象_Y%,2);
        Char.SetData(npc,%对象_地图%,60005);
        Char.SetData(npc,%对象_方向%,4);
        Char.SetData(npc,%对象_原名%,"宠物算档大师");
        LuaNpcIndex["getpetdw_index"]=npc;
        InstallNpc("getpetdw_index",npc);
        Char.SetTalkedEvent(nil,"GetPetBpMsg", npc);
        Char.SetWindowTalkedEvent(nil,"GetPetBpsA",npc);
        NLG.UpChar(npc);
        return true
end

function getpetBp_Init3(index)
        return true;
end

function GetPetBpMsg(_me,_tome)
        if (NLG.CanTalk(_me,_tome) == true) then
                str_ChangeWindow = "4|\\n\\n                         你好!我是阿凯鲁法村的宠物鉴定大师希伯来.\\n                                 我可以帮你计算你所选择的宠物的档数哦!...\\n\\n";
                for i=0,4 do
                        local pet = Char.GetPet(_tome,i);

                        if(pet <= 0)then
                                str_ChangeWindow = str_ChangeWindow .. "                                                  空\\n";
                        else
                                str_ChangeWindow = str_ChangeWindow .. "                                                  "..Char.GetData(pet,%对象_原名%).."\\n";
                        end
                end
                NLG.ShowWindowTalked(_tome,%窗口_选择框%,%按钮_关闭%,1,str_ChangeWindow,_me);
                return;
        end
end
function GetPetBpsA(_MeIndex,_PlayerIndex,_seqno,_select,_data)
        if ((_select == 0 or _select == "0") and (_data ~= "")) then
                local selectitem = tonumber(_data) - 1;
                if (selectitem==nil or (selectitem~=nil and (selectitem > 4 or selectitem < 0))) then
                                NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_关闭%,1,"\\n\\n\\n您所选择的位置不正常!",_MeIndex);
                                return;
                end
                local pet_indexA = Char.GetPet(_PlayerIndex,selectitem);
                if (pet_indexA <= 0) then
                        NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_关闭%,1,"\\n\\n\\n请确定您对应的宠物栏有宠物!",_MeIndex);
                        return;
                end
                local petIndex = Char.GetData(pet_indexA,1);
                local arr_rank1 = Pet.GetArtRank(pet_indexA,%宠档_体成%);
                local arr_rank11 = Pet.FullArtRank(pet_indexA,%宠档_体成%);
                local arr_rank2 = Pet.GetArtRank(pet_indexA,%宠档_力成%);
                local arr_rank21 = Pet.FullArtRank(pet_indexA,%宠档_力成%);
                local arr_rank3 = Pet.GetArtRank(pet_indexA,%宠档_强成%);
                local arr_rank31 = Pet.FullArtRank(pet_indexA,%宠档_强成%);
                local arr_rank4 = Pet.GetArtRank(pet_indexA,%宠档_敏成%);
                local arr_rank41 = Pet.FullArtRank(pet_indexA,%宠档_敏成%);
                local arr_rank5 = Pet.GetArtRank(pet_indexA,%宠档_魔成%);
                local arr_rank51 = Pet.FullArtRank(pet_indexA,%宠档_魔成%);
                local a1 = math.abs(arr_rank1 - arr_rank11);
                local a2 = math.abs(arr_rank2 - arr_rank21);
                local a3 = math.abs(arr_rank3 - arr_rank31);
                local a4 = math.abs(arr_rank4 - arr_rank41);
                local a5 = math.abs(arr_rank5 - arr_rank51);
                local a6 = a1 + a2+ a3+ a4+ a5;
                local writestr = "";
                if(a6==0)then
                        writestr = "宠物名:"..Char.GetData(pet_indexA,%对象_名字%).."\\n"
                                        .."\\n\\n恭喜你!!!\\n\\n该宠物总掉档数: 掉["..a6.."]档\\n";
                else
                        writestr = "宠物名:"..Char.GetData(pet_indexA,%对象_名字%).."\\n"
                                        .."体力掉档数:掉["..a1.."]档\\n"
                                        .."力量掉档数:掉["..a2.."]档\\n"
                                        .."防御掉档数:掉["..a3.."]档\\n"
                                        .."敏捷掉档数:掉["..a4.."]档\\n"
                                        .."魔法掉档数:掉["..a5.."]档\\n"
                                        .."该宠物总掉档数: 掉["..a6.."]档\\n";
                end
                NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_关闭%,10,writestr,_MeIndex);
        end
end


回复

使用道具 举报

Archiver|魔力研究社

GMT+8, 2025-5-12 18:11 , Processed in 0.114508 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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