Показать сообщение отдельно
Непрочитано 18.04.2013, 16:38   #3
Аватар для kloni1
Пользователь

Автор темы (Топик Стартер) Re: Парс итемов

PHP код:
package handler.items;

import gnu.trove.set.hash.TIntHashSet;

import org.mmocore.gameserver.data.xml.holder.ItemHolder;
import org.mmocore.gameserver.model.Creature;
import org.mmocore.gameserver.model.Playable;
import org.mmocore.gameserver.model.Player;
import org.mmocore.gameserver.model.Skill;
import org.mmocore.gameserver.model.items.ItemInstance;
import org.mmocore.gameserver.templates.item.ItemTemplate;

/**
 * @author VISTALL
 * @date 7:34/17.03.2011
 */
public class ItemSkills extends ScriptItemHandler
{
    private 
int[] _itemIds;

    public 
ItemSkills()
    {
        
TIntHashSet set = new TIntHashSet();
        for(
ItemTemplate template ItemHolder.getInstance().getAllTemplates())
        {
            if(
template == null)
                continue;

            for(
Skill skill template.getAttachedSkills())
                if(
skill.isHandler())
                    
set.add(template.getItemId());
        }
        
_itemIds set.toArray();
    }

    @
Override
    
public boolean useItem(Playable playableItemInstance itemboolean ctrl)
    {
        
Player player;
        if(
playable.isPlayer())
            
player = (Playerplayable;
        else if(
playable.isPet())
            
player playable.getPlayer();
        else
            return 
false;

        
Skill[] skills item.getTemplate().getAttachedSkills();

        for(
int i 0skills.lengthi++)
        {
            
Skill skill skills[i];
            
Creature aimingTarget skill.getAimingTarget(playerplayer.getTarget());
            if(
skill.checkCondition(playeraimingTargetctrlfalsetrue))
                
player.getAI().Cast(skillaimingTargetctrlfalse);
            else if(
== 0//FIXME [VISTALL] всегда первый скил идет вместо конда?
                
return false;
        }
        return 
true;
    }

    @
Override
    
public int[] getItemIds()
    {
        return 
_itemIds;
    }

PHP код:
if(skill.isHandler()) 
__________________
Помог не забудь "Спасибо"
kloni1 вне форума Отправить сообщение для kloni1 с помощью ICQ Ответить с цитированием