Jump to content
  • 0

I Am Stuck And My Code Doesnt Work


Question

Posted (edited)

I still get mastery penalty even with this 

if (!_bow_mastery && !_blunt_mastery && !_dagger_mastery && !_fist_mastery && !_dual_mastery && !_pole_mastery && !_sword_mastery && !_2hands_mastery)
{ // not completed 1st class transfer or not acquired yet the mastery skills
newMasteryPenalty = 0;
}
else
{
for (L2ItemInstance item : getInventory().getItems())
{
if (item != null && item.isEquipped() && item.getItem() instanceof L2Weapon && !isCursedWeaponEquiped())
{
// No penality for cupid's bow

+if (item.isCupidBow() || item.getItemId() == 10010 || item.getItemId() == 10011) 
continue;
Edited by Akken

13 answers to this question

Recommended Posts

  • 0
Posted (edited)

Hello 

 

Your check is fine Akken, try to search xmls you might have something custom that gives you a penalty like some skills that are using 

usekind="sword,bow" and such stuff

Edited by Ayami-
  • 0
Posted

mastery penalty for weapon , so if you wear cupid bow it doesnt give you a penalty i want to add  2 more weapons so you cant get a mastery penalty  but i guess my code is wrong?

  • 0
Posted (edited)

it is interlude and l2jbroken (frozen) just learning making some tries   :P  i am just so curious why it doesnt work it is L2PcInstance

Edited by Akken
  • 0
Posted (edited)

Just need to add a check for 2 weapons so they wont get penalty and i am stuck

/**
* Refresh mastery weap penality.
*/
public void refreshMasteryWeapPenality()
{
if (!Config.MASTERY_WEAPON_PENALTY || this.getLevel() <= Config.LEVEL_TO_GET_WEAPON_PENALITY)
return;
 
_blunt_mastery = false;
_bow_mastery = false;
_dagger_mastery = false;
_fist_mastery = false;
_dual_mastery = false;
_pole_mastery = false;
_sword_mastery = false;
_2hands_mastery = false;
 
L2Skill[] char_skills = this.getAllSkills();
 
for (L2Skill actual_skill : char_skills)
{
 
if (actual_skill.getName().contains("Sword Blunt Mastery"))
{
_sword_mastery = true;
_blunt_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Blunt Mastery"))
{
_blunt_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Bow Mastery"))
{
_bow_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Dagger Mastery"))
{
_dagger_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Fist Mastery"))
{
_fist_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Dual Weapon Mastery"))
{
_dual_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Polearm Mastery"))
{
_pole_mastery = true;
continue;
}
 
if (actual_skill.getName().contains("Two-handed Weapon Mastery"))
{
_2hands_mastery = true;
continue;
}
}
 
int newMasteryPenalty = 0;
 
if (!_bow_mastery && !_blunt_mastery && !_dagger_mastery && !_fist_mastery && !_dual_mastery && !_pole_mastery && !_sword_mastery && !_2hands_mastery)
{ // not completed 1st class transfer or not acquired yet the mastery skills
newMasteryPenalty = 0;
}
else
{
for (L2ItemInstance item : getInventory().getItems())
{
if (item != null && item.isEquipped() && item.getItem() instanceof L2Weapon && !isCursedWeaponEquiped())
{
// No penality for cupid's bow
if (item.isCupidBow())
continue;
 
L2Weapon weap_item = (L2Weapon) item.getItem();
 
switch (weap_item.getItemType())
{
 
case BIGBLUNT:
case BIGSWORD:
{
if (!_2hands_mastery)
newMasteryPenalty++;
}
break;
case BLUNT:
{
if (!_blunt_mastery)
newMasteryPenalty++;
}
break;
case BOW:
{
if (!_bow_mastery)
newMasteryPenalty++;
}
break;
case DAGGER:
{
if (!_dagger_mastery)
newMasteryPenalty++;
}
break;
case DUAL:
{
if (!_dual_mastery)
newMasteryPenalty++;
}
break;
case DUALFIST:
case FIST:
{
if (!_fist_mastery)
newMasteryPenalty++;
}
break;
case POLE:
{
if (!_pole_mastery)
newMasteryPenalty++;
}
break;
case SWORD:
{
if (!_sword_mastery)
newMasteryPenalty++;
}
break;
 
}
}
}
 
}
Edited by Akken
  • 0
Posted
if (!_bow_mastery && !_blunt_mastery && !_dagger_mastery && !_fist_mastery && !_dual_mastery && !_pole_mastery && !_sword_mastery && !_2hands_mastery)
{ // not completed 1st class transfer or not acquired yet the mastery skills
newMasteryPenalty = 0;
}
else if (item.isCupidBow() || item.getItemId() == 10010 || item.getItemId() == 10011)  {
newMasteryPenalty = 0;
}
else
{
for (L2ItemInstance item : getInventory().getItems())
{
if (item != null && item.isEquipped() && item.getItem() instanceof L2Weapon && !isCursedWeaponEquiped())
{

something like that dunno ;D

  • 0
Posted

his code is working i tested it on my local practise project just mine isnt l2jfrozen 

 

he propably has something custom i am sure for this.

Guest
This topic is now closed to further replies.


  • Posts

    • Hello it seems you can't receive PMs, it won't let me, do you use discord?
    • Hello after returning to lineage 2, I was wanting to start some local server development for a few friends and me to play around with but for some reason I'm having trouble after so many years to find a stable high five client. The clients I have found either have crash issue, many errors in the client log files or freeze after only a day or two of playing (autofarming for a day for example, you'll go to teleport after a farm session and the client freezes).   I've played a few High Five servers and it seems a lot of them have been able to optimize it to avoid these problems.  We are running multiple clients per PC so this does sound essential.   I've heard one major feature that is helping client stability is the ability to clear cache/memory without restarting the game or something along those lines.   So I'm wondering if anyone can point me in the direction of obtaining a High Five client that is clean, optimized and decrypted to be able to add customs items etc. for a fair price.  
    • Sometimes you can understand his intentions from the words he uses and the way he says it to you.  
    • Price List tgsession+js and tdata Premium Countries  • +7 🇷🇺 Russia: $0.80  • +55 🇧🇷 Brazil: $0.80  • +31 🇳🇱 Netherlands: $0.80  • +34 🇪🇸 Spain: $0.80  • +39 🇮🇹 Italy: $0.80  • +49 🇩🇪 Germany: $0.80 Standard Countries  • +33 🇫🇷 France: $0.70  • +351 🇵🇹 Portugal: $0.70  • +380 🇺🇦 Ukraine: $0.75 Economy Countries  • +52 🇲🇽 Mexico: $0.65  • +358 🇫🇮 Finland: $0.65  • +965 🇰🇼 Kuwait: $0.60 Popular Choices (Only $0.55 each):  • +48 🇵🇱 Poland  • +91 🇮🇳 India  • +385 🇭🇷 Croatia  • +964 🇮🇶 Iraq  • +43 🇦🇹 Austria  • +972 🇮🇱 Israel  • +44 🇬🇧 UK  • +46 🇸🇪 Sweden  • +90 🇹🇷 Turkey  • +502 🇬🇹 Guatemala Special Prices  • +371 🇱🇻 Latvia: $0.45  • +60 🇲🇾 Malaysia: $0.50  • +54 🇦🇷 Argentina: $0.50  • +505 🇭🇳 Nicaragua: $0.50  • +992 🇹🇯 Tajikistan: $0.50  • +998 🇺🇿 Uzbekistan: $0.50  • +58 🇻🇪 Venezuela: $0.50  • +1441 🇧🇲 Bermuda: $0.45  • +20 🇪🇬 Egypt: $0.45 Most Affordable  • +51 🇵🇪 Peru: $0.50  • +263 🇿🇼 Zimbabwe: $0.50  • +57 🇨🇴 Colombia: $0.50  • +880 🇧🇩 Bangladesh: $0.30  • +95 🇲🇲 Myanmar: $0.30  • +62 🇮🇩 Indonesia / +63 🇵🇭 Philippines: $0.3   TG: providerwstg
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..