Jump to content
  • 0

[Request] NPC De Level


Question

Recommended Posts

  • 0
Posted

Can someone get me an NPC Level From removing a player's level at 300,000 Adena

 

Removing 1 Level for 300k

 

L2OFF Interlude

 

 

 

Did you consider searching, finding something extremely similar, learning and then changing a bit?

 

oh wait i didn't serve everything on a silver platter.

excuse me, ignore me!

  • 0
Posted

wanht?

I did not understand what I said, nothing to do with my request

 

He just said "Search here on Mxc , on previous topics , find a similar one and just change the levels and the adena the player should change"

  • 0
Posted

ve searched and not found anything like that, and do not forget that L2OFF

if someone has at hand takes a lot of NPC

Ever looked in the corner and all that, here and on google I found more

  • 0
Posted

I did one fast, have not tried it and it is not exactly handsome, but you get the point and can probably improve it with some formula instead of if statements as hell  ;D

 

Use: menu_select?ask=1000

 

class 1 custom_delevel_npc : citizen

{

parameter:

 

string msgWelcome  = "custom_delevel_npc.htm";

string msgLevelReq  = "custom_delevel_level.htm";

 

int iBeforeLevel79 = 250000000;

int iBeforeLevel73 = 100000000;

int iBeforeLevel68 = 50000000;

int iBeforeLevel60 = 20000000;

int iBeforeLevel54 = 10000000;

int iBeforeLevel48 = 5000000;

int iBeforeLevel40 = 2000000;

int iBeforeLevel28 = 500000;

int iBeforeLevel20 = 200000;

 

handler:

EventHandler TALKED (talker)

{

myself::ShowPage (talker, msgWelcome);

}

 

EventHandler MENU_SELECTED (talker, ask)

{

if( ask == 1000 )

{

if( talker.level > 76 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel79);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 73 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel73);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 68 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel68);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 60 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel60);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 54 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel54);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 48 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel48);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 40 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel40);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 28 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel28);

myself::ShowPage (talker, msgWelcome);

}

else if( talker.level > 20 )

{

myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel20);

myself::ShowPage (talker, msgWelcome);

}

else

{

myself::ShowPage (talker, msgLevelReq);

}

}

}

}

  • 0
Posted

l2server.exe in giving this "Invalid link" when it's eerie grip on the npc html, put the bypass that you indicate.

"menu_select perguntar = 1000?"

What is wrong?

 

  • 0
Posted

l2server.exe

[last-send: custom_delevel_level.htm][recived: menu_select?ask=1000] ; INVALID link on bypass. User [GM] Level [79]

 

 

custom_delevel_npc.htm:

<html>

<body>

<center><img src="l2ui_ch3.herotower_deco" width=256 height=32>

<font color="b8860b">Welcome to L2Breaks Delevel!</font></center>

<br>Want to lose some level? So this in place, I can help you.

<br>Click the <font color="ffff00">"Delevel"</font>, then click <font color="ffff00">"Decreases Level</font>.

<br>You can decrease your level as often as you want. Ate More!<br><br>

<table width=220>

<tr>

<td width=59></td>

<td><button value="Delevel" action="link custom_delevel_level.htm" width=137 height=21 back="sek.cbui36" fore="sek.cbui75"></td>

</tr>

</table>

</body>

</html>

 

custom_delevel_level.htm:

<html>

<body>

<center><img src="l2ui_ch3.herotower_deco" width=256 height=32>

<font color="b8860b">Welcome to L2Breaks Delevel!</font></center>

<br>Select <font color="ffff00">"Decrease Level"</font> to reduce their level.

<br>

<table width=220>

<tr>

<td width=59></td>

<td><button value="Decrease Level" action="bypass -h menu_select?ask=1000" width=137 height=19 back="L2UI_ch3.bigbutton3_down" fore="L2UI_ch3.bigbutton3"></td>

</tr>

</table>

</body>

</html>

 

 

ai.obj

class 1 custom_delevel_npc : citizen

parameter_define_begin

string msgWelcome "custom_delevel_npc.htm"

string msgLevelReq "custom_delevel_level.htm"

int iBeforeLevel79 250000000

int iBeforeLevel73 100000000

int iBeforeLevel68 50000000

int iBeforeLevel60 20000000

