02-06-2013, 15:39 PM
Script 1
LUA Programming
local weaponName = "Hell Knife"
local lifestoneName = "Life Stone - Level 84"
local gemstoneName = "Gemstone D"
local gemstone_count = 30
local npcName = "Pushkin"
function getItemByName(name)
invList = GetInventory();
for item in invList.list do
if item.Name == name then
-- ShowToClient("ITEM", item.Name .. " (ID: " .. item.displayId .. ")");
return item
end
end
end
function openAugmentWindow(name)
target = GetTarget()
if ( target ~= nil ) then
if ( target:GetName() ~= name ) then
CancelTarget(true)
Sleep(500)
TargetNpc(name, 0)
Sleep(500)
end
else
TargetNpc(name, 0)
Sleep(500)
end
target = GetTarget()
if ( target ~= nil and target:GetName() == name ) then
Talk()
Sleep(750)
ClickLinkAndWait("blacksmith_pushkin005.htm");
Sleep(750)
ClickLinkAndWait("smelting_start.htm");
Sleep(750)
ClickAndWait("menu_select?ask=-503&reply=100", "Start augmenting.");
Sleep(750)
return true
end
return false
end
function getItemByName(name)
invList = GetInventory();
for item in invList.list do
if item.Name == name then
-- ShowToClient("ITEM", item.Name .. " (ID: " .. item.displayId .. ")");
return item
end
end
end
function openAugmentCancelWindow(name)
target = GetTarget()
if ( target ~= nil ) then
if ( target:GetName() ~= name ) then
CancelTarget(true)
Sleep(500)
TargetNpc(name, 0)
Sleep(500)
end
else
TargetNpc(name, 0)
Sleep(500)
end
target = GetTarget()
if ( target ~= nil and target:GetName() == name ) then
Talk();
ClickLinkAndWait("blacksmith_pushkin005.htm");
Sleep(750)
ClickLinkAndWait("smelting_break.htm");
Sleep(750)
ClickAndWait("menu_select?ask=-503&reply=200", "Remove the refined Life Stone.");
Sleep(750)
return true
end
return false
end
weapon = getItemByName(weaponName)
if ( weapon == nil ) then
ShowToClient("AUGMENT", "Could not find weapon " .. weaponName)
else
weaponId = weapon.objectId
GetAugmentManager():setItemId(weaponId)
repeat
if ( weapon.RefineryOp2 == 0 ) then
lifestone = getItemByName(lifestoneName)
gemstone = getItemByName(gemstoneName)
if ( lifestone == nil or gemstone == nil ) then
ShowToClient("AUGMENT:", "Out of gemstones or life stones")
break
end
GetAugmentManager():setItemId(weaponId)
GetAugmentManager():setLifeStoneId(lifestone.objectId)
GetAugmentManager():setGemstoneId(gemstone.objectId, 30)
GetAugmentManager():Augment()
if ( openAugmentWindow(npcName) == false ) then
break
end
while ( GetAugmentManager():getAugmentResult() == Augment.AUGMENT_PENDING ) do
Sleep(200)
end
if ( GetAugmentManager():getAugmentResult() == Augment.AUGMENT_FINISHED ) then
Sleep ( 100 ) -- sleep so item data is updated
weapon = GetInventory():FindById(weaponId)
end
if ( GetAugmentManager():KeepAugment ( weapon.RefineryOp2 ) == true ) then
ShowToClient("AUGMENT:", "You have achieved desired augment! " .. weapon.RefineryOp2)
break
end
else
if ( GetAugmentManager():KeepAugment ( weapon.RefineryOp2 ) == true ) then
ShowToClient("AUGMENT:", "You have achieved desired augment! " .. weapon.RefineryOp2)
break
end
GetAugmentManager():setItemId(weaponId)
GetAugmentManager():AugmentCancel()
if ( openAugmentCancelWindow(npcName) == false ) then
break
end
while ( GetAugmentManager():getAugmentCancelResult() == Augment.AUGMENT_CANCEL_PENDING ) do
Sleep(200)
end
if ( GetAugmentManager():getAugmentCancelResult() == Augment.AUGMENT_FINISHED ) then
Sleep ( 100 ) -- sleep so item data is updated
end
weapon = GetInventory():FindById(weaponId)
end
until false
end
Script 2
Não sei se funciona em todos os servidores e Chronicle, mas acredito que sim. Assim que o ofical voltar, vou testar pois nunca usei.
De qualquer forma, tem que usar os dois juntos, ok?
De qualquer forma, tem que usar os dois juntos, ok?
Opção para funcionar com com qualquer Weapon
LUA Programming
Weapon name -
Life Stone -
Gemestones -
and for Count of gemstones write here,you chanced (30) for what you need..
setGemstoneId(gemstone.objectId, 30)
Ps: Só queria deixar claro que não vou ficar ajudando com coisas tão simples assim. Basta da uma procurada no fórum que tudo se resolve. Afinal, a maioria pede ajuda mas não tem coragem de da uma +REP pra ajudar. Tenho muito prazer em ajudar, mas ajudarei quem tiver o mesmo prazer em retribuir.