Jump to content

[SHARE] Reward for Lord's Castle


zetsuei2

Recommended Posts

To add a reward for Lord's Castle :

 

go java\com\l2jserver\gameserver\model\actor\instance\L2CastleChamberlainInstance.java

 

Go to line 1224, uou should see something like this

 

if (player.isClanLeader())
			{
				if (player.getInventory().getItemByItemId(6841) == null)
				{
					L2ItemInstance crown = player.getInventory().addItem("Castle Crown", 6841, 1, player, this);

					SystemMessage ms = new SystemMessage(SystemMessageId.EARNED_ITEM);
					ms.addItemName(crown);
					player.sendPacket(ms);

					html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-gavecrown.htm");
					html.replace("%CharName%", String.valueOf(player.getName()));
					html.replace("%FeudName%", String.valueOf(getCastle().getName()));
				}						
				else
					html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-hascrown.htm");
			}

 

After

						html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-gavecrown.htm");
					html.replace("%CharName%", String.valueOf(player.getName()));
					html.replace("%FeudName%", String.valueOf(getCastle().getName()));
				}

 

Add :

					if (player.getInventory().getItemByItemId(item_id) == null)
				{
					L2ItemInstance crown = player.getInventory().addItem("Castle Crown", item_id, item_amount, player, this);

					SystemMessage ms = new SystemMessage(SystemMessageId.EARNED_ITEM);
					ms.addItemName(crown);
					player.sendPacket(ms);

					html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-gavecrown.htm");
					html.replace("%CharName%", String.valueOf(player.getName()));
					html.replace("%FeudName%", String.valueOf(getCastle().getName()));
				}

 

After You should see something like this :

				if (player.isClanLeader())
			{
				if (player.getInventory().getItemByItemId(6841) == null)
				{
					L2ItemInstance crown = player.getInventory().addItem("Castle Crown", 6841, 1, player, this);

					SystemMessage ms = new SystemMessage(SystemMessageId.EARNED_ITEM);
					ms.addItemName(crown);
					player.sendPacket(ms);

					html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-gavecrown.htm");
					html.replace("%CharName%", String.valueOf(player.getName()));
					html.replace("%FeudName%", String.valueOf(getCastle().getName()));
				}
				if (player.getInventory().getItemByItemId(item_id) == null)
				{
					L2ItemInstance crown = player.getInventory().addItem("Castle Crown", item_id, item_amount, player, this);

					SystemMessage ms = new SystemMessage(SystemMessageId.EARNED_ITEM);
					ms.addItemName(crown);
					player.sendPacket(ms);

					html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-gavecrown.htm");
					html.replace("%CharName%", String.valueOf(player.getName()));
					html.replace("%FeudName%", String.valueOf(getCastle().getName()));
				}					
				else
					html.setFile(player.getHtmlPrefix(), "data/html/chamberlain/chamberlain-hascrown.htm");
			}

 

After go data\html\chamberlain\chamberlain-gavecrown.htm :

<html><body>
%CharName%, Castle Lord!<br>
The crown is %FeudName%, a symbol of the castle lord's authority.<br>
+And item_id, symbols of the power of a war lord's.<br>
Guard it with your life!<br>

</body></html>

 

Then data\html\chamberlain\chamberlain-hascrown.htm

<html><body>
The castle lord already has the crown or item_id.
</body></html>

 

Choose an item and replace item_id and item_amount. When the Lord's Castle will receive The Lord's Crown he will receive your item.

Have fun =)

Sorry for my bad english ;)

 

Link to comment
Share on other sites

everything is much easier

Config:

OwnedItemId = 57
OwnedItemCount = 100

Config.java:

public static int Owned_Item_Id;
public static int Owned_Item_Count;
Owned_Item_Id         = Integer.parseInt(l2jfrozen.getProperty("OwnedItemId", "57"));
Owned_Item_Count      = Integer.parseInt(l2jfrozen.getProperty("OwnedItemCount", "100"));

Siege.java:

// Remove all spawned siege guard from this castle
		_siegeGuardManager.unspawnSiegeGuard();

           if(getCastle().getOwnerId() > 0)
           {
              
               L2PcInstance leader = null;
               try
               {
                   leader = ClanTable.getInstance().getClan(getCastle().getOwnerId()).getLeader().getPlayerInstance();
               }
               catch (ClanNotFoundException e)
               {
                   e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
               }
               leader.addItem("ItameName", Config.Owned_Item_Id, Config.Owned_Item_Count, leader, false);
 	        leader.getInventory().updateDatabase();
           _siegeGuardManager.removeMercs();
           }

		getCastle().spawnDoor();
		getCastle().getZone().updateZoneStatusForCharactersInside();

 

Link to comment
Share on other sites

ever heard of .diff file? ? ?

(eclipse, team, create patch)

 

 

thanks, easy to do but since noone has done it before, thanks.

you can't do it.
Link to comment
Share on other sites

you can't do it.

hah. you mean i don't know how to create diffs? just editing or creating .java files in eclipse and then team create patch, and save to desktop ass a .diff file is so difficult to do?

Link to comment
Share on other sites

hah. you mean i don't know how to create diffs? just editing or creating .java files in eclipse and then team create patch, and save to desktop ass a .diff file is so difficult to do?

i mean to create the code.
Link to comment
Share on other sites

i mean to create the code.

loled. i know how to add a simple code that will add an item to players inventory lol. anyway, i am not here to spam this guy's topic with everything that comes in your mind. :S

Link to comment
Share on other sites

ever heard of .diff file? ? ?

(eclipse, team, create patch)

 

 

My share is very easy so i didn't create diff ^^ It's just for personns who want add an item for lord's castle, it's quickly and easy.

And if i use the Chamberlain, it's to use a better reward system. I prefer use the Chamberlain instead of spawn item in inventory ;)

Link to comment
Share on other sites

you can't do it.

hah. you mean i don't know how to create diffs? just editing or creating .java files in eclipse and then team create patch, and save to desktop ass a .diff file is so difficult to do?

i mean to create the code.

loled. i know how to add a simple code that will add an item to players inventory lol. anyway, i am not here to spam this guy's topic with everything that comes in your mind. :S

 

loled...everyone whit minimal knowledge can create a 2 liner code to add smth to the inventory.

 

anyway i dont see it usefully in my oppinion

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...