int iBeforeLevel54 10000000

int iBeforeLevel48 5000000

int iBeforeLevel40 2000000

int iBeforeLevel28 500000

int iBeforeLevel20 200000

parameter_define_end

handler 3 12 //  TALKED

variable_begin

"talker"

"myself"

"_choiceN"

"_code"

"_from_choice"

variable_end

 

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

handler_end

 

handler 32 381 //  MENU_SELECTED

variable_begin

"talker"

"ask"

"myself"

"_choiceN"

"_code"

"_from_choice"

variable_end

 

push_event //  ask

push_const 160

add

fetch_i4

push_const 1000

equal

branch_false L2

L1

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 76

greater

branch_false L4

L3

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel79

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L5

L4

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 73

greater

branch_false L7

L6

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel73

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L8

L7

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 68

greater

branch_false L10

L9

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel68

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L11

L10

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 60

greater

branch_false L13

L12

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel60

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L14

L13

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 54

greater

branch_false L16

L15

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel54

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L17

L16

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 48

greater

branch_false L19

L18

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel48

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L20

L19

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 40

greater

branch_false L22

L21

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel40

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L23

L22

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 28

greater

branch_false L25

L24

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel28

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L26

L25

push_event //  talker

push_const 40

add

fetch_i //  level

push_const 1092

add

fetch_i4

push_const 20

greater

branch_false L28

L27

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_const 0

push_parameter iBeforeLevel20

negate

func_call 184746219 //  func[incrementParam]

shift_sp -3

shift_sp -1

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgWelcome

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

jump L29

L28

push_event //  myself

push_const 704

add

fetch_i

push_event //  talker

push_const 40

add

fetch_i

push_parameter msgLevelReq

func_call 184680516 //  func[showPage]

shift_sp -2

shift_sp -1

L29

L26

L23

L20

L17

L14

L11

L8

L5

L2

handler_end

 

class_end

 

 

 

ai.nasc

class 1 custom_delevel_npc : citizen

{

parameter:

 

  string   msgWelcome  = "custom_delevel_npc.htm";

  string   msgLevelReq  = "custom_delevel_level.htm";

 

  int iBeforeLevel79 = 250000000;

  int iBeforeLevel73 = 100000000;

  int iBeforeLevel68 = 50000000;

  int iBeforeLevel60 = 20000000;

  int iBeforeLevel54 = 10000000;

  int iBeforeLevel48 = 5000000;

  int iBeforeLevel40 = 2000000;

  int iBeforeLevel28 = 500000;

  int iBeforeLevel20 = 200000;

 

handler:

  EventHandler TALKED (talker)

  {

     myself::ShowPage (talker, msgWelcome);

  }

 

  EventHandler MENU_SELECTED (talker, ask)

  {

     if( ask == 1000 )

     {

        if( talker.level > 76 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel79);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 73 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel73);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 68 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel68);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 60 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel60);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 54 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel54);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 48 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel48);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 40 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel40);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 28 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel28);

           myself::ShowPage (talker, msgWelcome);

        }

        else if( talker.level > 20 )

        {

           myself::IncrementParam (talker, @PARAM_EXP, -iBeforeLevel20);

           myself::ShowPage (talker, msgWelcome);

        }

        else

        {

           myself::ShowPage (talker, msgLevelReq);

        }

     }

  }

}

  • 0
Posted

read the whole script, and I managed to discover the error, thanks for no help, and being so ignorant.

You can close the topic

lacked only the reply, and still made some config in the script, to avoid bugs. ja add the server 100% working

  • 0
Posted

read the whole script, and I managed to discover the error, thanks for no help, and being so ignorant.

You can close the topic

lacked only the reply, and still made some config in the script, to avoid bugs. ja add the server 100% working

 

