лекки 0 Опубліковано 26 червня, 2020 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; } } я не понимаю что тут написано, и переводчик не помогает.... для настроек сервера , в таких файлах нужно что то менять? Цитата Поділитись повідомленням Посилання на повідомлення
haron 43 Опубліковано 26 червня, 2020 Вот пример где можешь копаться \gameserver\config для настройки сервера, а в файлы с расширением .java лучше не лезь что бы потом не было вопросов а почему у меня это не работает, или выдаёт такую ошибку Цитата Поділитись повідомленням Посилання на повідомлення
mindevis 27 Опубліковано 26 червня, 2020 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 Цитата Поділитись повідомленням Посилання на повідомлення
лекки 0 Опубліковано 26 червня, 2020 2 часа назад, haron сказал: Вот пример где можешь копаться \gameserver\config для настройки сервера, а в файлы с расширением .java лучше не лезь что бы потом не было вопросов а почему у меня это не работает, или выдаёт такую ошибку вот спасибо огромное Цитата Поділитись повідомленням Посилання на повідомлення
лекки 0 Опубліковано 26 червня, 2020 2 часа назад, mindevis сказал: Рекомендую вам ознакомиться с тем что такое Java ООП А потом уже что-либо изменять в классах .java честно есть желание , но не хватает времени, но спасибо за совет Цитата Поділитись повідомленням Посилання на повідомлення