-
Публикаций
1028 -
Зарегистрирован
-
Посещение
-
Победитель дней
16 -
Отзывы
100%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент CalypsoToolz
-
Если сборка на основе лоста/феникса, то можно задействовать OnEquipListener, при одевании проверяем ид итема на нужный нам и рассылаем пакет MagicSkillUse от игрока с нужным нам скиллом.
-
php версию пониже поставь, 5,3 например, либо юзай mysqli_connect
-
Если pw, то вот набросок. Скиллов не будет, но чар может брать корону/оружие героя. И еще одно НО - аура только до релога. package calypso; import java.lang.reflect.Field; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance; import scripts.items.IItemHandler; import scripts.items.ItemHandler; /** * * @author Calypso * */ public class HeroAuraItem implements IItemHandler { private static final int[] ITEM_IDS = { 4037 }; @Override public int[] getItemIds() { return ITEM_IDS; } @Override public void useItem(L2PlayableInstance playable, L2ItemInstance item) { L2PcInstance player = (L2PcInstance) playable; Class<L2PcInstance> clazz = L2PcInstance.class; Field iField = null; try { iField = clazz.getDeclaredField("_hero"); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (SecurityException e){ e.printStackTrace(); } if (iField == null) return; iField.setAccessible(true); try { iField.setBoolean(player, true); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } player.broadcastUserInfo(); player.destroyItem("Consume", item.getObjectId(), 1, null, false); } public static void main(String... arguments) { ItemHandler.getInstance().registerItemHandler(new HeroAuraItem()); } } PS. проверки не писал
- 2 ответа
-
- 1
-
-
Скрипты для ит-сборок, хуки в ядре, так же скрипты под феникс/лост-сборки - подробности в лс.
-
Какие хочешь, итемы будут выданы игрокам при первом входе (т.е. один раз)
-
http://forummaxi.ru/topic/76584-%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B8-emurt-last/?do=findComment&comment=719126
-
Скрипты для этих сервисов присутствуют?
-
Сурс имеется? Если да, то могу реализовать - подробнее в лс
-
/module/server.php $Online += 300; Только зачем оно нужно?
-
INSERT INTO `items_table` (`item_id`, `count`, `owner_id`) VALUES ('4037', '10', '268553686'); items_table изменить на свою таблицу, ну и названия поменять, в items не вставлять, ибо нужен obj_id итема, а при случайном значении можно получить различные ошибки. Вставлять в таблицу, которая используется для временного хранения итемов, например награда с топов/донат
-
private static void addVips(L2PcInstance activeChar) { VIPEngine.getInstance().addVip(activeChar); if (Config.VIP_NAME_COLOR_CONFIG) { Integer colorName = Integer.decode("0x" + Config.VIPS_NAME_COLOR); Integer colorTitle = Integer.decode("0x" + Config.VIPS_TITLE_COLOR); activeChar.getAppearance().setNameColor(colorName); activeChar.getAppearance().setTitleColor(colorTitle); } if (Config.VIPS_SKILLS_CONFIG) { for (int skillid : Config.VIP_SKILLS.keySet()) { L2Skill skill = SkillTable.getInstance().getInfo(skillid, Config.VIP_SKILLS.get(skillid)); activeChar.addSkill(skill, false); } } if (Config.VIPS_HERO_AURA) activeChar.broadcastUserInfo(); activeChar.sendMessage("Вы получили VIP-статус!"); }
-
import net.sf.l2j.util.Rnd; ... int chance = 50; if (Rnd.chance(chance)) { ... }
-
Ругается, потому что в таргете у тебя нпц, а код пытается использовать твой таргет как игрока (L2PcInstance) L2Object object = activeChar.getTarget(); L2PcInstance target = (L2PcInstance) object;
-
ГС что-нибудь пишет? и остаются ли значения в базе после рестарта/релога?
-
Этот plg_class это и есть то что нужно, если изменить его в клиенте, то он будет изменен не только у полиморфов, но и у игроков этот пакет для полиморфов скорее всего собирается в NpcInfo, и отправляется как CharInfo, так что смотри там
-
в классе полиморфа, либо в пакете CharInfo
-
else if (!fightingPlayerIsAllowedToHealHP && player.isInCombat()) {
-
Это скорее всего проверка на то, является ли строка "event" числом, можешь сам реализовать проверку, например так: public static boolean isDigit(String str) { try { double d = Double.parseDouble(str); } catch(NumberFormatException nfe) { return false; } return true; }
-
ls: # Хост и порт для клиентских соединений LoginserverHostname = * LoginserverPort = 2106 # Хост и порт для игровых серверов LoginHost = * LoginPort = 9014 gs: GameserverHostname = * GameserverPort = 7777 ExternalHostname = внешний_ип InternalHostname = внутренний_ип # Адрес\порт логинсервера LoginPort = 9014 LoginHost = 127.0.0.1 + открытие портов в роутере == profit Для себя в l2.ini писать локалку, либо внутренний, для игроков - внешка
-
Cмотреть код dll'ки текстовым редактором - это сильно.