Jump to content
  • 0

help with map list & arraylist


Question

Posted

hello i have make a restore buffer with map & arraylist

so i need make a more option like player can save that list with name + can make a new list like fighter/mage

i think for me this method is better from scheme buffer.

anyway. how to get a list and make a new list with name

	private Map<Integer, ArrayList<Integer>> _restore = new HashMap<>();

i call this from add buff

	private ArrayList<Integer> getOwnBuffs(final int objectId)
	{
		if (_restore.get(objectId) == null)
		{
			synchronized (_restore)
			{
				_restore.put(objectId, new ArrayList<Integer>());
			}
		}
		return _restore.get(objectId);
	}

restore list
ArrayList<Integer> bufs = getOwnBuffs(player.getObjectId());
				for (final Integer id : bufs)
				{
					player.broadcastPacket(new MagicSkillUse(this, player, id, SkillTable.getInstance().getMaxLevel(id), 500, 0));
					SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id)).getEffects(this, player);
				}
from here he add buffs and he check if skill is not same from skill list
						if (!getOwnBuffs(player.getObjectId()).contains(skillId))
						{
							getOwnBuffs(player.getObjectId()).add(skillId);
						}

 

5 answers to this question

Recommended Posts

  • 0
Posted (edited)

I don't know if this is what you want:

 

public static class BuffInfo
	{
		int skillId;
		int skillLvl;
		
		public BuffInfo(int skillId, int skillLvl)
		{
			this.skillId = skillId;
			this.skillLvl = skillLvl;
		}
		
		public int getSkillId()
		{
			return skillId;
		}
		
		public int getSkillLevel()
		{
			return skillLvl;
		}
		
		public Skill getSkill()
		{
			return SkillData.getInstance().getSkill(skillId, skillLvl);
		}
	}
	
	public Map<String, List<BuffInfo>> _buff = new HashMap<>();
	
	public Collection<BuffInfo> getBuffOfScheme(String scheme)
	{
		return _buff.get(scheme);
	}
	
	public void addBuffToScheme(String scheme, BuffInfo buff)
	{
		if (!_buff.containsKey(scheme))
		{
			_buff.put(scheme, new ArrayList<>());
		}
		_buff.get(scheme).add(buff);
	}
	
	public void applyScheme(L2PcInstance player, String scheme)
	{
		getBuffOfScheme(scheme).forEach(b -> b.getSkill().applyEffects(player, player));
	}

 

Note i gave you all possible methods, to store, save, retreive buffs. 

 

Also synchronized (_restore) ? Why since is not accessible from other.

Edited by Kara`
  • 0
Posted

You can literally inspire yourself from my scheme buffer and pick the codes part you want.

 

Kara the following method creates an empty list for nothing.

getBuffOfScheme
  • 0
Posted (edited)
48 minutes ago, Tryskell said:

You can literally inspire yourself from my scheme buffer and pick the codes part you want.

 

Kara the following method creates an empty list for nothing.


getBuffOfScheme

Oke, i changed it.

Edited by Kara`
  • 0
Posted (edited)

tnx kara & tryskell for help i try to make a list restore buff without use name and if any player need make a second list the only need to do is to use a name to old list for save buff like "fighter" and after make a new list like "mage"

Edited by tazerman2
  • 0
Posted
8 minutes ago, tazerman2 said:

tnx kata & tryskell for help i try to make a list restore buff without use name and if any player need make a second list the only need to do is to use a name to old list for save buff like "fighter" and after make a new list like "mage"

kata? Bitch plz.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • The character stops walking when using a mana potion. any can help me?   IemData item_begin    etcitem    728    [mana_potion]    item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=potion    recipe_id=0    blessed=0    weight=180    default_action=action_skill_reduce    consume_type=consume_type_stackable    initial_count=1    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=2000    item_skill=[s_mana_potion]    critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=liquid    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=10000    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={@ALL_PET}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end   SkillData   skill_begin    skill_name=[s_mana_potion]    skill_id=50004    level=1    operate_type=A2    magic_level=1    effect={{t_mp;57;3}}    is_magic=0    mp_consume2=0    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=0    activate_rate=-1    lv_bonus_rate=0    basic_property=none    abnormal_time=15    abnormal_lv=1    abnormal_type=mp_recovery    attribute=attr_none    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    debuff=0    ride_state={@ride_none}    skill_end  
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock