Last updated on

石器时代LNS装备强化LUA脚本

游戏石器时代#石器时代#lua脚本

脚本名称:石器时代LNS装备强化LUA脚本 功能描述:仿allblue’s祝福宝石,装备强化系统,具体到AB论坛看吧 脚本来源:9292石器时代研究中心


function EquipPlus_PPlus(charaindex,itemindex,itemid)
        local buf = Item.GetData(itemindex,%道具_原名%);
        local buf2 = Item.GetData(itemindex,%道具_名%);
        --1~9级需要的加强材料,最后一项不要改
        local itemtbl = {23679,23679,23679,23679,23679,23679,23680,23680,23680,-1};
        --1~9级需要的材料数量,最后一项不要改
        local itemnumtbl = {1,1,1,1,1,1,1,1,1,1};
        local level = 0;
        if( (buf.."+1") == buf2)then
                level = 1;
        elseif( (buf.."+2") == buf2)then
                level = 2;
        elseif( (buf.."+3") == buf2)then
                level = 3;
        elseif( (buf.."+4") == buf2)then
                level = 4;
        elseif( (buf.."+5") == buf2)then
                level = 5;
        elseif( (buf.."+6") == buf2)then
                level = 6;
        elseif( (buf.."+7") == buf2)then
                level = 7;
        elseif( (buf.."+8") == buf2)then
                level = 8;
        elseif( (buf.."+9") == buf2)then
                level = 9;
        end
        if(level == 9)then
                NLG.TalkToCli(charaindex,"无法再加强.");
                return;
        end
        if (Char.FindItemId(charaindex,itemtbl[level+1]) < itemnumtbl[level+1]) then
                NLG.TalkToCli(charaindex,"缺少加强所需道具.");
                return;
        end
                                        --这里是概率,现在是1/10,改10为2则1/2的概率
        local randnum = math.floor(math.random(1, 3));
        if(randnum == 1)then
                if(level == 8 or level == 7)then
                        --这是9级加强
                        Item.SetData(itemindex,%道具_附攻%, Item.GetData(itemindex,%道具_附攻%) + 15);
                        --加HP
                        Item.SetData(itemindex,%道具_附体%, Item.GetData(itemindex,%道具_附体%) + 15);
                        --加MP
                        Item.SetData(itemindex,%道具_附气%, Item.GetData(itemindex,%道具_附气%) + 15);
                        Item.SetData(itemindex,%道具_附防%, Item.GetData(itemindex,%道具_附防%) + 15);
                        Item.SetData(itemindex,%道具_附敏%, Item.GetData(itemindex,%道具_附敏%) + 15);
                else
                        Item.SetData(itemindex,%道具_附攻%, Item.GetData(itemindex,%道具_附攻%) + 5);
                        --加HP
                        Item.SetData(itemindex,%道具_附体%, Item.GetData(itemindex,%道具_附体%) + 5);
                        --加MP
                        Item.SetData(itemindex,%道具_附气%, Item.GetData(itemindex,%道具_附气%) + 5);
                        Item.SetData(itemindex,%道具_附防%, Item.GetData(itemindex,%道具_附防%) + 5);
                        Item.SetData(itemindex,%道具_附敏%, Item.GetData(itemindex,%道具_附敏%) + 5);
                end
                local buff = Item.GetData(itemindex,%道具_原名%).."+"..level+1;
                Item.SetData(itemindex,%道具_名%,buff);
                local buff = Item.GetData(itemindex,%道具_说明%);
                if level == 0 then
                        local i,j;
                        i,j = string.find(buff,"次加强");
                        if(i ~=2 or j ~= 7)then
                                buff = "1次加强"..buff;
                        else
                                buff = string.gsub(buff,level,level+1);
                        end
                else
                        buff = string.gsub(buff,level,level+1);
                end
                Item.SetData(itemindex,%道具_说明%,buff);

                NLG.DelItem(charaindex,itemtbl[level+1],itemnumtbl[level+1]);
                NLG.TalkToCli(charaindex,"加强成功,请重新登陆以更新道具属性.");
                NLG.TalkToCli(-1,"恭喜"..Char.GetData(charaindex,%对象_原名%).."成功加强装备"..Item.GetData(itemindex,%道具_原名%)..",现在是+"..level+1,%红色%);
                return;
        else
                NLG.DelItem(charaindex,itemtbl[level+1],itemnumtbl[level+1]);
                                        --降级概率,现在是1/2,改2为3则变为1/3
                randnum = math.floor(math.random(1,2));
                if randnum == 1 then
                        if(level == 0)then
                        NLG.TalkToCli(charaindex,"加强道具失败");
                        return;
                        end
                        if(level == 8 or level == 7 or level == 6)then
                                Item.SetData(itemindex,%道具_附攻%, Item.GetData(itemindex,%道具_附攻%) - 15*(level-7) - 5 * 7);
                                Item.SetData(itemindex,%道具_附防%, Item.GetData(itemindex,%道具_附防%) - 15*(level-7) - 5 * 7);
                                Item.SetData(itemindex,%道具_附敏%, Item.GetData(itemindex,%道具_附敏%) - 15*(level-7) - 5 * 7);
                                Item.SetData(itemindex,%道具_附体%, Item.GetData(itemindex,%道具_附体%) - 15*(level-7) - 5 * 7);
                                Item.SetData(itemindex,%道具_附气%, Item.GetData(itemindex,%道具_附气%) - 15*(level-7) - 5 * 7);
                                local buff = Item.GetData(itemindex,%道具_原名%);
                                Item.SetData(itemindex,%道具_名%,buff);
                                local buff = Item.GetData(itemindex,%道具_说明%);
                                buff = string.gsub(buff,level,"0");
                                Item.SetData(itemindex,%道具_说明%,buff);
                                NLG.TalkToCli(charaindex,"加强道具失败,降至零级");
                        else
                                Item.SetData(itemindex,%道具_附攻%, Item.GetData(itemindex,%道具_附攻%) - 5);
                                Item.SetData(itemindex,%道具_附防%, Item.GetData(itemindex,%道具_附防%) - 5);
                                Item.SetData(itemindex,%道具_附敏%, Item.GetData(itemindex,%道具_附敏%) - 5);
                                Item.SetData(itemindex,%道具_附体%, Item.GetData(itemindex,%道具_附体%) - 5);
                                Item.SetData(itemindex,%道具_附气%, Item.GetData(itemindex,%道具_附气%) - 5);
                                local buff = Item.GetData(itemindex,%道具_原名%).."+"..level-1;
                                Item.SetData(itemindex,%道具_名%,buff);
                                local buff = Item.GetData(itemindex,%道具_说明%);
                                buff = string.gsub(buff,level,level-1);
                                Item.SetData(itemindex,%道具_说明%,buff);
                                NLG.TalkToCli(charaindex,"加强道具失败,降一级");
                                end

                        return;
                else
                        NLG.TalkToCli(charaindex,"加强道具失败");
                end




        end
end