Jump to content
Sign in to follow this  
лекки

стоит в таких файлах копаться?

Recommended Posts

package handlers.itemhandlers;

import java.util.List;

import org.l2jmobius.gameserver.enums.ItemSkillType;
import org.l2jmobius.gameserver.enums.ShotType;
import org.l2jmobius.gameserver.handler.IItemHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Playable;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.model.items.type.WeaponType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;

/**
 * @author -Nemesiss-
 */
public class FishShots implements IItemHandler
{
    @Override
    public boolean useItem(Playable playable, ItemInstance item, boolean forceUse)
    {
        if (!playable.isPlayer())
        {
            playable.sendPacket(SystemMessageId.YOUR_PET_CANNOT_CARRY_THIS_ITEM);
            return false;
        }
        
        final PlayerInstance player = playable.getActingPlayer();
        final ItemInstance weaponInst = player.getActiveWeaponInstance();
        final Weapon weaponItem = player.getActiveWeaponItem();
        if ((weaponInst == null) || (weaponItem.getItemType() != WeaponType.FISHINGROD))
        {
            return false;
        }
        
        if (player.isChargedShot(ShotType.FISH_SOULSHOTS))
        {
            return false;
        }
        
        final long count = item.getCount();
        final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
        if (!gradeCheck)
        {
            player.sendPacket(SystemMessageId.THAT_IS_THE_WRONG_GRADE_OF_SOULSHOT_FOR_THAT_FISHING_POLE);
            return false;
        }
        
        if (count < 1)
        {
            return false;
        }
        
        player.chargeShot(ShotType.FISH_SOULSHOTS);
        player.destroyItemWithoutTrace("Consume", item.getObjectId(), 1, null, false);
        final WorldObject oldTarget = player.getTarget();
        player.setTarget(player);
        
        final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
        if (skills == null)
        {
            LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
            return false;
        }
        
        skills.forEach(holder -> Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, holder.getSkillId(), holder.getSkillLevel(), 0, 0), 600));
        player.setTarget(oldTarget);
        return true;
    }
}
я не понимаю что тут написано, и переводчик не помогает.... для настроек сервера , в таких файлах нужно что то менять?

Share this post


Link to post
Реклама

Вот пример где можешь копаться \gameserver\config для настройки сервера, а в файлы с расширением .java лучше не лезь что бы потом не было вопросов а почему у меня это не работает, или выдаёт такую ошибку

Share this post


Link to post
2 часа назад, лекки сказал:

package handlers.itemhandlers;

import java.util.List;

import org.l2jmobius.gameserver.enums.ItemSkillType;
import org.l2jmobius.gameserver.enums.ShotType;
import org.l2jmobius.gameserver.handler.IItemHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Playable;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.model.items.type.WeaponType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;

/**
 * @author -Nemesiss-
 */
public class FishShots implements IItemHandler
{
    @Override
    public boolean useItem(Playable playable, ItemInstance item, boolean forceUse)
    {
        if (!playable.isPlayer())
        {
            playable.sendPacket(SystemMessageId.YOUR_PET_CANNOT_CARRY_THIS_ITEM);
            return false;
        }
        
        final PlayerInstance player = playable.getActingPlayer();
        final ItemInstance weaponInst = player.getActiveWeaponInstance();
        final Weapon weaponItem = player.getActiveWeaponItem();
        if ((weaponInst == null) || (weaponItem.getItemType() != WeaponType.FISHINGROD))
        {
            return false;
        }
        
        if (player.isChargedShot(ShotType.FISH_SOULSHOTS))
        {
            return false;
        }
        
        final long count = item.getCount();
        final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
        if (!gradeCheck)
        {
            player.sendPacket(SystemMessageId.THAT_IS_THE_WRONG_GRADE_OF_SOULSHOT_FOR_THAT_FISHING_POLE);
            return false;
        }
        
        if (count < 1)
        {
            return false;
        }
        
        player.chargeShot(ShotType.FISH_SOULSHOTS);
        player.destroyItemWithoutTrace("Consume", item.getObjectId(), 1, null, false);
        final WorldObject oldTarget = player.getTarget();
        player.setTarget(player);
        
        final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
        if (skills == null)
        {
            LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
            return false;
        }
        
        skills.forEach(holder -> Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, player, holder.getSkillId(), holder.getSkillLevel(), 0, 0), 600));
        player.setTarget(oldTarget);
        return true;
    }
}
я не понимаю что тут написано, и переводчик не помогает.... для настроек сервера , в таких файлах нужно что то менять?

Рекомендую вам ознакомиться с тем что такое Java ООП

А потом уже что-либо изменять в классах .java

Share this post


Link to post
2 часа назад, haron сказал:

Вот пример где можешь копаться \gameserver\config для настройки сервера, а в файлы с расширением .java лучше не лезь что бы потом не было вопросов а почему у меня это не работает, или выдаёт такую ошибку

 вот спасибо огромное

Share this post


Link to post
2 часа назад, mindevis сказал:

Рекомендую вам ознакомиться с тем что такое Java ООП

А потом уже что-либо изменять в классах .java

честно есть желание , но не хватает времени, но спасибо за совет

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  
×
×
  • Create New...