L2Tower Discord Let's keep the community alive with discord. Discussions about plugins and scripts L2Tower Discord

Thread Closed 
 
Thread Rating:
  • 9 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Augment script
Author Message
gglol Offline
Gremlin
*

Posts: 5
Joined: Jul 2012
Reputation: 0
Version: 1.4.3.143
Post: #1
Augment script

Help
When the script is run it opens augmentation window and crit game window General protection fault!

Script
Code:
local weaponName = "Wizad's Tear"
local lifestoneName = "Mid-Grade Life Stone: level 76"
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();
        ClickAndWait("npc_268457188_Chat 5", "Augment Item.");

                Sleep(750)                
                ClickAndWait("npc_268457188_Link common/augmentation_01.htm", "Augment.");

                Sleep(750)
                ClickAndWait("npc_268457188_Augment 1", "Augment.")
                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();
        ClickAndWait("npc_268457188_Chat 5", "Augment Item.");

                Sleep(750)                
                ClickAndWait("npc_268457188_Link common/augmentation_01.htm", "Augment.");

                Sleep(750)
                ClickAndWait("npc_268457188_Augment 1", "Augment.")
                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

bump
(This post was last modified: 07-23-2012 19:33 PM by gglol.)
07-23-2012 17:44 PM
Find all posts by this user
gglol Offline
Gremlin
*

Posts: 5
Joined: Jul 2012
Reputation: 0
Version: 1.4.3.143
Post: #2
RE: Augment script

up
07-24-2012 02:03 AM
Find all posts by this user
Hebdzik Offline
Tester

Posts: 1,235
Joined: Aug 2011
Reputation: 265
Version: 1.4.3.143
Post: #3
RE: Augment script

did you check if this links are vaild for your server?

ClickAndWait("npc_268457188_Chat 5", "Augment Item.");

ClickAndWait("npc_268457188_Link common/augmentation_01.htm", "Augment.");
ClickAndWait("npc_268457188_Augment 1", "Augment.")
07-24-2012 07:49 AM
Find all posts by this user
gglol Offline
Gremlin
*

Posts: 5
Joined: Jul 2012
Reputation: 0
Version: 1.4.3.143
Post: #4
RE: Augment script

(07-24-2012 07:49 AM)wppw Wrote:  did you check if this links are vaild for your server?

ClickAndWait("npc_268457188_Chat 5", "Augment Item.");

ClickAndWait("npc_268457188_Link common/augmentation_01.htm", "Augment.");
ClickAndWait("npc_268457188_Augment 1", "Augment.")

all dialogues right, script open aug window correctly.
07-24-2012 09:58 AM
Find all posts by this user
pablorz95 Offline
Elpy
*

Posts: 1
Joined: Sep 2012
Reputation: 0
Version: 1.4.1.97
Post: #5
RE: Augment script

Hello
I have a problem, I'll explain to you when I talk to Pushkin and the augment, that part is done but when I want to cancel the augment does not, could you help me with that?, Thanks.
(This post was last modified: 10-10-2012 22:06 PM by pablorz95.)
10-10-2012 11:04 AM
Find all posts by this user
Thread Closed 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Auto Augment - Services / AIO NPC. 2pho3nix 11 18,385 07-27-2020 09:37 AM
Last Post: z3renity
  Interlude Augment script/plugin - l2mid anheoo 4 9,620 04-05-2020 10:59 AM
Last Post: icarox3
  H5 augment thingy Szakalaka 1 4,637 11-21-2017 06:43 AM
Last Post: annavrah04
WTS help plugins Augment Interlude blackzer01 0 3,440 01-18-2016 17:01 PM
Last Post: blackzer01
  Auto augment lostrelos 0 5,771 02-16-2015 19:34 PM
Last Post: lostrelos
Information HELP AUGMENT SCRIPT enio12 6 12,253 02-15-2015 03:40 AM
Last Post: eustach3
F.A.Q. Augment for Interlude "Services Manager" CRASHxtrm 1 3,698 07-06-2014 10:13 AM
Last Post: Demon152
  Augment Script BLUMCRAE1 0 5,477 06-08-2014 18:43 PM
Last Post: BLUMCRAE1
  Augment Script Errors l2exee 1 4,211 03-31-2014 05:50 AM
Last Post: mardukx
Information [REQUEST] Auto Augment on INTERLUDE for RUPIO (NOT PUSHKIN) Oren 0 3,025 02-10-2014 23:32 PM
Last Post: Oren



User(s) browsing this thread: 1 Guest(s)