Jump to content
  • 0

Champion Aura


Question

Recommended Posts

  • 0
Posted

I did something and it's wrong. I can't see npc title anymore. What's wrong?

Config.Java

public static int L2JMOD_CHAMPION_ENABLE_AURA;


L2JMOD_CHAMPION_ENABLE_AURA = L2JModSettings.getInt("ChampionEnableAura", 0);
			if ((L2JMOD_CHAMPION_ENABLE_AURA != 0) && (L2JMOD_CHAMPION_ENABLE_AURA != 1) && (L2JMOD_CHAMPION_ENABLE_AURA != 2))
			{
				L2JMOD_CHAMPION_ENABLE_AURA = 0;
			}
			

AbstractNpcInfo.Java

if (Config.L2JMOD_CHAMPION_ENABLE)
			{
				writeC(_npc.isChampion() ? Config.L2JMOD_CHAMPION_ENABLE_AURA : 0);
			}
			else
			{
				writeC(0);
			}

Who can tell me what's wrong?

  • 0
Posted (edited)
On 9/30/2018 at 11:51 PM, InFocus said:

Lol :) Thank for this nice answer :) and what i can do? I get this `good` code from google :)

L2JMOD_CHAMPION_ENABLE_AURA = L2JModSettings.getInt("ChampionEnableAura", 0);

if ((L2JMOD_CHAMPION_ENABLE_AURA != 0) && (L2JMOD_CHAMPION_ENABLE_AURA != 1) && (L2JMOD_CHAMPION_ENABLE_AURA != 2))
{
	L2JMOD_CHAMPION_ENABLE_AURA = 0;
}

Where did you find this ? It's like SweetS wrote this code.

 

First of all why this variable is Integer and not boolean. 

Second why the !=0 and the !=1 and the !=2 since it only work as True or False. Why it has 3 stages?

 

All you need is a boolean variable like this:

 

public static boolean L2JMOD_CHAMPION_ENABLE_AURA;

L2JMOD_CHAMPION_ENABLE_AURA = L2JModSettings.getBoolean("ChampionEnableAura", false);

 

 

 

 

Edited by Kara`
  • 0
Posted (edited)
				writeC(_npc.isChampion() && Config.L2JMOD_CHAMPION_ENABLE && _npc.getLevel() >= 5 && _npc.getLevel() <= 61 ? 0x01 : _npc.isChampion() && Config.L2JMOD_CHAMPION_ENABLE && _npc.getLevel() >=62 && _npc.getLevel() <= 85 ? 0x02 : 0); // team circle around feet 1= Blue, 2 = red

this is like if mob is champion & is enable config & is lvl 5 + & 61 lvl - have blue aura

for 62lvl + 85 lvl - is red aura i dont know if you like this..

Edited by tazerman2
  • 0
Posted
3 hours ago, Kara` said:

L2JMOD_CHAMPION_ENABLE_AURA = L2JModSettings.getInt("ChampionEnableAura", 0);

if ((L2JMOD_CHAMPION_ENABLE_AURA != 0) && (L2JMOD_CHAMPION_ENABLE_AURA != 1) && (L2JMOD_CHAMPION_ENABLE_AURA != 2))
{
	L2JMOD_CHAMPION_ENABLE_AURA = 0;
}

Where did you find this ? It's like SweetS wrote this code.

 

First of all why this variable is Integer and not boolean. 

Second why the !=0 and the !=1 and the !=2 since it only work as True or False. Why it has 3 stages?

 

All you need is a boolean variable like this:

 


private final boolean L2JMOD_CHAMPION_ENABLE_AURA;

L2JMOD_CHAMPION_ENABLE_AURA = L2JModSettings.getBoolean("ChampionEnableAura", false);

 

 

 

 

http://1IVi67H.jpg

i can't leave it private final boolean

  • 0
Posted (edited)

You need 1 config for that. Not Boolean at all. You can turn integer into Boolean by checking for zero value.

Value 1 is the red

Value 2 is the blue.

Value 0 is false. 

 

The variable mustn't be final.

Must be public too to have access.

So public static int ...

Edited by melron
  • 0
Posted
12 hours ago, InFocus said:

http://1IVi67H.jpg

i can't leave it private final boolean

 

As far i read by others writeC(); can accept more than 2 and no just 0 - 1 so boolean cannot be used. In that case you need use a int.  Still the check you did is useless, use it like this:

 

