brett16
-
Posts
158 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Posts posted by brett16
-
-
It's a nice guide. I also added these lines so you can only subclass another class in the same race you are. Now I would like to make it so there subclass stacks with their main class. Does anyone know of a guide I could learn how to do this?
switch (player.getRace()){
case elf:
subclasses.removeAll(getSet(DarkElf, Third));
subclasses.removeAll(getSet(Human, Third));
subclasses.removeAll(getSet(Dwarf, Third));
subclasses.removeAll(getSet(Orc, Third));
break;
case darkelf:
subclasses.removeAll(getSet(LightElf, Third));
subclasses.removeAll(getSet(Human, Third));
subclasses.removeAll(getSet(Dwarf, Third));
subclasses.removeAll(getSet(Orc, Third));
break;
case orc:
subclasses.removeAll(getSet(LightElf, Third));
subclasses.removeAll(getSet(DarkElf, Third));
subclasses.removeAll(getSet(Human, Third));
subclasses.removeAll(getSet(Dwarf, Third));
break;
}
-
Gameserver.bat stops loading at these lines. Any idea what might be causing this?
-
Eclipse can't resolve AntiFeedManager.getInstance()
is an error im getting. It's a interlude source code if that matters.
-
Microsoft Windows Server 2003 x64
Intel Xeon CPU
X3323 2.50GHz
2.50 GHz, 4GB Ram
How many players can this run without lag? and how many players till it starts lagging?
Also I have to check info how much bandwidth l2j servers use?
-
I Have the gain XP & SP through pvp kill, What I'm not sure about is how to add XP & SP to a party if a party member gets a pvp kill. This is what I tried.
setPvpKills(getPvpKills() + 1);if (Config.PVPEXPSP_SYSTEM)
{
addExpAndSp(Config.ADD_EXP, Config.ADD_SP);
}
setPvpKills(getPvpKills() +1);
if (Config.PVPEXPSP_SYSTEM && isInParty());
{
addExpAndSp(Config.ADD_EXP, Config.ADD_SP, Config.RATE_PARTY_XP, Config.RATE_PARTY_SP);
}
I'm really not sure what the variable would be to add the addExpAndSp configs to the party.
-
I Have the gain XP & SP through pvp kill, What I'm not sure about is how to add XP & SP to a party if a party member gets a pvp kill. This is what I tried.
setPvpKills(getPvpKills() + 1);if (Config.PVPEXPSP_SYSTEM)
{
addExpAndSp(Config.ADD_EXP, Config.ADD_SP);
}
setPvpKills(getPvpKills() +1);
if (Config.PVPEXPSP_SYSTEM && isInParty());
{
addExpAndSp(Config.ADD_EXP, Config.ADD_SP, Config.RATE_PARTY_XP, Config.RATE_PARTY_SP);
}
I'm really not sure what the variable would be to add the addExpAndSp configs to the party.
-
How do you edit how many kills you need to play whatever sound file?
-
How do you edit how many kills you need to play whatever sound file?
-
-
-
well I put your code into the CompSoulPacks.java and replaced all of it.
-
Hmm I changed it like you said but still opens into soulshots.
-
-
Maybe I did this wrong but I used 4 ids from the compressed soulshot pack, when I open them I still get soulshots.
package lt.equal.gameserver.handler.itemhandlers;import lt.equal.gameserver.handler.IItemHandler;
import lt.equal.gameserver.model.L2ItemInstance;
import lt.equal.gameserver.model.actor.instance.L2PcInstance;
import lt.equal.gameserver.model.actor.instance.L2PlayableInstance;
import lt.equal.gameserver.network.SystemMessageId;
import lt.equal.gameserver.network.serverpackets.ItemList;
import lt.equal.gameserver.network.serverpackets.SystemMessage;
import lt.equal.util.Rnd;
public class CompShotPacks implements IItemHandler
{
private static final int[] ITEM_IDS =
{
5134, 5135, 5136, 5137 //packs ids
};
private int[] Pack1 = {6847,6849,6851,6853,6855,6857,6859,6861,6863,6865,6867,6869,6871,6873,6875,6877,6879,6881,6883,6885,6887,6889,6891,6893,6895,6897,6899,7580};
private int[] Pack2 = {1889,5550,4042,1895,1887,4044,1893,1881,1888,1890,4043};
private int[] Pack3 = {5553,5552,5551,4048,5554};
private int[] Pack4 = {6698,6699,6700,6701,6702,6703,6704,6706,6705,6707,6708,6709,6710,6711,6712,6713,6714,6688,6689,6690,6691,6692,6693,6694,6695,6696,7579,6697};
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
if (!(playable instanceof L2PcInstance))
return;
L2PcInstance activeChar = (L2PcInstance) playable;
int itemId = item.getItemId();
int itemToCreateId = 0;
int amount = 0;
switch(itemId)
{
case 1: //first pack id
{
if(getChance(30))
{
itemToCreateId = Pack1[Rnd.get(Pack1.length)];
amount = 1;
}
break;
}
case 2: //second pack id
{
if(getChance(Rnd.get(30, 70))) // random chance
{
itemToCreateId = Pack2[Rnd.get(Pack2.length)];
amount = Rnd.get(1, 5);
}
break;
}
case 3: //third pack id
{
if(getChance(Rnd.get(30, 70))) // random chance
{
itemToCreateId = Pack3[Rnd.get(Pack3.length)];
amount = Rnd.get(1, 2);
}
break;
}
case 4: //fourth pack id
{
if(getChance(Rnd.get(30, 70))) // random chance
{
itemToCreateId = Pack4[Rnd.get(Pack4.length)];
amount = Rnd.get(1, 3);
}
break;
}
}
activeChar.getInventory().destroyItem("Extract", item, activeChar, null);
activeChar.getInventory().addItem("Extract", itemToCreateId, amount, activeChar, item);
SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
sm.addItemName(itemToCreateId);
sm.addNumber(amount);
activeChar.sendPacket(sm);
ItemList playerUI = new ItemList(activeChar, false);
activeChar.sendPacket(playerUI);
}
private boolean getChance(int i)
{
return i > Rnd.get(100);
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}
-
Sorry for double post. Would it be easier to create my own pack items? I need 4 in total for now. These are the list of items I need to have a chance to open in the first pack. the amount of 1 for these is fine.
Pack 1: Random chance to get these items.
6861
6863
6853
6855
6857
6859
6865
6867
6869
6871
6873
6875
6877
6879
6881
6883
6885
6887
6889
6891
6893
6895
6897
6899
7580
6847
6849
6851
Pack 2 random chance to get these: Random amount 1-5
Sealed Tateossian Earring Part
Sealed Tateossian Ring Gem
Sealed Tateossian Necklace Chain
Sealed Imperial Crusader Breastplate Part
Sealed Imperial Crusader Gaiters Pattern
Sealed Imperial Crusader Gauntlets Design
Sealed Imperial Crusader Boots Design
Sealed Imperial Crusader Helmet Pattern
Sealed Imperial Crusader Shield Part
Sealed Draconic Leather Armor Part
Sealed Draconic Leather Gloves Fabric
Sealed Draconic Leather Boots Design
Sealed Draconic Leather Helmet Pattern
Sealed Major Arcana Robe Part
Sealed Major Arcana Gloves fabric
Sealed Major Arcana Boots Design
Sealed Major Arcana Circlet Pattern
Forgotten Blade Edge
Basalt Battlehammer Head
Imperial Staff Head
Angel Slayer Blade
Shining Bow Shaft
Dragon Hunter Axe Blade
Saint Spear Blade
Demon Splinter Blade
Heavens Divider Edge
Draconic Bow Shaft
Arcana Mace Head
Pack 3 random chance to get these items: Random amount 1-3
Arcsmith's Anvil
Warsmith's Mold
Leolin's Mold
Maestro Mold
Warsmith's Holder
Pack 4 random chance to get these items: Random amount 1-5
Compound Braid
Durable Metal Plate
Enria
Metallic Fiber
Varnish of Purity
Thons
Oriharukon
Coarse Bone Powder
Synthetic Cokes
Mithril Alloy
Asofe
I will be getting the item codes for those later but this is just to show you want I'm trying to do.
-
Thank you, This is the whole .java and I wanted to make sure I entered it correct. Because Eclipse is giving me an error saying Rnd cannot be resolved.
public class CompShotPacks implements IItemHandler{
private static final int[] ITEM_IDS =
{
5134, 5135, 5136, 5137, 5138, 5139, /**/5250, 5251, 5252, 5253, 5254, 5255 // SS
// 5140, 5141, 5142, 5143, 5144, 5145, /**/ 5256, 5257, 5258, 5259, 5260, 5261, // SpS
// 5146, 5147, 5148, 5149, 5150, 5151, /**/ 5262, 5263, 5264, 5265, 5266, 5267 // BSpS
};
private boolean getChance(int i)
{
return i > Rnd.get(100);
}
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
if (!(playable instanceof L2PcInstance))
return;
L2PcInstance activeChar = (L2PcInstance) playable;
int itemId = item.getItemId();
int itemToCreateId = 0;
boolean chance20 = 20 > Rnd.get(100), chance30 = 30 > Rnd.get(100);
int amount = 0; // default regular pack
if (itemId >= 5134 && itemId <= 5139) // SS
{
if (itemId == 5134 && chance20) // No Grade
itemToCreateId = 7580;
amount = Rnd.get(1, 2);
}
if (itemId == 5135 && chance30)
{
itemToCreateId = 6847;
amount = Rnd.get(1, 2);
}
activeChar.getInventory().destroyItem("Extract", item, activeChar, null);
activeChar.getInventory().addItem("Extract", itemToCreateId, amount, activeChar, item);
SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
sm.addItemName(itemToCreateId);
sm.addNumber(amount);
activeChar.sendPacket(sm);
ItemList playerUI = new ItemList(activeChar, false);
activeChar.sendPacket(playerUI);
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}
-
Yea I will be having lots more items to have a chance to get when the pack opens. So I will need to try to find that out. Thank you for your help.
-
-
I was going to try to create my own compressed pack to open into a list of possible items. I didn't know where to start so I thought I would edit some that already exist. I wasn't really sure how to do this so I thought I would post what I got to see if I'm on the right track. Don't want to mess up the file and my source code.
Current code from CompShotPacks.java
public void useItem(L2PlayableInstance playable, L2ItemInstance item){
if (!(playable instanceof L2PcInstance))
return;
L2PcInstance activeChar = (L2PcInstance) playable;
int itemId = item.getItemId();
int itemToCreateId = 0;
int amount = 0; // default regular pack
if (itemId >= 5134 && itemId <= 5139) // SS
{
if (itemId == 5134) // No Grade
itemToCreateId = 1835;
else
itemToCreateId = itemId - 3672;
amount = 300;
}
else if (itemId >= 5250 && itemId <= 5255) // Greater SS
{
if (itemId == 5250) // No Grade
itemToCreateId = 1835;
else
itemToCreateId = itemId - 3788;
amount = 1000;
}
else if (itemId >= 5140 && itemId <= 5145) // SpS
{
}
else if (itemId >= 5256 && itemId <= 5261) // Greater SpS
{
}
What I want to do is add a list of possible items that have a random chance to open and a random min-max amount. This is my attempt I don't know the code to do random min-max amount yet.
public void useItem(L2PlayableInstance playable, L2ItemInstance item){
if (!(playable instanceof L2PcInstance))
return;
L2PcInstance activeChar = (L2PcInstance) playable;
int itemId = item.getItemId();
int itemToCreateId = 0;
int amount = 0; // default regular pack
if (itemId >= 5134 && itemId <= 5139) // SS
{
if (itemId == 5134) // No Grade
(Rnd.get(100) > 20)
itemToCreateId = 7580;
amount = 1;
(Rnd.get(100) > 30)
itemToCreateId = 6847;
amount = 1;
}
Hopefully it would open and give you a 20% chance to recieve 1 of item 7580 and 30% chance to recieve 1 of 6847. This pack doesn't need random amount because its for recipes.
But if I edit the next pack I want it to open up into mats then I would need the random min-max amount. Which I don't know how to add so I can set the min amount and max amount right there.
Example:
Open pack,
(Rnd.get(100) >20)
itemToCreateId = 57;
(Rnd.get(3 - 5) (Get Min 3 or max of 5)
I don't know what the min max is so I just took a guess.
-
Removed the line and worked. Thanks
-
Using brain doesn't hurt.
int itemReward = Config.MOD_GVE_AMOUNT_PACK_BY_PVP; if (Rnd.get(100) > 50) { addItem("Loot", 5139, itemReward, this, true); }
I typed the code in my post wrong, The only thing different from what you posted and what I had was there was no space between
int itemReward = Config.MOD_GVE_AMOUNT_PACK_BY_PVP; and
if (Rnd.get(100) >50)
but adding the space between the 2 made it work, so thank you.
-
L2 factor is very bad, poor coding. I'm currently working on my faction system it's interlude, I don't have a server box or anything. It's just running off my computer.
-
I found it and turned the teleport back to town from true to false but it didn't work.
-
I added
int itemReward = Config.MOD_GVE_AMOUNT_PACK_BY_PVP;
if (Rnd.get(100) > 50)
addItem("Loot", 5139, itemReward, this, true);
{
}
still gives me 5139 100%
[Updated][Share] Subclass Master Multi Skills by Allen (Interlude-H5)
in Server Shares & Files [L2J]
Posted
How do we make it so same Masteries don't stack? Example would be something like the Light armor mastery from HE or TH and the light armor mastery from a prophet, So they do not stack and you only get 1 from whatever class your active sub is.