- 
				Публикаций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'ки текстовым редактором - это сильно.

 
			