Jump to content

Rainbow stone


Nuzzo

Recommended Posts

Have you tried google?

First link: you just need to add one more variable for each skill

----------------------------------
--  Regenbogenstein der nach dem lesen verschwindet
----------------------------------
quest regenbogen begin
    state start begin
            when 50512.use  begin
                
                say_title("Regenbogenstein")
                say("Beachte, dass der Regenbogenstein nach dem Lesen verschwindet.")
                say("Das Ausnutzen des Bugs ist verboten!")
                say("Du möchtest also deine Skills auf")
                say("Perfekter-Meister setzen?")
                
                if pc.job ==0 then
                say("Wähle deine Lehre aus")
                
                local s=select("Körper","Mental")
                
                if s==1 then
                --Körper
                pc.set_skill_group(1)
                pc.set_skill_level(1 ,59)
                pc.set_skill_level(2 ,59)
                pc.set_skill_level(3 ,59)
                pc.set_skill_level(4 ,59)
                pc.set_skill_level(5 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                if s==2 then
                --Mentalo
                pc.set_skill_group(2)
                pc.set_skill_level(16 ,59)
                pc.set_skill_level(17 ,59)
                pc.set_skill_level(18 ,59)
                pc.set_skill_level(19 ,59)
                pc.set_skill_level(20 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                elseif pc.job ==1 then
                say("Wähle deine Lehre aus")
                
                local s=select("Nahkampf","Bogen")
                
                if s==1 then
                --Nahkampf
                pc.set_skill_group(3)
                pc.set_skill_level(31 ,59)
                pc.set_skill_level(32 ,59)
                pc.set_skill_level(33 ,59)
                pc.set_skill_level(34 ,59)
                pc.set_skill_level(35 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                if s==2 then
                --Fernkampf
                pc.set_skill_group(4)
                pc.set_skill_level(46 ,59)
                pc.set_skill_level(47 ,59)
                pc.set_skill_level(48 ,59)
                pc.set_skill_level(49 ,59)
                pc.set_skill_level(50 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                elseif pc.job ==2 then
                say("Wähle deine Lehre aus")
                local s=select("Magie","Waffe")
                
                if s==1 then
                --Magie
                pc.set_skill_group(5)
                pc.set_skill_level(76 ,59)
                pc.set_skill_level(77 ,59)
                pc.set_skill_level(78 ,59)
                pc.set_skill_level(79 ,59)
                pc.set_skill_level(80 ,59)
                pc.set_skill_level(81, 59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                if s==2 then
                --Waffe
                pc.set_skill_group(6)
                pc.set_skill_level(61 ,59)
                pc.set_skill_level(62 ,59)
                pc.set_skill_level(63 ,59)
                pc.set_skill_level(64 ,59)
                pc.set_skill_level(65 ,59)
                pc.set_skill_level(66 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                elseif pc.job ==3 then
                say("Wähle deine Lehre aus")
                local s=select("Heil","Drachen")
                
                if s==1 then
                --Heil
                pc.set_skill_group(7)
                pc.set_skill_level(106 ,59)
                pc.set_skill_level(107 ,59)
                pc.set_skill_level(108 ,59)
                pc.set_skill_level(109 ,59)
                pc.set_skill_level(110 ,59)
                pc.set_skill_level(111 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
                item.remove (50512 ,1)
                
                if s==2 then
                --Drachen
                pc.set_skill_group(8)
                pc.set_skill_level(91 ,59)
                pc.set_skill_level(92 ,59)
                pc.set_skill_level(93 ,59)
                pc.set_skill_level(94 ,59)
                pc.set_skill_level(95 ,59)
                pc.set_skill_level(96 ,59)
                say("Deine Skills sind auf Perfekter Meister")
                end
        item.remove (50512 ,1)
            end
        end
    end
end

 

Edited by CantSt0p
Link to comment
Share on other sites

5 minutes ago, CantSt0p said:

Hai provato google?

Primo collegamento: devi solo aggiungere un'altra variabile per ogni abilità




                
                
                 
                
                
                
                 
                     
                 
                
                 
                     
                 
                
                 
                
                
                
                 
                     
                 
                
                 
                     
                 
                
                 
                
                
                 
                      
                 
                
                 
                      
                 
                
                 
                
                
                 
                      
                 
                
                 
                      
                 
            
        
    

 

I have already found this and more, I was hoping there would be a quest with skill level control.
And with the ability to choose one skill, not all of them

Link to comment
Share on other sites

  • Premium
--[[
    Returns:
        An array containing 2 subarrays:
        - The first subarray, vnum_list, contains the vnums of the skills;
        - The second subarray, name_list, contains the names of the skills;

    Needs: https://metin2.dev/topic/29230-syreldars-useful-globals
]]
BuildSkillList = function(job, group, min_level, max_level)
    local vnum_list = {};
    local name_list = {};

    if (not job) then
        job = pc.get_job();
    end -- if

    if (not group or group == 0) then
        group = DOCTRINE_1;
    end -- if
    
    if (not min_level) then
        min_level = BASE_SKILL_LEVEL;
    end -- if
    
    if (not max_level) then
        max_level = PERFECT_MASTER_SKILL_LEVEL;
    end -- if

    local skill_level = 0;
    local skill_list = ACTIVE_SKILL_LIST[job][group];

    for _, skill_vnum in ipairs(skill_list) do
        skill_level = pc.get_skill_level(skill_vnum);
        if (skill_level >= min_level and skill_level <= max_level) then
            table.insert(vnum_list, skill_vnum);
            table.insert(name_list, SKILL_NAME_TABLE[skill_vnum]);
        end -- if
    end -- for

    return {vnum_list, name_list};
end -- function

 

Edited by Syreldar
  • Love 1

 

"Nothing's free in this life.

Ignorant people have an obligation to make up for their ignorance by paying those who help them.

Either you got the brains or cash, if you lack both you're useless."

Syreldar

Link to comment
Share on other sites

define SOUL_STONE 40004

quest update_skill_g2p begin
	state start begin
		when SOUL_STONE.use begin
			MIN_LVL_SKILL = 30
			MAX_LVL_SKILL = 40
			if pc.get_skill_group() != 0 then
				local skill_list = special.active_skill_list[pc.job+1][pc.get_skill_group()]
				local ret_vnum_list, ret_name_list = {}, {}

				table.foreach(skill_list,
				function(i, skill_vnum)
				local skill_level = pc.get_skill_level(skill_vnum)
				if skill_level >= MIN_LVL_SKILL and skill_level < MAX_LVL_SKILL then
					table.insert(ret_vnum_list, skill_vnum)
					local name = locale.GM_SKILL_NAME_DICT[skill_vnum]
					if name == nil then 
						name = skill_vnum 
					end
						table.insert(ret_name_list, name)
					end
				end)
				if table.getn(ret_name_list) != 0 then 
					table.insert(ret_name_list, "Close")
					say_title("Upgrade skill G to P")
					say()
					say("Disappear after use")
					local sel = select_table(ret_name_list)
					if sel != table.getn(ret_name_list) then
						pc.set_skill_level(ret_vnum_list[sel], MAX_LVL_SKILL)
						pc.remove_item(item.vnum)
					end
				end
			end
		end
	end
end

 

  • Metin2 Dev 1
Link to comment
Share on other sites

On 2/3/2023 at 7:33 PM, caanmasu said:
define SOUL_STONE 40004

quest update_skill_g2p begin
	state start begin
		when SOUL_STONE.use begin
			MIN_LVL_SKILL = 30
			MAX_LVL_SKILL = 40
			if pc.get_skill_group() != 0 then
				local skill_list = special.active_skill_list[pc.job+1][pc.get_skill_group()]
				local ret_vnum_list, ret_name_list = {}, {}

				table.foreach(skill_list,
				function(i, skill_vnum)
				local skill_level = pc.get_skill_level(skill_vnum)
				if skill_level >= MIN_LVL_SKILL and skill_level < MAX_LVL_SKILL then
					table.insert(ret_vnum_list, skill_vnum)
					local name = locale.GM_SKILL_NAME_DICT[skill_vnum]
					if name == nil then 
						name = skill_vnum 
					end
						table.insert(ret_name_list, name)
					end
				end)
				if table.getn(ret_name_list) != 0 then 
					table.insert(ret_name_list, "Close")
					say_title("Upgrade skill G to P")
					say()
					say("Disappear after use")
					local sel = select_table(ret_name_list)
					if sel != table.getn(ret_name_list) then
						pc.set_skill_level(ret_vnum_list[sel], MAX_LVL_SKILL)
						pc.remove_item(item.vnum)
					end
				end
			end
		end
	end
end

 

I thank you, that was what I was looking for.

 

Thanks to all for the help

Edited by Nuzzo
  • Good 1
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.