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.
DISCORD :
https://discord.com/users/325653525793210378
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
A small reminder for everyone browsing here - our bonus-start is active starting from today, you can already play with the new benefits! Have a good time everyone 🙂
Congratulations to the Creative alliance on the first-ever defeat of Frintezza on our server! 🏆 Your teamwork and dedication have earned you a place in history.🎉
Question
KiloWak
I have Freya form l2jserver, what i want is that when mob is spoiled to spoil effect add abnormal effect of real target...
i've tried many times, many compiles but nothing happened, then i found effectspoil.java from game root/.../... directory...
so i tried to put there some changes and it works... the problem is that abnormal effect stays when mob spawns again..((
you may look here...
/*
* 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillhandlers;
import com.l2jserver.gameserver.ai.CtrlEvent;
import com.l2jserver.gameserver.handler.ISkillHandler;
import com.l2jserver.gameserver.model.L2Object;
import com.l2jserver.gameserver.model.L2Skill;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
import com.l2jserver.gameserver.skills.Formulas;
import com.l2jserver.gameserver.templates.skills.L2SkillType;
import com.l2jserver.gameserver.skills.AbnormalEffect;
/**
* @author _drunk_
*
*/
public class Spoil implements ISkillHandler
{
private static final L2SkillType[] SKILL_IDS =
{
L2SkillType.SPOIL
};
/**
*
* @see com.l2jserver.gameserver.handler.ISkillHandler#useSkill(com.l2jserver.gameserver.model.actor.L2Character, com.l2jserver.gameserver.model.L2Skill, com.l2jserver.gameserver.model.L2Object[])
*/
public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
{
if (!(activeChar instanceof L2PcInstance))
return;
if (targets == null)
return;
for (L2Object tgt: targets)
{
if (!(tgt instanceof L2MonsterInstance))
continue;
L2MonsterInstance target = (L2MonsterInstance) tgt;
if (target.isSpoil())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.ALREADY_SPOILED));
continue;
}
// SPOIL SYSTEM by Lbaldi
boolean spoil = false;
if (target.isDead() == false)
{
spoil = Formulas.calcMagicSuccess(activeChar, (L2Character) tgt, skill);
if (spoil)
{
target.setSpoil(true);
target.setIsSpoiledBy(activeChar.getObjectId());
activeChar.sendPacket(new SystemMessage(SystemMessageId.SPOIL_SUCCESS));
target.startAbnormalEffect(AbnormalEffect.REAL_TARGET);
}
else
{
SystemMessage sm = new SystemMessage(SystemMessageId.C1_RESISTED_YOUR_S2);
sm.addCharName(target);
sm.addSkillName(skill);
activeChar.sendPacket(sm);
}
target.getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, activeChar);
}
}
}
/**
*
* @see com.l2jserver.gameserver.handler.ISkillHandler#getSkillIds()
*/
public L2SkillType[] getSkillIds()
{
return SKILL_IDS;
}
}
so question is this... where and what to put???
target.stopAbnormalEffect(AbnormalEffect.REAL_TARGET); ? ? ? ? ? ?
getEffected().stopAbnormalEffect(AbnormalEffect.REAL_TARGET); ? ? ? ? ? ?
THIS IS MY GUESSES!!!! i dont know good structure of l2j, that is why i am not propouse my ideas..maybe you know better....
ive tried to do classes,
OnExit() {//...but here need monster with respective ID, or respective target...
L2MonsterInstance target = (L2MonsterInstance) tgt;
target.stopAbnormalEffect(AbnormalEffect.REAL_TARGET);
}
onAction class the same thing...
when i start gameserver... i have error...
no such ... tgt;
i've tried getEffeced();
and still nothing...
what is difference from skillhandler spoil.java and effectspoil.java from l2j eclipse(repository) when not compiled???
ive changed effectspoil.java with eclipse, compile it and again nothing happened...
i ve tried to delete skillhandler spoil.java ...i wanted effect to go direct to server... where(i guess) if i change effectspoil.java
with eclipse(changes hopefuly will take effect....)
anyway is my idea, but i dont know l2j server so good, maybe someone know how to do this in 2 seconds...
i guess somehow mob need to clean his abnormal effects on spawn!? - this is bad idea ? if no - how to do this?
or better abnormal effect need to disappear when mob with respective ID dies....
thanks in advance, sorry my english!
0 answers to this question
Recommended Posts
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.