Hey, i`m looking forward for a augment script or plugin for interlude client, to be more specific L2Mid private server and none of already posted scripts works for me, tried to edit some of them but my editing skills are low so no success.
If there is someone with high skills on coding i will post here a plugin that seemed to work on lot of servers, mby u guys can make it work for interlude.
Code:
function Initialize()
customSkillIDs1 = {}; -- AUGMENT IDS OF CUSTOM SKILL 1 SEPERATED WITH COMMA (EXAMPLE: customSkillIDs1 = {000,111,222};)
customSkillIDs2 = {}; -- AUGMENT IDS OF CUSTOM SKILL 2 SEPERATED WITH COMMA (EXAMPLE: customSkillIDs2 = {000,111,222};)
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
--[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]----[[]]--
npcName = "Pushkin";
Gemstone_Count = 0;
Gemstone_Id = 0;
Lifestone_Id = 0;
Weapon_Id = 0;
Augments = {false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false};
augmentIDs1 = {14683,14861,15039,15217,15395,15573,15751,15929,16107,16285,29476,21367,23005,29654,24643,29832};
augmentIDs2 = {14609,14787,14965,15143,15321,15499,15677,15855,16033,16211};
augmentIDs3 = {14731,14732,14909,14910,15087,15088,15265,15443,15621,15799,15977,16155,16333};
augmentIDs4 = {14685,14686,14687,14688,14863,14864,14865,14866,15041,15042,15043,15044,15221,15399,15577,15755,15933,16111,16289};
augmentIDs5 = {14681,14859,15037,15215,15393,15571,15749,15927,16105,16283};
augmentIDs6 = {14604,14782,14960,15138,15316,15494,15672,15850,16028,16206};
augmentIDs7 = {14682,14860,15038,15216,15394,15572,15750,15928,16106,16284};
augmentIDs8 = {14606,14784,14962,15140,15318,15496,15674,15852,16030,16208};
augmentIDs9 = {15266,15444,15622,15800,15978,16156,16334};
augmentIDs10 = {15222,15400,15578,15756,15934,16112,16290,29659,24648,15578,23010,29481,21372,29837};
augmentIDs11 = {14733,14911,15089,15267,15445,15623,15801,15979,16157,16335};
augmentIDs12 = {14588,14766,14944,15122,15300,15478,15656,15834,16012,16190};
augmentIDs13 = {14734,14912,15090,15268,15446,15624,15802,15980,16158,16336};
augmentIDs14 = {14692,14693,14695,14696,14870,15048,15226,15404,15582,15760,15938,16116,16294};
augmentIDs15 = {14593,14771,14949,15127,15305,15483,15661,15839,16017,16195};
augmentIDs16 = {14691,14869,15047,15225,15403,15581,15759,15937,16115,16293};
augmentIDs17 = {15219,15397,15575,15753,15931,16109,16287,15233,15411,15589,15767,15945,16123,16301,15229,15407,15585,15763,15941,16119,16297};
augmentIDs18 = {16341,16345,16349,16353,16357,16361,16365,16369,16373,16377};
augmentIDs19 = {14679,14857,15035,15213,15391,15569,15747,15925,16103,1628};
augmentIDs20 = {14594,14772,14950,15128,15306,15484,15662,15840,16018,16196};
augmentIDs21 = {14729,14730,14907,14908,15085,15086,15264,15442,15620,15798,15976,16154,16332};
augmentIDs22 = {14579,14757,14935,15113,15291,15469,15647,15825,16003,16181};
augmentIDs = {};
threadStarted = false;
end;
function OnCreate()
Initialize();
this:RegisterCommand("augment", CommandChatType.CHAT_CMD2, CommandAccessLevel.ACCESS_ME);
end;
function OnCommand_augment(vCommandChatType, vNick, vCommandParam)
if (vCommandParam:GetCount() == 0) then
if (threadStarted) then
threadStarted = false;
ShowToClient("iAugment","Stopped by user!");
AugmentDialog();
else
AugmentDialog();
end;
elseif (vCommandParam:GetCount() == 1) then
if (vCommandParam:GetParam(0):GetStr(true) == "Augment") then
if (threadStarted == false) then
threadStarted = true;
this:StartThread("doChecks");
end;
else
DoAction(vCommandParam:GetParam(0):GetStr(true));
end;
elseif (vCommandParam:GetCount() == 2) then
if (vCommandParam:GetParam(0):GetStr(true) == "SetWeap") then
Weapon_Id = tonumber(vCommandParam:GetParam(1):GetStr(true));
AugmentDialog();
elseif (vCommandParam:GetParam(0):GetStr(true) == "SetLS") then
Lifestone_Id = tonumber(vCommandParam:GetParam(1):GetStr(true));
AugmentDialog();
elseif (vCommandParam:GetParam(0):GetStr(true) == "SetGem") then
Gemstone_Id = tonumber(vCommandParam:GetParam(1):GetStr(true));
AugmentDialog();
elseif (vCommandParam:GetParam(0):GetStr(true) == "SetAug") then
if (vCommandParam:GetParam(1):GetStr(true) == "PvPPAtkP") then
Switch(1);
elseif (vCommandParam:GetParam(1):GetStr(true) == "PvPPAtkA") then
Switch(2);
elseif (vCommandParam:GetParam(1):GetStr(true) == "FocusP") then
Switch(3);
elseif (vCommandParam:GetParam(1):GetStr(true) == "FocusA") then
Switch(4);
elseif (vCommandParam:GetParam(1):GetStr(true) == "MightP") then
Switch(5);
elseif (vCommandParam:GetParam(1):GetStr(true) == "MightA") then
Switch(6);
elseif (vCommandParam:GetParam(1):GetStr(true) == "ShieldP") then
Switch(7);
elseif (vCommandParam:GetParam(1):GetStr(true) == "ShieldA") then
Switch(8);
elseif (vCommandParam:GetParam(1):GetStr(true) == "ReflectP") then
Switch(9);
elseif (vCommandParam:GetParam(1):GetStr(true) == "ReflectA") then
Switch(10);
elseif (vCommandParam:GetParam(1):GetStr(true) == "GuidanceP") then
Switch(11);
elseif (vCommandParam:GetParam(1):GetStr(true) == "GuidanceA") then
Switch(12);
elseif (vCommandParam:GetParam(1):GetStr(true) == "WildMagicP") then
Switch(13);
elseif (vCommandParam:GetParam(1):GetStr(true) == "WildMagicA") then
Switch(14);
elseif (vCommandParam:GetParam(1):GetStr(true) == "Heal") then
Switch(15);
elseif (vCommandParam:GetParam(1):GetStr(true) == "Barrier") then
Switch(16);
elseif (vCommandParam:GetParam(1):GetStr(true) == "Refresh") then
Switch(17);
elseif (vCommandParam:GetParam(1):GetStr(true) == "STR") then
Switch(18);
elseif (vCommandParam:GetParam(1):GetStr(true) == "EmpowerP") then
Switch(19);
elseif (vCommandParam:GetParam(1):GetStr(true) == "EmpowerA") then
Switch(20);
elseif (vCommandParam:GetParam(1):GetStr(true) == "EvasionP") then
Switch(21);
elseif (vCommandParam:GetParam(1):GetStr(true) == "EvasionA") then
Switch(22);
elseif (vCommandParam:GetParam(1):GetStr(true) == "Custom1") then
Switch(23);
elseif (vCommandParam:GetParam(1):GetStr(true) == "Custom2") then
Switch(24);
end;
DoDialog("Set Augments");
end;
end;
end;
doChecks = coroutine.wrap( function()
repeat
joinAugments();
repeat
Weapon = GetInventory():FindByDisplayId(Weapon_Id);
Lifestone = GetInventory():FindByDisplayId(Lifestone_Id);
Gemstone = GetInventory():FindByDisplayId(Gemstone_Id);
if (augmentIDs[1] == nil) then
ShowToClient("iAugment","You didn't selected any augments!");
threadStarted = false;
AugmentDialog();
break;
elseif (Weapon_Id == 0) then
ShowToClient("iAugment","You didn't selected weapon!");
threadStarted = false;
AugmentDialog();
break;
elseif (Lifestone_Id == 0) then
ShowToClient("iAugment","You didn't selected lifestone!");
threadStarted = false;
AugmentDialog();
break;
elseif (Gemstone_Id == 0) then
ShowToClient("iAugment","You didn't selected gemstone!");
threadStarted = false;
AugmentDialog();
break;
elseif (Gemstone_Count == 0) then
ShowToClient("iAugment","You didn't selected gemstone count!");
threadStarted = false;
AugmentDialog();
break;
elseif (Weapon == nil) then
ShowToClient("iAugment","Couldn't retrieve weapon data!");
threadStarted = false;
AugmentDialog();
break;
elseif (Lifestone == nil) then
ShowToClient("iAugment","Out of lifestones!");
threadStarted = false;
AugmentDialog();
break;
elseif (Gemstone == nil) then
ShowToClient("iAugment","Out of gemstones!");
threadStarted = false;
AugmentDialog();
break;
elseif (Gemstone.ItemNum < Gemstone_Count) then
ShowToClient("iAugment","Gemstones not enough!");
threadStarted = false;
AugmentDialog();
break;
else
Command("/target "..npcName);
Sleep(500);
if (GetTarget() == nil) then
ShowToClient("iAugment","Go near "..npcName.."!");
threadStarted = false;
AugmentDialog();
break;
elseif (GetTarget():GetName() ~= npcName) then
ShowToClient("iAugment","Target "..npcName.."!");
threadStarted = false;
AugmentDialog();
break;
else
Talk();
if (threadStarted == false) then
break;
end;
SetDefaultTimeout(5000);
if (Weapon.RefineryOp2 == 0) then
GetAugmentManager():setItemId(Weapon.objectId);
GetAugmentManager():setLifeStoneId(Lifestone.objectId);
GetAugmentManager():setGemstoneId(Gemstone.objectId, Gemstone_Count);
GetAugmentManager():Augment();
Talk();
ClickLinkAndWait("Augment Item");
Sleep(1500);
ClickLinkAndWait("Smelt Weapon");
Sleep(1500);
ClickAndWait("menu_select?ask=-503&reply=100", "Augment");
sleepCount = 0;
while (GetAugmentManager():getAugmentResult() == Augment.AUGMENT_PENDING) do
if (threadStarted == false) then
break;
end;
sleepCount = sleepCount + 1;
Sleep(200);
if (sleepCount == 20) then
Talk();
ClickLinkAndWait("Augment Item");
Sleep(1500);
ClickLinkAndWait("Smelt Weapon");
Sleep(1500);
ClickAndWait("menu_select?ask=-503&reply=100", "Augment");
sleepCount = 0;
end;
end;
if (GetAugmentManager():getAugmentResult() == Augment.AUGMENT_FINISHED) then
Sleep(100);
Weapon = GetInventory():FindByDisplayId(Weapon_Id);
end;
if (SearchArray(Weapon.RefineryOp2,augmentIDs)) then
ShowToClient("iAugment", "You have achieved desired augment! ID: " .. Weapon.RefineryOp2);
break;
end;
else
if (SearchArray(Weapon.RefineryOp2,augmentIDs)) then
ShowToClient("iAugment", "You have achieved desired augment! ID: " .. Weapon.RefineryOp2);
break;
else
GetAugmentManager():setItemId(Weapon.objectId);
GetAugmentManager():AugmentCancel();
Sleep(500);
Talk();
ClickLinkAndWait("Remove Augmentation");
ClickLinkAndWait("Remove Augmentation");
ClickAndWait("menu_select?ask=-503&reply=200", "Remove");
sleepCount = 0;
while (GetAugmentManager():getAugmentCancelResult() == Augment.AUGMENT_CANCEL_PENDING) do
if (threadStarted == false) then
break;
end;
sleepCount = sleepCount + 1;
Sleep(200);
if (sleepCount == 20) then
Talk();
ClickLinkAndWait("Remove Augmentation");
Sleep(1500);
ClickLinkAndWait("Remove Augmentation");
Sleep(1500);
ClickAndWait("menu_select?ask=-503&reply=200", "Remove");
sleepCount = 0;
end;
end
if (GetAugmentManager():getAugmentCancelResult() == Augment.AUGMENT_FINISHED) then
Sleep(100);
end;
Weapon = GetInventory():FindByDisplayId(Weapon_Id);
end;
end;
SetDefaultTimeout(60000);
end;
end;
until (threadStarted == false);
threadStarted = false;
coroutine.yield();
until false;
end);
function DoAction(action)
if (action == "Set Weapon") then
DoDialog(action);
elseif (action == "Set Lifestone") then
DoDialog(action);
elseif (action == "Set Gemstone") then
DoDialog(action);
elseif (action == "Set Augments") then
DoDialog(action);
else
Gemstone_Count = tonumber(action);
AugmentDialog();
end;
end;
function DoDialog(action)
local html = THtmlGenerator("iAugment - Alternative Edition");
html:AddHtml('
');
local invList = GetInventory();
if (action == "Set Weapon") then
for item in invList.list do
if (item.ItemType == 0) then
html:AddHtml('
');
end;
end;
elseif (action == "Set Lifestone") then
for item in invList.list do
if ((string.find(item.Name,"Life") ~= nil) or (string.find(item.Name,"life") ~= nil)) then
html:AddHtml('
');
end;
end;
elseif (action == "Set Gemstone") then
for item in invList.list do
if ((string.find(item.Name,"Gem") ~= nil) or (string.find(item.Name,"gem") ~= nil)) then
html:AddHtml('
');
HtmlBuild = html:GetString();
ShowHtmlStatus = true;
end;
function AugmentDialog()
local html = THtmlGenerator("iAugment - Alternative Edition");
html:AddHtml('