Jump to content

Despero

Inactive Member
  • Posts

    153
  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Posts posted by Despero

  1. First of all sorry for lately reply.
    Yes I know already TheSLZ informed me, sorry for that but I missed out something from the UserInterface/NetworkActorManager.cpp, I will update the archive within some minutes after I had recheck everything again.

    CInstanceBase* CNetworkActorManager::__AppendCharacterManagerActor(SNetworkActorData& rkNetActorData)

    	kCreateData.m_dwLevel=rkNetActorData.m_dwLevel;
    #if defined(WJ_SHOW_MOB_INFO)
    	kCreateData.m_dwAIFlag=rkNetActorData.m_dwAIFlag;
    #endif
    	kCreateData.m_dwGuildID=rkNetActorData.m_dwGuildID;

    Works ! Thank you :D

    https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif

     

     

    • Metin2 Dev 1
    • Sad 1
    • Good 1
  2. Hope this will help you ; http://textuploader.com/23kd

    Copy that text in a notepad and after in navicat skill_proto with ctrl+q .

    1265 - Data truncated for column 'setAffectFlag' at row 1

    1265 - Data truncated for column 'setAffectFlag' at row 1

    1265 - Data truncated for column 'setAffectFlag' at row 1

    1265 - Data truncated for column 'setAffectFlag' at row 1

    1265 - Data truncated for column 'setAffectFlag' at row 1

    1265 - Data truncated for column 'setAffectFlag' at row 1

  3. Hii

     

    i have 2 Problems with the Wolfman(Lykaner)

     

    i dont see the tooltip from all Items and i can´t attack with the CLAW

     

    3Y6oOwW.png

     

     

    My Syserr

    0604 21:47:50576 :: Traceback (most recent call last):
    
    0604 21:47:50576 ::   File "ui.py", line 1474, in OnOverInItem
    
    0604 21:47:50577 ::   File "ui.py", line 87, in __call__
    
    0604 21:47:50577 ::   File "ui.py", line 78, in __call__
    
    0604 21:47:50577 ::   File "uiInventory.py", line 946, in OverInItem
    
    0604 21:47:50577 ::   File "uiInventory.py", line 1122, in ShowToolTip
    
    0604 21:47:50577 ::   File "uiToolTip.py", line 553, in SetInventoryItem
    
    0604 21:47:50577 ::   File "uiToolTip.py", line 924, in AddItemData
    
    0604 21:47:50577 ::   File "uiToolTip.py", line 1446, in AppendWearableInformation
    
    0604 21:47:50577 :: IndexError
    0604 21:47:50577 :: : 
    0604 21:47:50578 :: tuple index out of range
    0604 21:47:50578 :: 
    
  4. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Hello Metin2DEV,

     

    i release today a Metin2 Pet Level System for Revision 34K-40K

     

     

     

    Each pet has own Level

     

     

    Spoiler
    
    quest pet_system begin
        state start begin
            when letter begin
                cmdchat("petguihideshow "..q.getcurrentquestindex())
            end
            
            function givebonus(x)
                local mobVnum = pc.getqf("mobVnum")
                local y,boni = {10,54,1},pet_system.bonusliste()
                table.foreach(boni[x],function(i,l)  cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
                cmdchat("HaustierLevel "..pc.getqf('petlevel_'..mobVnum).."")
                cmdchat("HaustierName "..pc.get_name().."")
                pc.setqf("petruf",1)
                pc.setqf("petguishow",1)
            end
            
            function bonusliste()
                return {
                    [1] = {20,10,500},
                    [2] = {30,20,1000},
                    [3] = {40,30,1500},
                    [4] = {50,45,2000},
                    [5] = {65,60,3000},
                }
            end
            
            function removebonus(x)
                local y,boni = {10,54,1},pet_system.bonusliste()
                table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
                pc.setqf("petruf",0)
                --cmdchat("HidePetGui")
                pc.setqf("petguishow",0)
                cleartimer("bugcheck")
            end
            
            function get_pet_info(itemVnum)
                pet_info_map = {
                --  [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
                    [53001]        = { 34001, "-Feuerphönix", 1},
                    [53002]     = { 34002, "-Rentier", 1, "rentier"},
                    [53003]     = { 34003, "-Eisphönix", 1, "icephoenix"},
                    [53005]     = { 34004, "-Azrael", 1, "azrael"},
                    [53006]     = { 34009, "-Gold-Azrael", 1, "azrael"},
                    [53007]     = { 34010, "-Bambi", 1, "rentier"},
                    [53008]     = { 34011, "-Knuud", 1},
                    [53009]     = { 34012, "-Bao Bao", 1, "baobao"},
                    [53010]     = { 34008, "-Leonidas", 1, "leonidas"},
                    [53011]     = { 34007, "-Khan", 1, "khan"},
                    [53012]     = { 34005, "-Porkie", 1, "porky"},
                    [53013]     = { 34006, "-Rufus", 1, "rufus"},
                    [53014]     = { 34013, "-Henkerchen", 1},
                    [53015]     = { 34014, "-Gold-Henkerchen", 1},
                    [53016]     = { 34015, "-Boney", 1},
                    [53017]     = { 34016, "-Jadephönix", 1},
                    [53018]     = { 34020, "-Schnee-Leonidas", 1},
                    [53019]     = { 34019, "-Arktis-Khan", 1},
                    [53020]     = { 34017, "-Polar-Porkie", 1},
                    [53021]     = { 34018, "-Frost-Rufus", 1},
                    --2014 LAST UPDATE 18.11.2014
                    [53022]     = { 34021, "-Sheldon", 1},
                    [53023]     = { 34022, "-Cooper", 1},
                    [53024]     = { 34023, "-Panther", 1},
                    [53025]     = { 34024, "-Leopard", 1},
                    
                    [34026]        = { 34024, "-halloween_pumpkin_pet", 1},
                    [34027]        = { 34024, "-halloween_broom", 1},
                }
    
                itemVnum = tonumber(itemVnum)
    
                return pet_info_map[itemVnum]
            end
            function get_spawn_effect_file(idx)
                effect_table = {
                    [0] = nil,
                    [1] = "d:ymir workeffectetcappear_diemonster_appear.mse",
                }
                return effect_table [idx]
            end
            when 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or
            53005.use or 53006.use or 53003.use or 53002.use or 53001.use or 53014.use or
            53015.use or 53017.use or 53018.use or 53019.use or 53016.use or 53008.use or
            53009.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or
            53025.use begin
                local pet_info = pet_system.get_pet_info(item.vnum)
    
                if null != pet_info then
    
                    local mobVnum = pet_info[1]
                    local petName = pet_info[2]
                    local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[4])
                    
                    pc.setqf("mobVnum",mobVnum)
    
                    if true == pet.is_summon(mobVnum) then
                        if spawn_effect_file_name != nil then
                            pet.spawn_effect (mobVnum, spawn_effect_file_name)
                        end
                        pet.unsummon(mobVnum)
                        pet_system.removebonus(pc.getqf('petlevel_'..mobVnum))
                        cmdchat("HidePetGui")
                        syschat("Dein Haustier wurde weggeschickt")
                    else
                        if pet.count_summoned() < 1 then
                            pet.summon(mobVnum, petName, false)
                            if pet_info[4] ~= nil then
                            cmdchat(pet_info[4])
                            end
                            if pc.getqf('petlevel_'..mobVnum) == 0 then
                            pc.setqf('petlevel_'..mobVnum,1)
                            end
                            syschat("Dein Haustier wurde gerufen.")
                            pet_system.givebonus(pc.getqf('petlevel_'..mobVnum))
                            local expprocent1 = {20, 80, 160, 350, 400}
                            cmdchat("PetProcentExp "..(pc.getqf("exp_"..mobVnum)/expprocent1[pc.getqf("petlevel_"..mobVnum)]).."")                 
                            cmdchat("ShowPetGui")
                            loop_timer("bugcheck", 0.2)
                        else
                            syschat("Du hast bereits ein Haustier gerufen!")
                        end
                        if spawn_effect_file_name != nil then
                            pet.spawn_effect(mobVnum, spawn_effect_file_name)
                        end
                    end -- if pet.is_summon
                end  -- if null != pet_info
            end -- when
            when kill with not npc.is_pc() begin
                local mobVnum = pc.getqf("mobVnum")        
                if pc.getqf("petlevel_"..mobVnum) == 5 then
                    return
                else
                if pc.getqf("petruf")==1 then
                --intervall = 10
                --if pc.get_level() <= mob.get_level(npc.get_race())+ intervall then -- du darfst nur max 10 lvl über das monster sein
                pc.setqf("exp_"..mobVnum,pc.getqf("exp_"..mobVnum)+1)
                        local exp2up = {2000, 8000, 16000, 35000, 40000}
                        local expprocent = {20, 80, 160, 350, 400}
                        cmdchat("PetProcentExp "..(pc.getqf("exp_"..mobVnum)/expprocent[pc.getqf("petlevel_"..mobVnum)]).."")
                        if pc.getqf("exp_"..mobVnum) == exp2up[pc.getqf("petlevel_"..mobVnum)] then
                            if pc.getqf("petlevel_"..mobVnum) == 4 then
                                say_title("Herzlichen Glückwunsch")
                                say("Dein Haustier erreicht Level "..(pc.getqf("petlevel_"..mobVnum)+1).."")
                                say_reward("Dies war das letzte Level!")
                            end
                            say_title("Herzlichen Glückwunsch")
                            say("Dein Haustier erreicht Level "..(pc.getqf("petlevel_"..mobVnum)+1).."")
                            say("Rufe dein Pet bitte erneut!")
                            pc.setqf("petlevel_"..mobVnum,pc.getqf("petlevel_"..mobVnum)+1)
                            pc.setqf("exp_"..mobVnum,0)
                            pet_system.removebonus(pc.getqf('petlevel'))
                        end
                    end -- if not...
                end -- if pc.get...
            end -- when
            
                    -- Bugschutz
            
            when bugcheck.timer begin
                if pc.is_dead() then
                    pet_system.removebonus(pc.getqf('petlevel'))
                end
            end
            
            when login or logout or disconnect with pc.getqf("petruf") == 1 begin
                local mobVnum = pc.getqf("mobVnum")
                pet_system.removebonus(pc.getqf('petlevel_'..mobVnum))
                cmdchat("HidePetGui")
                chat("Dein Haustier ist nicht mitgekommen...")
                chat("Rufe es erneut!")
            end
            when button or info begin
                local mobVnum = pc.getqf("mobVnum")
                if pc.getqf("petruf") == 1 and pc.getqf("petguishow") == 1 then
                    cmdchat("HidePetGui")
                    pc.setqf("petguishow",0)
                    syschat("Dein Haustierfenster wurde geschlossen, du kannst es über den Button im Inventar erneut öffnen!")
                elseif pc.getqf("petruf") == 1 and pc.getqf("petguishow") == 0 then
                    cmdchat("ShowPetGui")
                    local expprocent1 = {20, 80, 160, 350, 400}
                    cmdchat("PetProcentExp "..(pc.getqf("exp_"..mobVnum)/expprocent1[pc.getqf("petlevel_"..mobVnum)]).."")  
                    pc.setqf("petguishow",1)
                    syschat("Dein Haustierfenster wurde geöffnet, du kannst es über den Button im Inventar wieder schließen!")
                elseif pc.getqf("petruf") == 0 then
                    syschat("Du hast kein Haustier gerufen!")
                end
            end
                
        end -- state
    end -- quest
    

     

     

     

     

    Each pet has the same level

     

     

    Spoiler
    
    quest pet_system1 begin
    	state start begin
    		when letter begin
    			cmdchat("petguihideshow "..q.getcurrentquestindex())
    		end
    		
    		function givebonus(x)
    			local y,boni = {10,54,1},pet_system.bonusliste()
    			table.foreach(boni[x],function(i,l)  cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
    			cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
    			cmdchat("HaustierName "..pc.get_name().."")
    			pc.setqf("petruf",1)
    			pc.setqf("petguishow",1)
    		end
    		
    		function bonusliste()
    			return { 
    				[1] = {20,10,500},
    				[2] = {30,20,1000},
    				[3] = {40,30,1500},
    				[4] = {50,45,2000},
    				[5] = {65,60,3000},
    			}
    		end
    		
    		function removebonus(x) 
    			local y,boni = {10,54,1},pet_system.bonusliste() 
    			table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end ) 
    			pc.setqf("petruf",0) 
    			cmdchat("HidePetGui") 
    			pc.setqf("petguishow",0)
    			cleartimer("bugcheck") 
    		end
    		
    		function get_pet_info(itemVnum)
    			pet_info_map = {
    			--  [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
    				[53001]		= { 34001, "-Feuerphönix", 1},
    				[53002]     = { 34002, "-Rentier", 1, "rentier"},
    				[53003]     = { 34003, "-Eisphönix", 1, "icephoenix"},
    				[53005]     = { 34004, "-Azrael", 1, "azrael"},
    				[53006]     = { 34009, "-Gold-Azrael", 1, "azrael"},
    				[53007]     = { 34010, "-Bambi", 1, "rentier"},
    				[53008]     = { 34011, "-Knuud", 1},
    				[53009]     = { 34012, "-Bao Bao", 1, "baobao"},
    				[53010]     = { 34008, "-Leonidas", 1, "leonidas"},
    				[53011]     = { 34007, "-Khan", 1, "khan"},
    				[53012]     = { 34005, "-Porkie", 1, "porky"},
    				[53013]     = { 34006, "-Rufus", 1, "rufus"},
    				[53014]     = { 34013, "-Henkerchen", 1},
    				[53015]     = { 34014, "-Gold-Henkerchen", 1},
    				[53016]     = { 34015, "-Boney", 1},
    				[53017]     = { 34016, "-Jadephönix", 1},
    				[53018]     = { 34020, "-Schnee-Leonidas", 1},
    				[53019]     = { 34019, "-Arktis-Khan", 1},
    				[53020]     = { 34017, "-Polar-Porkie", 1},
    				[53021]     = { 34018, "-Frost-Rufus", 1},
    				--2014 LAST UPDATE 18.11.2014
    				[53022]     = { 34021, "-Sheldon", 1},
    				[53023]     = { 34022, "-Cooper", 1},
    				[53024]     = { 34023, "-Panther", 1},
    				[53025]     = { 34024, "-Leopard", 1},
    				
    				[34026]		= { 34024, "-halloween_pumpkin_pet", 1},
    				[34027]		= { 34024, "-halloween_broom", 1},
    			}
    
    			itemVnum = tonumber(itemVnum)
    
    			return pet_info_map[itemVnum]
    		end
    		function get_spawn_effect_file(idx)
    			effect_table = {
    				[0] = nil,
    				[1] = "d:ymir workeffectetcappear_diemonster_appear.mse",
    			}
    			return effect_table [idx]
    		end
    		when 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or 
    		53005.use or 53006.use or 53003.use or 53002.use or 53001.use or 53014.use or
    		53015.use or 53017.use or 53018.use or 53019.use or 53016.use or 53008.use or
    		53009.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or
    		53025.use begin
    			local pet_info = pet_system.get_pet_info(item.vnum)
    
    			if null != pet_info then
    
    				local mobVnum = pet_info[1]
    				local petName = pet_info[2]
    				local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3])
    
    				if true == pet.is_summon(mobVnum) then
    					if spawn_effect_file_name != nil then
    						pet.spawn_effect (mobVnum, spawn_effect_file_name)
    					end
    					pet.unsummon(mobVnum)
    					pet_system.removebonus(pc.getqf('petlevel')) 
    					syschat("Dein Haustier wurde weggeschickt")
    				else
    					if pet.count_summoned() < 1 then
    						pet.summon(mobVnum, petName, false)
    						if pet_info[4] ~= nil then
    						cmdchat(pet_info[4])
    						end
    						if pc.getqf('petlevel') == 0 then
    						pc.setqf('petlevel',1)
    						end
    						syschat("Dein Haustier wurde gerufen.") 
    						pet_system.givebonus(pc.getqf('petlevel')) 
    						local expprocent1 = {20, 80, 160, 350, 400} 
    						cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")                 
    						cmdchat("ShowPetGui") 
    						loop_timer("bugcheck", 0.2) 
    					else
    						syschat("Du hast bereits ein Haustier gerufen!")
    					end
    					if spawn_effect_file_name != nil then
    						pet.spawn_effect(mobVnum, spawn_effect_file_name)
    					end
    				end -- if pet.is_summon
    			end  -- if null != pet_info
    		end -- when
    		when kill with not npc.is_pc() begin 
    			if pc.getqf("petlevel") == 5 then 
    				return 
    			else
    			if pc.getqf("petruf")==1 then
    			--intervall = 10
    			--if pc.get_level() <= mob.get_level(npc.get_race())+ intervall then -- du darfst nur max 10 lvl über das monster sein
    			pc.setqf("exp",pc.getqf("exp")+1)
    					local exp2up = {2000, 8000, 16000, 35000, 40000} 
    					local expprocent = {20, 80, 160, 350, 400} 
    					cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."") 
    					if pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then 
    						if pc.getqf("petlevel") == 4 then 
    							say_title("Herzlichen Glückwunsch") 
    							say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."") 
    							say_reward("Dies war das letzte Level!") 
    						end 
    						say_title("Herzlichen Glückwunsch") 
    						say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."") 
    						say("Rufe dein Pet bitte erneut!") 
    						pc.setqf("petlevel",pc.getqf("petlevel")+1) 
    						pc.setqf("exp",0) 
    						pet_system.removebonus(pc.getqf('petlevel')) 
    					end 
    				end -- if not...
    			end -- if pc.get...
    		end -- when
    		
    				-- Bugschutz 
    		 
    		when bugcheck.timer begin 
    			if pc.is_dead() then 
    				pet_system.removebonus(pc.getqf('petlevel')) 
    			end
    		end 
    		 
    		when login or logout or disconnect with pc.getqf("petruf") == 1 begin 
    			pet_system.removebonus(pc.getqf('petlevel'))
    			cmdchat("HidePetGui")
    			chat("Dein Haustier ist nicht mitgekommen...") 
    			chat("Rufe es erneut!")
    		end
    		when button or info begin
    			if pc.getqf("petruf") == 1 and pc.getqf("petguishow") == 1 then
    				cmdchat("HidePetGui")
    				pc.setqf("petguishow",0)
    				syschat("Dein Haustierfenster wurde geschlossen, du kannst es über den Button im Inventar erneut öffnen!")
    			elseif pc.getqf("petruf") == 1 and pc.getqf("petguishow") == 0 then
    				cmdchat("ShowPetGui")
    				local expprocent1 = {20, 80, 160, 350, 400} 
    				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")  
    				pc.setqf("petguishow",1)
    				syschat("Dein Haustierfenster wurde geöffnet, du kannst es über den Button im Inventar wieder schließen!")
    			elseif pc.getqf("petruf") == 0 then
    				syschat("Du hast kein Haustier gerufen!")
    			end
    		end
    			
    	end -- state
    end -- quest
    

     

     

     

    Only the Client Part:

     

    http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2308812-release-petgui-quest-levelbar.html

     

     

    Kind Regards

     

    Despero

    • Metin2 Dev 12
    • Think 1
    • Good 1
    • Love 1
    • Love 18
×
×
  • 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.