public static int CHAMPION_AURA_TYPE;

CHAMPION_AURA_TYPE = npcs.getProperty("ChampionAuraType", 0);

and in writeC simply add your config.

 

 

  • 0
Posted
11 minutes ago, InFocus said:

Really? And for final what i can set? 

What? Config can't be final if that's what you mean. You have bunch of configs, look how they are done and do the same. Kara gave you ready code. God.

If you want only one color aka blue or red, boolean (true, false) config is ok.

  • 0
Posted

No replyes now? and i did this in writeC(); 

 

 

writeC(Config.CHAMPION_AURA_TYPE);
            {
                writeC(_npc.isChampion() && (_npc.getLevel() >= 5) && (_npc.getLevel() <= 61) ? 0x01 : _npc.isChampion() && (_npc.getLevel() >= 62) && (_npc.getLevel() <= 85) ? 0x02 : 0); // team circle around feet 1= Blue,
                                                                                                                                                                                            // 2 = red
            }
            

  • 0
Posted

We are not here 24/7 for you. It's not our fault your logic, deduction is equal to 0.

Dont you fcking see you are under L2JModSettings and not under npcs? That's why you have an error. Open your eyes and use your brain.

Its like, you have a ready good proper method, lines and you should copy paste them, yet you do something other and you wonder why you have an error. God.

 

And why there is a bracket after that line? You are facking things up by your own stupidity sorry to say that. Everything is correct, you add your 1 line code and you break everything... 

 

You should think what you are doing and think why things are not working, why it show error rather than spamming with silly mistakes. I see that you are not learning after all this time and you can't think logically. 

  • 0
Posted (edited)
24 minutes ago, SweeTs said:

We are not here 24/7 for you. It's not our fault your logic, deduction is equal to 0.

Dont you fcking see you are under L2JModSettings and not under npcs? That's why you have an error. Open your eyes and use your brain.

Its like, you have a ready good proper method, lines and you should copy paste them, yet you do something other and you wonder why you have an error. God.

 

And why there is a bracket after that line? You are facking things up by your own stupidity sorry to say that. Everything is correct, you add your 1 line code and you break everything... 

 

You should think what you are doing and think why things are not working, why it show error rather than spamming with silly mistakes. I see that you are not learning after all this time and you can't think logically. 

You are not far from me, With all these injuries. Whatever, i accept all this. Not for help in L2. Simply that i am. Well, I put that line 

here

http://BjxY9yD.jpgMaybe i must set NPC and no npcs.getProperty?