Look at how many questions you have asked while your server has been live, shows you how inexperienced you are.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Server Description L2 Karma is a permanent Interlude 1x server built on L2J with retail-like mechanics and a long-term vision — not a seasonal reset or wipe server. We focus on competitive longevity, fair play, and a community where every player matters. Core Features ✔ True x1 Experience (XP / SP / Adena / Drop / Spoil) ✔ Retail mechanics — no forced progression shortcuts ✔ Single-box only (1 client per player — no multi-boxing advantage) ✔ No Pay-to-Win & strict anti-RMT policy ✔ Already live and active with players progressing ✔ Long-term commitment — 3-year guarantee ✔ Designed for meaningful PvP and community cohesion 📏 Server Rules No Multi-Boxing Advantage — Only one client per account is allowed. No Pay-to-Win Items or Services — VIP runes are optional and do not lock content. No Bots, Scripts, or Automation — Zero tolerance. Suspicious accounts will be banned. No Exploit Abuse — Reporting exploits immediately avoids penalties. No RMT / Real Money Trading — Strict enforcement — economy integrity matters. Fair Play Only — Harassment and racism are not allowed in chat or Discord. Respect Admin Decisions — Official rulings are final to keep the server stable. 📥 How to Join 🔗 Website: https://l2karma.org 🔗 Discord: https://discord.gg/VV9RAfmnth Chronicle: Interlude Rates: x1 (Classic) Box Limit: Single Box 🧠 What Makes Us Different ✔ Permanent World — No resets ever ✔ Designed for players tired of wipe-cycle servers ✔ Community-centric growth — not rinse-and-repeat launches ✔ Competitive but fair environment ✔ Events, structured seasons, and ongoing content support
    • A widespread proxy service, operating through hijacked devices, has been shut down in a cross-industry effort led by Google. The network, known as IPIDEA, functioned by secretly converting millions of personal devices into proxies for malicious actors. The Mechanism of the Scheme The operation distributed hidden code within seemingly legitimate free apps and VPN services. Once installed, this code enrolled the user’s device into a pool of residential IP addresses. These addresses were then sold anonymously, primarily to cybercriminal and state-sponsored groups, to mask the origin of attacks, fraud, and espionage. Key impacts of the network included: Facilitating operations for more than 550 identified threat actors. Exposing unsuspecting device owners to potential legal and security risks by associating their IP addresses with criminal traffic. The Takedown Strategy Google and its partners disrupted the service by: Seizing core operational domains. Using Google Play Protect to detect and remove malicious applications. Coordinating with infrastructure providers to prevent the network from reestablishing itself. The action highlights the necessity of continuous user awareness, developer diligence in code reviews, and proactive industry cooperation to maintain cybersecurity. Front Companies Associated with IPIDEA IPIDEA masked its activities under various brand names, such as: Proxy Brands: 360 Proxy, 922 Proxy, Luna Proxy, IP2World, ABC Proxy. VPN Brands: Door VPN, Radish VPN, Galleon VPN. SDK Brands: PacketSDK, HexSDK (the toolkits used to embed proxy code).   Choosing Ethical Proxy Services Alternatives For lawful purposes like market research, ad verification, or data aggregation, selecting a transparent and consensual provider is essential. Reputable services obtain explicit user permission for their networks and enforce strict compliance measures. Examples of Established Providers: Bright Data: A leading, consent-based residential proxy network. Oxylabs: Provides large-scale proxy solutions for enterprise needs. MoMoProxy: Maintains a large pool of residential IPs for tasks like web scraping.   Only $850/1TB.  https://momoproxy.com   Identifying a Legitimate Provider: A trustworthy service will typically demonstrate: Informed Consent: Networks are built with the clear agreement of participants. Robust Compliance: Proactive systems to prevent abuse and respect website terms. Operational Transparency: Public-facing policies, identifiable corporate structure, and genuine customer support. Conduct thorough due diligence. Opt for providers that are clear about their IP sources and maintain strong anti-abuse policies, ensuring your legitimate activities do not inadvertently support harmful operations.
    • Lineage 2 Interlude Developer – Cliente + Datapack Hola, soy developer especializado en Lineage 2 Interlude con experiencia tanto en cliente como datapack/core. ✔ Desarrollo datapack (Java, scripts, quests, balance PvP/PvE) ✔ Fixes core / geodata / exploits ✔ Sistemas custom (events, Olympiad, instancias, mods PvP) ✔ Cliente: interface mods, system patches, .dat edits, UI personalizada ✔ Optimización y estabilidad de servidor ✔ Trabajo freelance o colaboración fija Si necesitáis soporte dev o mejoras para vuestro servidor Interlude, podéis contactarme por DM. Portfolio y ejemplos disponibles bajo petición.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and 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..