Jump to content
  • 0

[Help] Skills etc...


Question

9 answers to this question

Recommended Posts

  • 0
Posted

How make then you go into example primeval island you can't use bishop heal or other heal and gain auto noblesse?

Thanks for help!!!

make a new zone,with primeval coordinates.

and then,insert here

protected void onEnter(L2Character character)
{
//noble code here
}

 

about heal thingy,

one way is to remove every heal from every class/char when they enter in the zone.

 

be aware,

you have to add them again when they exit,here

protected void onExit(L2Character character)
{
//code for re-adding heal skill(s)
}

 

hope I helped.

  • 0
Posted

you helped, but i don't know how add noble skill and remove heal skill

 

//noble code here

//code for re-adding heal skill(s)

come on :P

 

search in your source for the methods,you shoulda start doin' something alone.

 

it's not that hard,especially if you own a server.

  • 0
Posted

i now how open search, but i don't know where search about these skills, please say where search about auto nobles and no heal skills...

As far I see you dont a shit about java :P no problems,but don't try to open a server with 0 knowledge.

 

read guides,there are a shit load of them everywhere(in forum,in l2j's forum,in google) start practisin' and then open a server..

  • 0
Posted

i now how open search, but i don't know where search about these skills, please say where search about auto nobles and no heal skills...

L2J is 20% java knowledge and 80% project exploration. Unfortunately project exploration can't be learnt, you need curiosity and patience for that.

 

If you know what and where to search, you will be victorious, on any case.

 

Be curious, and use your brain to find existing example of what you want to do. All is already existing on the source. You will find at least one case of what you want to do. If not, your idea is just too much complex and/or you need a core layer you will have to code yourself.

 

Without any Java knowledge, you can begin to understand things between 1 to 3 months. Between 3 and 6 months you got already a good overview of the project.

 

You can't compress the time, there isn't many solutions :

- you take a lot of time on duration (need months)

- you're a bookworm and work on it whenever you got free time (I personally code 10 to 15h per day some days).

  • 0
Posted

/* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/

package com.l2jfrozen.gameserver.model.zone.type;

import java.util.concurrent.Future;

import com.l2jfrozen.gameserver.datatables.SkillTable;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.L2Skill;
import com.l2jfrozen.gameserver.model.actor.instance.L2MonsterInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance;
import com.l2jfrozen.gameserver.model.zone.L2ZoneType;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import com.l2jfrozen.util.random.Rnd;

public class L2PoisonZone extends L2ZoneType
{
protected int _skillId;
private int _chance;
private int _initialDelay;
protected int _skillLvl;
private int _reuse;
private boolean _enabled;
private String _target;
private Future<?> _task;

public L2PoisonZone(int id)
{
	super(id);
	_skillId = 1323;
	_skillLvl = 1;
	_chance = 100;
	_initialDelay = 0;
	_reuse = 30000;
	_enabled = true;
	_target = "pc";
}

@Override
public void setParameter(String name, String value)
{
	if(name.equals("skillId"))
	{
		_skillId = Integer.parseInt(value);
	}
	else if(name.equals("skillLvl"))
	{
		_skillLvl = Integer.parseInt(value);
	}
	else if(name.equals("chance"))
	{
		_chance = Integer.parseInt(value);
	}
	else if(name.equals("initialDelay"))
	{
		_initialDelay = Integer.parseInt(value);
	}
	else if(name.equals("default_enabled"))
	{
		_enabled = Boolean.parseBoolean(value);
	}
	else if(name.equals("target"))
	{
		_target = String.valueOf(value);
	}
	else if(name.equals("reuse"))
	{
		_reuse = Integer.parseInt(value);
	}
	else
	{
		super.setParameter(name, value);
	}
}

@Override
protected void onEnter(L2Character character)
{
	if((character instanceof L2PlayableInstance && _target.equalsIgnoreCase("pc") || character instanceof L2PcInstance && _target.equalsIgnoreCase("pc_only") || character instanceof L2MonsterInstance && _target.equalsIgnoreCase("npc")) && _task == null)
	{
		_task = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ApplySkill(/*this*/), _initialDelay, _reuse);
	}
}

@Override
protected void onExit(L2Character character)
{
	if(_characterList.isEmpty() && _task != null)
	{
		_task.cancel(true);
		_task = null;
	}
}

public L2Skill getSkill()
{
	return SkillTable.getInstance().getInfo(_skillId, _skillLvl);
}

public String getTargetType()
{
	return _target;
}

public boolean isEnabled()
{
	return _enabled;
}

public int getChance()
{
	return _chance;
}

public void setZoneEnabled(boolean val)
{
	_enabled = val;
}

/*protected Collection getCharacterList()
{
    return _characterList.values();
}*/

class ApplySkill implements Runnable
{
//		private L2PoisonZone _poisonZone;

//		ApplySkill(/*L2PoisonZone zone*/)
//		{
//			_poisonZone = zone;
//		}

	@Override
	public void run()
	{
		if(isEnabled())
		{
			for(L2Character temp : _characterList.values())
			{
				if(temp != null && !temp.isDead())
				{
					if((temp instanceof L2PlayableInstance && getTargetType().equalsIgnoreCase("pc") || temp instanceof L2PcInstance && getTargetType().equalsIgnoreCase("pc_only") || temp instanceof L2MonsterInstance && getTargetType().equalsIgnoreCase("npc")) && Rnd.get(100) < getChance())
					{
						L2Skill skill = null;
						if((skill=getSkill())==null){
							System.out.println("ATTENTION: error on zone with id "+getId());
							System.out.println("Skill "+_skillId+","+_skillLvl+" not present between skills");
						}else
							skill.getEffects(temp, temp,false,false,false);
					}
				}
			}
		}
	}
}

@Override
public void onDieInside(L2Character l2character)
{}

@Override
public void onReviveInside(L2Character l2character)
{}
}

 

i maked then you enter gain auto nobless but how make example you can't use Greater Battle Heal? Thanks for help!

Guest
This topic is now closed to further replies.


×
×
  • Create New...