Jump to content
×
×
  • Create New...

PvP Quest With Level Restrictions


Rumor

Recommended Posts

M2 Download Center

This is the hidden content, please
( Internal )

This is confirmed working on the 2089 core, but no others. It probably won't work with other cores.

 

The first thing you need to do is hex edit your uncompressed game core (I use HxD or BlackYuko's patcher, found here: http://metin2dev.org/board/files/file/6-blackyukos-dif-patcher/):

0014E762: 89 90
0014E763: C3 90
0014E764: 74 75
0014E765: 07 61
0014E766: 8B 90
0014E767: 50 90
0014E768: 24 90
0014E769: 85 90
0014E76A: D2 90
0014E76B: 74 90
0014E76C: 33 90
0014E7C7: 24 0F
0014E7C8: 04 B6
0014E7C9: E8 80
0014E7CA: 82 0A
0014E7CB: F5 05
0014E7CC: 17 00
00312349: 72 6C
0031234B: 6D 76
0031234C: 61 65
0031234D: 69 6C
0031234E: 6E 00

Next, add a new function to "quest_functions" in the "quest" folder:

npc.get_level

The quest:

quest kill_pvp90 begin
    state start begin
        when login with pc.level >= 90 begin
            set_state(kill_pvp90)
        end
    end

    state kill_pvp90 begin
        when letter begin
            send_letter("Kill Players from Another Kingdom")
        end

        when button or info begin
            say("This is your test of strength!")
            say("You need to kill 1000 players from")
            say("another kingdom...")
			say(locale.ADMIN_COLOR.."The players you kill must be lvl 90-99.")
			wait()
            say("You will be rewarded even better")
			say("than the last PvP quest!")
            say_reward("Kill 1000 players from another kingdom!")
            say("")
            pc.setqf("state", 1000)
            q.set_counter("Kill More Players", 1000)
            set_state (kill)
        end
    end
      
        state kill begin
        when letter begin
            send_letter("Kill Players")
        end
        
        when button or info begin
            say_title("Kills:")
            say_reward( "You have ".." "..pc.getqf("state").." of 1000 kills remaining.")
            say("")
        end

        when kill begin
            if npc.is_pc() and npc.empire != pc.empire and npc.get_level()>= 90 and npc.get_level()<= 99 then
            local count = pc.getqf("state") - 1
            if count <= 1000 then
                pc.setqf("state", count)
                q.set_counter("Kill More Players", -count)
            end
            if count == 0 then
                say_title("You've done it!")
                say("You have killed 1000 players!")
                say("As a reward you receive:")
                say_reward("1,000,000,000 Gold")
                say_reward("15 White Pearls")
				say_reward("15 Blue Pearls")
				say_reward("15 Blood Pearls")
				say_reward("10% Demi-Human")
				say("")
				say("Congratulations!")
                pc.change_money(1000000000)
				pc.give_item2(27992, 15)
				pc.give_item2(27993, 15)
				pc.give_item2(27994, 15)
				affect.add_collect(apply.ATTBONUS_HUMAN,10,60*60*24*365*60)--60years
                notice_all("".. pc.get_name() .." Has completed the lvl 90 PvP Quest!!")
                notice_all("They have killed 1000 players from another kingdom!")
                clear_letter()
                set_state(__COMPLETE__)

            end
        end
    end
    end

    state __COMPLETE__ begin
    end
end

You can specify which levels the enemy player must be for the player to receive credit for the kill. Kills are only counted if the killed player is from another kingdom. The kill count doesn't reset when the player logs out, using this quest.

  • Love 7
Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

  • Premium

Yeah that's it, with npc.get_vid() you can retrieve any information about the killed player such as the level. Anyhow nice release for users of older cores which are still many.

Currently working on my FreeBSD blog:

FreeBSD is Fun, practical tutorials and articles

⚠️                Are you under attack?               ⚠️

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.


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.