Jump to content
  • 0

[help]NPC Level Increase


KriminalMind

Question

8 answers to this question

Recommended Posts

  • 0

You can create it by your own.

i think the easiest way is creating new instance of npc. Lets create new file in actor/instance, name it LevelUpNpcInstance.java

Inside that class, Override method onBypassFeedback and put there something like this:

if(command.equals("levelMeUp"))
{
player.addExpAndSp(exp_needed_to_65, sp);
}

Also u will need to make new Html Message, i think html/default will be the right place, add there button like this:

<a action="bypass -h npc_%objectId%_levelMeUp">Level me up</a>

Link to comment
Share on other sites

  • 0

Check //setlevel command for "X to Y level" system.

 

About NPC itself, use either a script or a core instance.

 


 

About finding a script with patch and use technology, http://www.walmart.com/ or any other supermarket or hypermarket website.

 

Warranty 1 year.

Link to comment
Share on other sites

  • 0

You can search for a NPC that delevel you and just change syntax .

 

I'm not sure , but i may think there is a npc inside of L2jFrozen .

 

Take a look here or here .

 

Else you can use a voicedcommand that gonna show a html with options about level .

 

Link to comment
Share on other sites

  • 0

index: L2LevelInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2LevelInstance.java	(revision 0)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2LevelInstance.java	(revision 0)
@@ -0,0 +1,65 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.model.actor.instance;
+
+import java.util.StringTokenizer;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
+
+/**
+ * Author: Leki
+ */
+public class L2LevelInstance extends L2NpcInstance
+{
+	public L2LevelInstance(int objectID, L2NpcTemplate template)
+	{
+		super(objectID, template);
+	}
+	
+	@Override
+	public void onBypassFeedback(L2PcInstance player, String command)
+	{
+		if (command.startsWith("level"))
+		{
+		if(player.getLevel() > 1)
+				player.sendMessage("You should be 1 LvL");
+		else
+				player.getStat().addExp(ExperienceData.getInstance().getExpForLevel(61);
+				player.sendMessage("Your level increased to 61!");				
+		}
+		
+		super.onBypassFeedback(player, command);
+	}
+	
+	@Override
+	public void showChatWindow(L2PcInstance player)
+	{
+		player.sendPacket(ActionFailed.STATIC_PACKET);
+		
+		NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+		
+		html.setFile("data/html/L2Level/" + getTemplate().getNpcId() + ".htm");		
+		html.replace("%objectId%", String.valueOf(getObjectId()));
+		html.replace("%name%", player.getName());				
+		player.sendPacket(html);
+	}
+
+}
\ No newline at end of file
Index: data/html/L2Level/9999.htm
===================================================================
--- data/html/L2Level/9999.htm	(revision 0)
+++ data/html/L2Level/9999.htm	(revision 0)
@@ -0,0 +1,18 @@
+<html><title>Level Increaser</title>
+<html>
+<body>
+<center>
+<img src="L2UI_CH3.herotower_deco" width=256 height=32>
+</center>
+<center>
+<br>
+<font color="FF0000">Level Increaser</font><br>
+<font color="00FF00">Hello, %name%<br>
+I'm the Level Increaser,I'll increase your level to 61!.<br>
+</font><br>
+</center>
+<center>
+<button value="LevelUP" action="bypass -h npc_%objectId%_level" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
+<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
+</center>
+</body></html>
\ No newline at end of file

 

SQL

insert into custom_npc values 
(9999, 30298, 'LVL Increaser', 1, 'L2Frozen', 1, 'NPC.a_smith_MDwarf', 7.00, 16.50, 70, 'male', 'L2Level', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 89, 0, 0, 55, 132, '', 0, 1, 0, 'LAST_HIT');

Link to comment
Share on other sites

  • 0

index: L2LevelInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2LevelInstance.java	(revision 0)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2LevelInstance.java	(revision 0)
@@ -0,0 +1,65 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.model.actor.instance;
+
+import java.util.StringTokenizer;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
+
+/**
+ * Author: Leki
+ */
+public class L2LevelInstance extends L2NpcInstance
+{
+	public L2LevelInstance(int objectID, L2NpcTemplate template)
+	{
+		super(objectID, template);
+	}
+	
+	@Override
+	public void onBypassFeedback(L2PcInstance player, String command)
+	{
+		if (command.startsWith("level"))
+		{
+		if(player.getLevel() > 1)
+				player.sendMessage("You should be 1 LvL");
+		else
+				player.getStat().addExp(ExperienceData.getInstance().getExpForLevel(61);
+				player.sendMessage("Your level increased to 61!");				
+		}
+		
+		super.onBypassFeedback(player, command);
+	}
+	
+	@Override
+	public void showChatWindow(L2PcInstance player)
+	{
+		player.sendPacket(ActionFailed.STATIC_PACKET);
+		
+		NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+		
+		html.setFile("data/html/L2Level/" + getTemplate().getNpcId() + ".htm");		
+		html.replace("%objectId%", String.valueOf(getObjectId()));
+		html.replace("%name%", player.getName());				
+		player.sendPacket(html);
+	}
+
+}
\ No newline at end of file
Index: data/html/L2Level/9999.htm
===================================================================
--- data/html/L2Level/9999.htm	(revision 0)
+++ data/html/L2Level/9999.htm	(revision 0)
@@ -0,0 +1,18 @@
+<html><title>Level Increaser</title>
+<html>
+<body>
+<center>
+<img src="L2UI_CH3.herotower_deco" width=256 height=32>
+</center>
+<center>
+<br>
+<font color="FF0000">Level Increaser</font><br>
+<font color="00FF00">Hello, %name%<br>
+I'm the Level Increaser,I'll increase your level to 61!.<br>
+</font><br>
+</center>
+<center>
+<button value="LevelUP" action="bypass -h npc_%objectId%_level" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
+<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
+</center>
+</body></html>
\ No newline at end of file

 

SQL

insert into custom_npc values 
(9999, 30298, 'LVL Increaser', 1, 'L2Frozen', 1, 'NPC.a_smith_MDwarf', 7.00, 16.50, 70, 'male', 'L2Level', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 89, 0, 0, 55, 132, '', 0, 1, 0, 'LAST_HIT');

 

Share the credits .

Link to comment
Share on other sites

  • 0

index: L2LevelInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2LevelInstance.java	(revision 0)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2LevelInstance.java	(revision 0)
@@ -0,0 +1,65 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.model.actor.instance;
+
+import java.util.StringTokenizer;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
+import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
+import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
+
+/**
+ * Author: Leki
+ */
+public class L2LevelInstance extends L2NpcInstance
+{
+	public L2LevelInstance(int objectID, L2NpcTemplate template)
+	{
+		super(objectID, template);
+	}
+	
+	@Override
+	public void onBypassFeedback(L2PcInstance player, String command)
+	{
+		if (command.startsWith("level"))
+		{
+		if(player.getLevel() > 1)
+				player.sendMessage("You should be 1 LvL");
+		else
+				player.getStat().addExp(ExperienceData.getInstance().getExpForLevel(61);
+				player.sendMessage("Your level increased to 61!");				
+		}
+		
+		super.onBypassFeedback(player, command);
+	}
+	
+	@Override
+	public void showChatWindow(L2PcInstance player)
+	{
+		player.sendPacket(ActionFailed.STATIC_PACKET);
+		
+		NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+		
+		html.setFile("data/html/L2Level/" + getTemplate().getNpcId() + ".htm");		
+		html.replace("%objectId%", String.valueOf(getObjectId()));
+		html.replace("%name%", player.getName());				
+		player.sendPacket(html);
+	}
+
+}
\ No newline at end of file
Index: data/html/L2Level/9999.htm
===================================================================
--- data/html/L2Level/9999.htm	(revision 0)
+++ data/html/L2Level/9999.htm	(revision 0)
@@ -0,0 +1,18 @@
+<html><title>Level Increaser</title>
+<html>
+<body>
+<center>
+<img src="L2UI_CH3.herotower_deco" width=256 height=32>
+</center>
+<center>
+<br>
+<font color="FF0000">Level Increaser</font><br>
+<font color="00FF00">Hello, %name%<br>
+I'm the Level Increaser,I'll increase your level to 61!.<br>
+</font><br>
+</center>
+<center>
+<button value="LevelUP" action="bypass -h npc_%objectId%_level" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
+<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
+</center>
+</body></html>
\ No newline at end of file

 

SQL

insert into custom_npc values 
(9999, 30298, 'LVL Increaser', 1, 'L2Frozen', 1, 'NPC.a_smith_MDwarf', 7.00, 16.50, 70, 'male', 'L2Level', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 89, 0, 0, 55, 132, '', 0, 1, 0, 'LAST_HIT');

thats exactly what i wrote in first post, thx for creating it for him :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...