Jump to content

apprentice_chest:2: attempt to call field `set_attr'


Recommended Posts

 

RunState: LUA_ERROR: locale/europe/quest/object/state/apprentice_chest:2: attempt to call field `set_attr' (a nil value)
SYSERR: Dec 31 13:16:25 :: WriteRunningStateToSyserr: LUA_ERROR: quest apprentice_chest.start click

 

quest apprentice_chest begin
    state start begin
        function give_item_bonus_and_equip(vnum, bns)
            pc.give_item2_select(vnum)
            item.set_attr(bns)
        end
        
        function give_basic_equip()
            apprentice_chest.give_item_bonus_and_equip(13009, {48, 1, 5, 12, 4, 12, 6, 12, 43, 20})
            apprentice_chest.give_item_bonus_and_equip(14009, {1, 2000, 16, 10, 18, 20, 20, 20})
            apprentice_chest.give_item_bonus_and_equip(15009, {1, 2000, 43, 20, 15, 10, 13, 8, 34, 15})
            apprentice_chest.give_item_bonus_and_equip(16009, {1, 2000, 43, 20, 15, 10, 13, 8, 34, 15})
            apprentice_chest.give_item_bonus_and_equip(17009, {18, 20, 34, 15, 20, 20, 41, 8})
        end
        
        when 50187.use begin
            if pc.getqf("app_chest_1_open") == 0 then
                if pc.get_empty_inventory_count() >= 9 then 
                    pc.remove_item(50187, 1)
                    pc.setqf("app_chest_1_open", 1)
                    pc.give_item2(50188, 1)        -- Chest Level 5
                    pc.give_item2(27102, 20)     -- Licoare Verde (L)
                    pc.give_item2(27105, 20)     -- Licoare Violet (L)
                    pc.give_item2(71155, 1)     -- Lic. Intelepciunii (3h)
                    pc.give_item2(76007, 1)    -- Mantia Curajului
                    pc.give_item2(72723, 1)    -- Elixirul Soarelui (S)
                    pc.give_item2(72727, 1)    -- Elixirul Lunii (S)
                    
                    if pc.job == 0 then 
                        apprentice_chest.give_item_bonus_and_equip(19, {5, 12, 18, 20, 15, 10, 19, 20, 20, 20})
                        apprentice_chest.give_item_bonus_and_equip(11209, {1, 2000, 53, 50, 9, 20, 23, 10})
                        apprentice_chest.give_item_bonus_and_equip(12209, {20, 20, 18, 20, 12, 8, 28, 15, 10, 30})
                        apprentice_chest.give_item_bonus_and_equip(40127)
                        apprentice_chest.give_item_bonus_and_equip(40130)
                        apprentice_chest.give_item_bonus_and_equip(41560)
                        apprentice_chest.give_item_bonus_and_equip(41562)
                        apprentice_chest.give_item_bonus_and_equip(45055)
                        apprentice_chest.give_item_bonus_and_equip(45056)
                        apprentice_chest.give_item_bonus_and_equip(53049)
                        apprentice_chest.give_item_bonus_and_equip(71114)
                        apprentice_chest.give_item_bonus_and_equip(39120)
                        apprentice_chest.give_item_bonus_and_equip(72701)
                        apprentice_chest.give_basic_equip()
                    elseif pc.job == 1 then 
                        apprentice_chest.give_item_bonus_and_equip(1009, {6, 12, 18, 20, 15, 10, 19, 20, 20, 20})
                        apprentice_chest.give_item_bonus_and_equip(11409, {1, 2000, 53, 50, 9, 20, 23, 10})
                        apprentice_chest.give_item_bonus_and_equip(12349, {20, 20, 18, 20, 12, 8, 28, 15, 10, 30})
                        apprentice_chest.give_item_bonus_and_equip(40128)
                        apprentice_chest.give_item_bonus_and_equip(40129)
                        apprentice_chest.give_item_bonus_and_equip(41560)
                        apprentice_chest.give_item_bonus_and_equip(41562)
                        apprentice_chest.give_item_bonus_and_equip(45055)
                        apprentice_chest.give_item_bonus_and_equip(45056)
                        apprentice_chest.give_item_bonus_and_equip(53049)
                        apprentice_chest.give_item_bonus_and_equip(71114)
                        apprentice_chest.give_item_bonus_and_equip(39120)
                        apprentice_chest.give_item_bonus_and_equip(72701)
                        apprentice_chest.give_basic_equip()
                    elseif pc.job == 2 then 
                        apprentice_chest.give_item_bonus_and_equip(19, {4, 12, 18, 20, 15, 10, 19, 20, 20, 20})
                        apprentice_chest.give_item_bonus_and_equip(11609, {1, 2000, 53, 50, 9, 20, 23, 10})
                        apprentice_chest.give_item_bonus_and_equip(12489, {20, 20, 18, 20, 12, 8, 28, 15, 10, 30})
                        apprentice_chest.give_item_bonus_and_equip(40127)
                        apprentice_chest.give_item_bonus_and_equip(41560)
                        apprentice_chest.give_item_bonus_and_equip(41562)
                        apprentice_chest.give_item_bonus_and_equip(45055)
                        apprentice_chest.give_item_bonus_and_equip(45056)
                        apprentice_chest.give_item_bonus_and_equip(53049)
                        apprentice_chest.give_item_bonus_and_equip(71114)
                        apprentice_chest.give_item_bonus_and_equip(39120)
                        apprentice_chest.give_item_bonus_and_equip(72701)
                        apprentice_chest.give_basic_equip()
                    elseif pc.job == 3 then 
                        apprentice_chest.give_item_bonus_and_equip(7009, {4, 12, 18, 20, 15, 10, 19, 20, 20, 20})
                        apprentice_chest.give_item_bonus_and_equip(11809, {1, 2000, 53, 50, 9, 20, 23, 10})
                        apprentice_chest.give_item_bonus_and_equip(12629, {20, 20, 18, 20, 12, 8, 28, 15, 10, 30})
                        apprentice_chest.give_item_bonus_and_equip(40131)
                        apprentice_chest.give_item_bonus_and_equip(40132)
                        apprentice_chest.give_item_bonus_and_equip(41560)
                        apprentice_chest.give_item_bonus_and_equip(41562)
                        apprentice_chest.give_item_bonus_and_equip(45055)
                        apprentice_chest.give_item_bonus_and_equip(45056)
                        apprentice_chest.give_item_bonus_and_equip(53049)
                        apprentice_chest.give_item_bonus_and_equip(71114)
                        apprentice_chest.give_item_bonus_and_equip(39120)
                        apprentice_chest.give_item_bonus_and_equip(72701)
                        apprentice_chest.give_basic_equip()    
                    elseif pc.job == 4 then 
                        apprentice_chest.give_item_bonus_and_equip(6009, {4, 12})
                        apprentice_chest.give_item_bonus_and_equip(21009, {1, 1000})
                        apprentice_chest.give_item_bonus_and_equip(21509, {20, 20,})
                        apprentice_chest.give_basic_equip()    
                    end 
                else
                    syschat("Trebuie sa ai minim 9 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50188.use with pc.get_level() >= 10 begin
            if pc.getqf("app_chest_2_open") == 0 then
                if pc.get_empty_inventory_count() >= 10 then 
                    pc.remove_item(50188, 1)
                    pc.setqf("app_chest_2_open", 1)
                    pc.give_item2(50189, 1)        -- Chest Level 20
                    pc.give_item2(76008, 10)    -- Medalia Dragonului
                    pc.give_item2(70007, 1)     -- Inel Teleportare
                    pc.give_item2(71027, 10)    -- Viata Zeului Dragon
                    pc.give_item2(71028, 10)    -- Atacul Zeului Dragon
                    pc.give_item2(71029, 10)    -- Inteligenta ZeuluiDragon
                    pc.give_item2(71030, 10)    -- Apararea Zeului Dragon
                    pc.give_item2(71044, 10)    -- Lovitura Critica
                    pc.give_item2(71045, 10)    -- Lovitura Patrunzatoare
                else
                    syschat("Trebuie sa ai minim 10 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50189.use with pc.get_level() >= 20 begin
            if pc.getqf("app_chest_3_open") == 0 then
                if pc.get_empty_inventory_count() >= 9 then 
                    pc.remove_item(50189, 1)
                    pc.setqf("app_chest_3_open", 1)
                    pc.give_item2(50190, 1)        -- Chest Level 30
                    pc.give_item2(72724, 10)     -- Elixirul Soarelui (M)
                    pc.give_item2(72728, 10)     -- Elixirul Lunii (M)
                    pc.give_item2(76023, 15)     -- Magie Verde
                    pc.give_item2(76024, 15)     -- Putere Verde
                else
                    syschat("Trebuie sa ai minim 9 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50190.use with pc.get_level() >= 30 begin
            if pc.getqf("app_chest_4_open") == 0 then
                if pc.get_empty_inventory_count() >= 10 then 
                    pc.remove_item(50190, 1)
                    pc.setqf("app_chest_4_open", 1)
                    pc.give_item2(50191, 1)        -- Chest Level 40
                    pc.give_item2(72724, 5)     -- Elixirul Soarelui (M)
                    pc.give_item2(72728, 5)     -- Elixirul Lunii (M)
                    pc.give_item2(25041, 1)     -- Metal Magic
                    pc.give_item2(76011, 1)     -- Cartea Comandantului
                    pc.give_item2(76023, 20)     -- Magie Verde
                    pc.give_item2(76024, 20)     -- Putere Verde
                else
                    syschat("Trebuie sa ai minim 10 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50191.use with pc.get_level() >= 40 begin
            if pc.getqf("app_chest_5_open") == 0 then
                if pc.get_empty_inventory_count() >= 9 then 
                    pc.remove_item(50191, 1)
                    pc.setqf("app_chest_5_open", 1)
                    pc.give_item2(50192, 1)        -- Chest Level 50
                    pc.give_item2(76011, 1)     -- Cartea Comandantului
                    pc.give_item2(70005, 1)         -- Inelul Experientei
                    pc.give_item2(71095, 5)     -- Permis de Trecere
                    pc.give_item2(76014, 50)     -- Vrajeste Obiectul (b)
                    pc.give_item2(76013, 50)     -- Imbunat. Obiectului (b)
                else
                    syschat("Trebuie sa ai minim 9 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end

        when 50192.use with pc.get_level() >= 50 begin
            if pc.getqf("app_chest_6_open") == 0 then
                if pc.get_empty_inventory_count() >= 14 then 
                    pc.remove_item(50192, 1)
                    pc.setqf("app_chest_6_open", 1)
                    pc.give_item2(50193, 1)        -- Chest Level 60
                    pc.give_item2(76037, 1)        -- Manusile Talharului
                    pc.give_item2(72725, 5)     -- Elixirul Lunii (L)
                    pc.give_item2(72729, 5)     -- Elixirul Soarelui (L)
                    pc.give_item2(71153, 1)     -- Licoarea Inţelepciunii (1h)
                    pc.give_item2(76026, 10)     -- Citit concentrat
                    pc.give_item2(76034, 10)     -- Pergamentul exorcizarii
                    pc.give_item2(76015, 5)     -- Marmura Binecuvantata
                else
                    syschat("Trebuie sa ai minim 9 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50193.use with pc.get_level() >= 60 begin
            if pc.getqf("app_chest_7_open") == 0 then
                if pc.get_empty_inventory_count() >= 10 then 
                    pc.remove_item(50193, 1)
                    pc.setqf("app_chest_7_open", 1)
                    pc.give_item2(50194, 1)        -- Chest Level 70
                    pc.give_item2(76037, 1)        -- Manusile Talharului
                    pc.give_item2(39031, 20)        -- Licoare grabei
                    pc.give_item2(50513, 20)        -- Piatra spiritului
                    pc.give_item2(25041, 5)     -- Metal Magic
                    pc.give_item2(70005, 1)    -- Inelul Experientei
                    pc.give_item2(27987, 100)     -- Scoica
                else
                    syschat("Trebuie sa ai minim 10 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50194.use with pc.get_level() >= 70 begin
            if pc.getqf("app_chest_8_open") == 0 then
                if pc.get_empty_inventory_count() >= 10 then 
                    pc.remove_item(50194, 1)
                    pc.setqf("app_chest_8_open", 1)
                    pc.give_item2(50195, 1)        -- Chest Level 80
                    pc.give_item2(76014, 50)     -- Vrajeste Obiectul (b)
                    pc.give_item2(76013, 50)     -- Imbunat. Obiectului (b)
                    pc.give_item2(76026, 10)    -- Pergamentul Exorcizarii
                    pc.give_item2(76034, 10)    -- Citit Concentrat
                    pc.give_item2(25041, 10)     -- Metal Magic
                    pc.give_item2(30190, 1)     -- Piatra Insangerata
                    pc.give_item2(72726, 1)     -- Elixirul Lunii (E)
                    pc.give_item2(72730, 1)     -- Elixirul Soarelui (L)
                else
                    syschat("Trebuie sa ai minim 10 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50195.use with pc.get_level() >= 80 begin
            if pc.getqf("app_chest_9_open") == 0 then
                if pc.get_empty_inventory_count() >= 11 then 
                    pc.remove_item(50195, 1)
                    pc.setqf("app_chest_9_open", 1)
                    pc.give_item2(50196, 1)        -- Chest Level 90
                    pc.give_item2(76014, 100)     -- Vrajeste Obiectul (b)
                    pc.give_item2(76013, 100)     -- Imbunat. Obiectului (b)
                    pc.give_item2(76016, 15)     -- Pergament Binecuvantat
                    pc.give_item2(76039, 10)     -- Cufar Dragon
                    pc.give_item2(30339, 5)     -- Bonus VIP
                    pc.give_item2(30190, 5)     -- Piatra Insangerata
                else
                    syschat("Trebuie sa ai minim 11 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
        
        when 50196.use with pc.get_level() >= 90 begin
            if pc.getqf("app_chest_10_open") == 0 then
                if pc.get_empty_inventory_count() >= 13 then 
                    pc.remove_item(50196, 1)
                    pc.setqf("app_chest_10_open", 1)
                    pc.give_item2(76014, 100)     -- Vrajeste Obiectul (b)
                    pc.give_item2(76013, 100)     -- Imbunat. Obiectului (b)
                    pc.give_item2(76015, 10)     -- Marmura Binecuvantata
                    pc.give_item2(30339, 10)     -- Bonus VIP
                    pc.give_item2(30190, 5)     -- Piatra Insangerata
                    pc.give_item2(38057, 1)     -- Cufar Alchimie
                    pc.give_item2(71155, 1)     -- Licoarea Inţelepciunii (3h)
                    
                else
                    syschat("Trebuie sa ai minim 13 spatii libere in inventar pentru a deschide acest cufar.")
                end
            else
                syschat("Ai deschis deja un cufar pe acest caracter.")
            end
        end
    end
end

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

22 hours ago, PetePeter said:

Change that

 

function give_item_bonus_and_equip(vnum, bns)
	pc.give_item2_select(vnum)
	if bns then
		item.set_attr(bns)
	end
end

 

RunState: LUA_ERROR: locale/europe/quest/object/state/apprentice_chest:3: attempt to call field `set_attr' (a nil value)

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.