Edited by InFocus
Guest
This topic is now closed to further replies.



  • Posts

    • Where I can buy a cheap domain .com? cheapest I found was on Godaddy for 12 euro and Hostinger for 10 euro.
    • Hello everyone, here's a simple and useful idea for any type of server.   This code applies a discount when a player makes a purchase inside a clan’s castle or clan hall, offering a benefit to clan members who own a castle or clan hall. Important: Merchant transactions must be handled through multisell, not buylist. The discount is directly applied within the multisell, so the price shown is already reduced.   "For example, if a scroll costs 1000 Adena and you set a 20% discount in the config, the final price when purchasing inside a castle or clan hall will be 800 Adena."   This code is developed on the public aCis 401 revision.   public static int CLAN_BASE_OWNERSHIP_MERCHANT_DISCOUNT; CLAN_BASE_OWNERSHIP_MERCHANT_DISCOUNT = clans.getProperty("ClanBaseOwnershipMechantDiscount", 20); # If clan owns a clan hall or castle, all members have a discount of X% at merchant transactions (multisell). # Discount applies only inside the base (castle or clan hall). ClanBaseOwnershipMechantDiscount = 20   /** diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MultisellData.java b/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MultisellData.java index 556e111..bbf8e69 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MultisellData.java +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/data/xml/MultisellData.java @@ -101,7 +101,7 @@ do { // send list at least once even if size = 0 - player.sendPacket(new MultiSellList(list, index)); + player.sendPacket(new MultiSellList(list, index, player)); index += PAGE_SIZE; } while (index < list.getEntries().size()); diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java index 7c82c5b..1654abc 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java @@ -6,6 +6,7 @@ import net.sf.l2j.Config; import net.sf.l2j.gameserver.enums.FloodProtector; import net.sf.l2j.gameserver.enums.StatusType; +import net.sf.l2j.gameserver.enums.ZoneId; import net.sf.l2j.gameserver.enums.items.CrystalType; import net.sf.l2j.gameserver.model.Augmentation; import net.sf.l2j.gameserver.model.actor.Player; @@ -225,6 +226,20 @@ return; } + if (player.isInsideZone(ZoneId.CLAN_HALL) && player.getClan() != null && player.getClan().hasClanHall()) + { + e.setItemCount(e.getItemCount() * (100 - Config.CLAN_BASE_OWNERSHIP_MERCHANT_DISCOUNT) / 100); + if (e.getItemCount() == 0) + e.setItemCount(1); + } + + if (player.isInsideZone(ZoneId.CASTLE) && player.getClan() != null && player.getClan().hasCastle()) + { + e.setItemCount(e.getItemCount() * (100 - Config.CLAN_BASE_OWNERSHIP_MERCHANT_DISCOUNT) / 100); + if (e.getItemCount() == 0) + e.setItemCount(1); + } + if (Config.BLACKSMITH_USE_RECIPES || !e.getMaintainIngredient()) { // if it's a stackable item, just reduce the amount from the first (only) instance that is found in the inventory diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java index 9269b06..c6102a0 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java @@ -2,6 +2,9 @@ import static net.sf.l2j.gameserver.data.xml.MultisellData.PAGE_SIZE; +import net.sf.l2j.Config; +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.model.multisell.Entry; import net.sf.l2j.gameserver.model.multisell.Ingredient; import net.sf.l2j.gameserver.model.multisell.ListContainer; @@ -15,7 +18,9 @@ private boolean _finished; - public MultiSellList(ListContainer list, int index) + private Player _player; + + public MultiSellList(ListContainer list, int index, Player player) { _list = list; _index = index; @@ -28,6 +33,8 @@ } else _finished = true; + + _player = player; } @Override @@ -74,7 +81,14 @@ { writeH(ing.getItemId()); writeH(ing.getTemplate() != null ? ing.getTemplate().getType2() : 65535); - writeD(ing.getItemCount()); + + if (_player.isInsideZone(ZoneId.CLAN_HALL) && _player.getClan() != null && _player.getClan().hasClanHall()) + writeD((ing.getItemCount() * (100 - Config.CLAN_BASE_OWNERSHIP_MERCHANT_DISCOUNT) / 100) < 1 ? 1 : ing.getItemCount() * 80 / 100); + else if (_player.isInsideZone(ZoneId.CASTLE) && _player.getClan() != null && _player.getClan().hasCastle()) + writeD((ing.getItemCount() * (100 - Config.CLAN_BASE_OWNERSHIP_MERCHANT_DISCOUNT) / 100) < 1 ? 1 : ing.getItemCount() * 80 / 100); + else + writeD(ing.getItemCount()); + writeH(ing.getEnchantLevel()); writeD(0x00); // TODO: i.getAugmentId() writeD(0x00); // TODO: i.getManaLeft()  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt
    • WTB EXP ETERNAL 10x new dm.
    • This project is based on the latest public aCis sources (revision 401) and supports a multi-client system (C4 & IL), making it suitable for custom usage but not for retail.   You can configure the SelectedClient option in server.properties and loginserver.properties to switch between C4 and IL.  Both clients are fully synchronized, including login, server selection, packets, and geodata.   Notable Features: - Completed the login and server selection phase for both clients. - Synchronized all packets to support both clients (including some specific features). - Reworked the datapack and SQL files (excluding HTML files) to work seamlessly with both clients. - Added geodata support for both clients. - Adapted nearly all AI, scripts, bosses, HTML, and MULTISELL files to match C4 functionality. - Reduced the maximum clan level from 8 to 5 (C4 feature). - Rewrote clan HTML to remove C5-C6 features.   Disabled the following C5 and C6 features: - Divine Inspiration (C6 feature). - Clan skills and clan reputation points (C5 feature). - Pledge class (C5 feature). - Hero skills (C5 feature). - Dueling system (C6 feature). - Augmentations (C6 feature). - Cursed weapons (C5-C6 feature).   General Improvements: - Performed a general HTML cleanup and optimized features based on the client version. - Added an option to display the remaining time of disabled skills. - Skill timestamps now update when using the skill list.   This flexibility allows you to create a unique progression system tailored to your needs. The price for the diff patch, which can be applied to aCis public sources, is €150. For inquiries, please contact me via PM or Discord (ID: @Luminous).
  • Topics

×
×
  • Create New...