Skip to content

Revita pops

Featured Replies

Hello.

 

I'm having a problem with the revita pops in my server.

When I try to use them - nothing happens, absolutely nothing.

I spawn them with id 20034.

The server is using L2J gracia final.

 

Any ideas? :/

Take a look at itemhandler , there should be the problem .

 

EDIT :

Can you give me the skill of the item ?

What is wrote in gameserver when you press it ?

  • Author

This is the itemhandler -> http://svn.l2jserver.com/trunk/L2J_Server/java/com/l2jserver/gameserver/handler/ItemHandler.java , if I'm not wrong..

 

Skill, where can I find that? :/

When I press it - nothing happens in-game and there's nothing new in the gameserver console too.

Not sure , into navicat , etcitems table should be at last column something with item's skill id (not sure , i'm not working on interlude+ )

 

After that , check data/stats/skill . Should be something like ( yes , that's for your item )

 

http://trac.assembla.com/L2jOfficial/changeset/1446/trunk/data/data/stats/skills/22000-22099.xml

  • Author

I made it like this:

    <skill id="22006" levels="1" name="Halloween Candy">
        <set name="itemConsumeCount" val="1" />
        <set name="target" val="TARGET_SELF" />
        <set name="skillType" val="GIVE_VITALITY" />
        <set name="operateType" val="OP_ACTIVE" />
        <set name="isPotion" val="true" />
        <set name="power" val="20000" />
    </skill>

 

I've restarted the server after that and still no change.

I tried //skill_test 22006 and it just gives the effect, but no vitality.

this: GIVE_VITALITY is bugged, search for java codes inside your core connected with "GIVE_VITALITY" and give us :P

  • Author

this: GIVE_VITALITY is bugged, search for java codes inside your core connected with "GIVE_VITALITY" and give us :P

 

Hm..

This is the GiveVitality.java in gameserver/data/scripts/handlers/skillhandlers/

package handlers.skillhandlers;

import net.sf.l2j.gameserver.handler.ISkillHandler;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.templates.skills.L2SkillType;

public class GiveVitality implements ISkillHandler
{
private static final L2SkillType[] SKILL_IDS =
{
	L2SkillType.GIVE_VITALITY
};

public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
{
	for (L2Object target : targets)
	{
		if (target instanceof L2PcInstance)
		{
			((L2PcInstance) target).updateVitalityPoints((float)skill.getPower(), false, false);
		}
	}
}

public L2SkillType[] getSkillIds()
{
	return SKILL_IDS;
}
}

 

Anything else?

After

package handlers.skillhandlers;

import net.sf.l2j.gameserver.handler.ISkillHandler;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.templates.skills.L2SkillType;

Delete all and add

public class GiveVitality implements ISkillHandler
{
private static final L2SkillType[] SKILL_IDS =
{
	L2SkillType.GIVE_VITALITY
};

@Override
public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
{
	for (L2Object target : targets)
	{
		if (target.isPlayer())
		{
			if (skill.hasEffects())
			{
				target.getActingPlayer().stopSkillEffects(skill.getId());
				skill.getEffects(activeChar, target.getActingPlayer());
				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
				sm.addSkillName(skill);
				target.sendPacket(sm);
			}
			target.getActingPlayer().updateVitalityPoints((float)skill.getPower(), false, false);
			target.getActingPlayer().sendPacket(new UserInfo(target.getActingPlayer()));
		}
	}
}

@Override
public L2SkillType[] getSkillIds()
{
	return SKILL_IDS;
}
}

  • Author

Edited it like that, started the server and got this error:

1. ERROR in D:\L2 server\gameserver\data\scripts\handlers\skillhandlers\GiveVita
lity.java (at line 36)
        if (target.isPlayer())
                   ^^^^^^^^
The method isPlayer() is undefined for the type L2Object
----------
2. ERROR in D:\L2 server\gameserver\data\scripts\handlers\skillhandlers\GiveVita
lity.java (at line 42)
        SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FE
EL_S1_EFFECT);
        ^^^^^^^^^^^^^
SystemMessage cannot be resolved to a type
----------
3. ERROR in D:\L2 server\gameserver\data\scripts\handlers\skillhandlers\GiveVita
lity.java (at line 42)
        SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FE
EL_S1_EFFECT);
                           ^^^^^^^^^^^^^
SystemMessage cannot be resolved
----------
4. ERROR in D:\L2 server\gameserver\data\scripts\handlers\skillhandlers\GiveVita
lity.java (at line 42)
        SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FE
EL_S1_EFFECT);
                                                          ^^^^^^^^^^^^^^^
SystemMessageId cannot be resolved
----------
5. ERROR in D:\L2 server\gameserver\data\scripts\handlers\skillhandlers\GiveVita
lity.java (at line 47)
        target.getActingPlayer().sendPacket(new UserInfo(target.getActingPlayer(
)));
                                                ^^^^^^^^
UserInfo cannot be resolved to a type
----------
5 problems (5 errors)The method isPlayer() is undefined for the type net.sf.l2j.
gameserver.model.L2Object
SystemMessage cannot be resolved to a type
SystemMessage cannot be resolved
SystemMessageId cannot be resolved
UserInfo cannot be resolved to a type
Failed executing script: D:\L2 server\gameserver\data\scripts\handlers\MasterHan
dler.java. See MasterHandler.java.error.log for details.

Just try pressing CTRL+SPACE and you'll see what's wrong . You should addapt it , not me !

  • Author

If I could do it on my own, I wasn't going to ask for help.... :/

Can anyone help me adapt it for T2.3 so that the damn revita pops would finally work? :(

I'm not sure , tomorrow add me and i'll try . Let me know your Skype ID on PM !

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.