Jump to content

iks

Inactive Member
  • Posts

    5
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by iks

  1. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Hello.

     

    This quest show us top killers from last 24 hours(killing stones, bosses).
    I know it could be wrote better, but who cares...

    Sorry for bad english, I hope you understand.

    How it works?
    Quest shows 5 top stones and bosses killers.

    To turn it on - go to NPC 20082 and choose GM: Top killers option.

    Optionally, if you want to change show time, just set:
    /e top_kill_info_time X -- where X is time in seconds

    Then restart notification.

    MySQL(log database):

    http://pastebin.com/PvBDb5Pq

    Quest:

    http://pastebin.com/emxD9Ln0

    Also I used npc.is_stone and npc.is_boss functions, source:

    http://pastebin.com/4nKCLmpJ

    Questlib:

    function dev()
        return true
    end
    

     

    I hope you enjoy.

    • Metin2 Dev 8
    • Good 1
    • Love 5
  2. Hey guys. At the beginning - sorry for my english.

    Today i got freeze to my game process. I checked gdb and I got:

     

    kypp6z.jpg

     

    In syslog i didn't found anything interesting - after freeze I got nothing. 

    I'm using novaline source with a lot of mine editions and I have never had problems.

     

    Thanks guys.

  3. Hey guys. I wanted to change average bonus hit in items with addon_type = 1.

    In item_addon.cpp i found:

    int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 5) + 0.5f), 30);

    Which probably say about -30, 30 range about skill damage bonus.

    So now - I tried to change rigidly normal hit bonus.

    int iSkillBonus = MINMAX(-30, (int) (gauss_random(0, 5) + 0.5f), 30);
    int iNormalHitBonus = MINMAX(-20, (int) (gauss_random(0, 5) + 0.5f), 80);

    Sometimes when I try to change attributes, i lost my average bonuses. Have you got any solutions?

    For example I wanted to do:

    -30, 30 range for skill bonus,

    -20, 80 range for normal hit bonus.

     

    Best regards.

     

    @edit 23.08.2014 19:50

    I guess problem solved. It was because of drawn "0". When you drawn 0 then your attributes change to another.

  4. Nice idea :)

    But your function:

    function math_sqrt_distance(x, y)
        if math.sqrt(math_sqr(pc.get_local_x() - x + math_sqr(pc.get_local_y() - y))) < 40 then
            return true
        end
         
        return false
    end

    I would write like this:

    function math_sqrt_distance(x, y)
        if math.sqrt((pc.get_local_x() - x)**2 + (pc.get_local_y() - y)**2) < 40 then
            return true
        end
         
        return false
    end

    Because this is the general way of getting a distance between two points :)

    and you need the "**2" because without it can come to a negative squirt and this wont work :)

    I'm not sure about **2. Is it work with "metin lua"?

     

     

     

    Btw. it works great.

    function math_sqr(value)
        return value*value
    end
    • Love 2
  5. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Hey guys. 

    At the beginning - sorry for my English. I hope you understand everything below :)

     

    A few months ago I was thinking about one thing... I wanted to have many NPC's with the same VNUM on one map. And now - how to check, what "type" of NPC is this NPC?

     

    There are 3 targets marked. So now - I wanted to do 3 other operations with this NPC's.

     

    My idea:

    Check my and NPC coordinates. But how...?

     

    Second idea:

    Check only my position and square around me.

     

     

    So...

    function math_sqrt_distance(x, y)
    	if math.sqrt(math_sqr(pc.get_local_x() - x + math_sqr(pc.get_local_y() - y))) < 40 then
    		return true
    	end
    	
    	return false
    end
    
    function math_sqr(value)
    	return value*value
    end

    How to use it?

     

     

    For example:

    when 20350.click begin
    	local positions_array = {
    		{800, 200},
    		{200, 200},
    	}
    	
    	local texts_array = {
    		"First NPC",
    		"Second NPC",
    	}
    	
    	for i = 1, table.getn(positions_array) do
    		if math_sqrt_distance(positions_array[i][1], positions_array[i][2]) == true then
    			say_title(texts_array[i])
    			break
    		end
    	end
    end

    And that's it. 

     

    At the end: this function checks our positions and 40 coordinates around us. If array "positions_array" contains positions which are returning "true" then the output is getting from array "texts_array".

     

    Have a good time.

    • Metin2 Dev 1
    • Love 4
×
×
  • 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.