Last updated on
石器时代LNS装备强化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