Jump to content
  • 0

I Guess It's "simple" To Create...


Question

Posted

Hello fellas...

 

I came to an idea and I hope it's not hard to to and if you have the time, could you please give me a suggestions how to do the following...

 

I'm not asking to write the whole code for me. I just want to give it try and do it by myself so I can continue practicing my basic knowledge.

 

The thing is: When every player, comes up to XX amount of PvP points, he gets a YY item with ZZ id spawned in his inventory (quests) item, automatically.

 

If you can, tell me where should I start.

 

Peace!

Recommended Posts

  • 0
Posted

or you can add the method into l2pcinstance and call it under increasepvpkills method.

 

I just made the whole class in case you want to extend this system

  • 0
Posted (edited)

I was about to post the problem which would occur and the same thing about l2pcinstance.. heh :P

 

Basically, while it's "static" pvp count, you could do it with switch :)

Edited by SweeTs
  • 0
Posted

I was about to post the problem which would occur and the same thing about l2pcinstance.. heh :P

 

Basically, while it's "static" pvp count, you could do it with switch :)

I didn't actually noticed the problem that occurred before,lol.

about switch,sure he will have to in case he needs more unless he want to mess with 7-8 else ifs :)

  • 0
Posted

 

i'm sry,it was fast.

just do it like this and its gonna be okey

### Eclipse Workspace Patch 1.0
#P gameserver
Index: java/net/sf/l2j/gameserver/customs/PvPRewards.java
===================================================================
--- java/net/sf/l2j/gameserver/customs/PvPRewards.java    (revision 0)
+++ java/net/sf/l2j/gameserver/customs/PvPRewards.java    (working copy)
@@ -0,0 +1,57 @@
+/* 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 2, 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+package net.sf.l2j.gameserver.customs;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+
+
+public class PvPRewards
+{
+    public static PvPRewards getInstance()
+    {
+        PvPRewards _instance = null;
+        if (_instance == null)
+        {
+            _instance = new PvPRewards();
+        }
+        
+        return _instance;
+    }
+    
+    public void addRewardPvP(L2PcInstance activeChar)
+    {
+        if(activeChar.getPvpKills() == Config.PVP_AMOUNTPVP1)
+        {
+            activeChar.getInventory().addItem("PvP Reward", Config.PVP_REWARD1, Config.PVP_AMOUNT1, activeChar, activeChar);
+            activeChar.sendMessage("You've been rewarded for your pvp amounts!");
+        }
+        
+        else if(activeChar.getPvpKills() == Config.PVP_AMOUNTPVP2)
+        {
+            activeChar.getInventory().addItem("PvP Reward", Config.PVP_REWARD2, Config.PVP_AMOUNT2, activeChar, activeChar);
+            activeChar.sendMessage("You've been rewarded for your pvp amounts!");
+        }
+        
+        else if(activeChar.getPvpKills() == Config.PVP_AMOUNTPVP3)
+        {
+            activeChar.getInventory().addItem("PvP Reward", Config.PVP_REWARD3, Config.PVP_AMOUNT3, activeChar, activeChar);
+            activeChar.sendMessage("You've been rewarded for your pvp amounts!");
+        }
+    }
+}
\ No newline at end of file
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java    (revision 42)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java    (working copy)
@@ -56,6 +56,7 @@
import net.sf.l2j.gameserver.communitybbs.BB.Forum;
import net.sf.l2j.gameserver.communitybbs.Manager.ForumsBBSManager;
import net.sf.l2j.gameserver.communitybbs.Manager.RegionBBSManager;
+import net.sf.l2j.gameserver.customs.PvPRewards;
import net.sf.l2j.gameserver.datatables.AccessLevels;
import net.sf.l2j.gameserver.datatables.AdminCommandAccessRights;
import net.sf.l2j.gameserver.datatables.CharNameTable;
@@ -4810,7 +4811,10 @@
{
// Add karma to attacker and increase its PK counter
setPvpKills(getPvpKills() + 1);
+ PvPRewards.getInstance().addRewardPvP(this);

+ 
+ 
PvpPkColorSystem.getInstance().checkPvpColors(this);

// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java    (revision 41)
+++ java/net/sf/l2j/Config.java    (working copy)
@@ -686,6 +686,16 @@
    public static Map<Integer, Integer> PK_COLORS_LIST;
    public static boolean ALLOW_PVP_COLOR_SYSTEM;
    public static boolean ALLOW_PK_COLOR_SYSTEM;
+    
+    public static int PVP_AMOUNTPVP1;
+    public static int PVP_AMOUNT1;
+    public static int PVP_REWARD1;
+    public static int PVP_AMOUNTPVP2;
+    public static int PVP_AMOUNT2;
+    public static int PVP_REWARD2;
+    public static int PVP_AMOUNTPVP3;
+    public static int PVP_AMOUNT3;
+    public static int PVP_REWARD3;
//--------------------------------------------------

/**
@@ -810,6 +820,16 @@
    String[] more_splitted_pks = i.split(",");
    PVP_COLORS_LIST.put(Integer.parseInt(more_splitted_pks[0]), Integer.decode("0x" + more_splitted_pks[1]));
    }
+     
+     PVP_AMOUNTPVP1 = Integer.parseInt(pvpmods.getProperty("PvpsRequiredFor1stReward","100"));
+     PVP_REWARD1 = Integer.parseInt(pvpmods.getProperty("Reward1ID","57"));
+     PVP_AMOUNT1 = Integer.parseInt(pvpmods.getProperty("Amount1","10000"));
+     PVP_AMOUNTPVP2 = Integer.parseInt(pvpmods.getProperty("PvpsRequiredFor2ndReward","100"));
+     PVP_REWARD2 = Integer.parseInt(pvpmods.getProperty("Reward2ID","57"));
+     PVP_AMOUNT2 = Integer.parseInt(pvpmods.getProperty("Amount2","10000"));
+     PVP_AMOUNTPVP3 = Integer.parseInt(pvpmods.getProperty("PvpsRequiredFor3rdReward","100"));
+     PVP_REWARD3 = Integer.parseInt(pvpmods.getProperty("Reward3ID","57"));
+     PVP_AMOUNT3 = Integer.parseInt(pvpmods.getProperty("Amount3","10000"));
}
catch (Exception e)
{

Whats different? I don't notice anything different?

  • 0
Posted (edited)

Ah ok, thanks for explaining. Alright I am going to test this right now and get back to you guys. 

 

Edit: It works now.

Edited by brett16
Guest
This topic is now closed to further replies.
×
×
  • Create New...