JunkyFunky 127 Опубликовано 9 марта, 2018 3 минуты назад, ka1n47 сказал: Так, что в итоге с моей зоной? Как к ней привязать итем? Написать простенький скрипт в нём 2 слушателя, 1 на вход в зону, 2 на убийства. На зону вешать слушатель убийст, при загрузке скрипта вешать на зоны слушатель 1 = profit. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ka1n47 1 Опубликовано 9 марта, 2018 1 минуту назад, JunkyFunky сказал: Написать простенький скрипт в нём 2 слушателя, 1 на вход в зону, 2 на убийства. На зону вешать слушатель убийст, при загрузке скрипта вешать на зоны слушатель 1 = profit. а ты со скриптом помочь можешь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JunkyFunky 127 Опубликовано 9 марта, 2018 1 минуту назад, ka1n47 сказал: а ты со скриптом помочь можешь? Могу, но за бесплатно нет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ka1n47 1 Опубликовано 9 марта, 2018 1 минуту назад, JunkyFunky сказал: Могу, но за бесплатно нет. Что стоит? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kopwnz 236 Опубликовано 9 марта, 2018 2 часа назад, ka1n47 сказал: Так, что в итоге с моей зоной? Как к ней привязать итем? Жаль вам разработчик который более 5 лет работает со сборкой не помог.... эх.... p.s Собственно тебя интересует зона в которой будет даваться за пвп итем и все? Если да то тут всё просто... ( делаем инстанс зону пример выше и есть в сборке ) Я выше пример вылажил... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 9 марта, 2018 1 час назад, Kopwnz сказал: Жаль вам разработчик который более 5 лет работает со сборкой не помог.... эх.... p.s Собственно тебя интересует зона в которой будет даваться за пвп итем и все? Если да то тут всё просто... ( делаем инстанс зону пример выше и есть в сборке ) Я выше пример вылажил... ты сам то проверил свой пример? или рандомный файл из дп скинул? Инстанс и зона - вещи разные. а по теме, вот набросок скрипта, импорты сам сменишь: package events.PvpRewardZone; import org.mmocore.gameserver.listener.actor.OnDeathListener; import org.mmocore.gameserver.listener.script.OnInitScriptListener; import org.mmocore.gameserver.model.Creature; import org.mmocore.gameserver.model.Zone; import org.mmocore.gameserver.model.actor.listener.CharListenerList; import org.mmocore.gameserver.utils.ItemFunctions; import org.mmocore.gameserver.utils.ReflectionUtils; public class PvpRewardZone implements OnInitScriptListener { // Здесь указывается зона ([colosseum_battle] - имя зоны из /data/zone) private static final Zone zone = ReflectionUtils.getZone("[colosseum_battle]"); private class OnDeathListenerImpl implements OnDeathListener { @Override public void onDeath(Creature actor, Creature killer) { if(killer.isPlayer() && actor.isPlayer()) { if(zone.getInsidePlayers().contains(killer.getPlayer()) && zone.getInsidePlayers().contains(actor.getPlayer())) { // выдача итема (ид, кол-во) ItemFunctions.addItem(killer.getPlayer(), 57, 1000); } } } } @Override public void onInit() { CharListenerList.addGlobal(new OnDeathListenerImpl()); } } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JunkyFunky 127 Опубликовано 10 марта, 2018 8 часов назад, Kopwnz сказал: Жаль вам разработчик который более 5 лет работает со сборкой не помог.... эх.... p.s Собственно тебя интересует зона в которой будет даваться за пвп итем и все? Если да то тут всё просто... ( делаем инстанс зону пример выше и есть в сборке ) Я выше пример вылажил... Мы так то всё с человеком обсудили в личных сообщениях. P.S. Скинь готовый пример твоей инстанс зоны, так смеха ради Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
JunkyFunky 127 Опубликовано 10 марта, 2018 7 часов назад, CalypsoToolz сказал: ты сам то проверил свой пример? или рандомный файл из дп скинул? Инстанс и зона - вещи разные. а по теме, вот набросок скрипта, импорты сам сменишь: package events.PvpRewardZone; import org.mmocore.gameserver.listener.actor.OnDeathListener; import org.mmocore.gameserver.listener.script.OnInitScriptListener; import org.mmocore.gameserver.model.Creature; import org.mmocore.gameserver.model.Zone; import org.mmocore.gameserver.model.actor.listener.CharListenerList; import org.mmocore.gameserver.utils.ItemFunctions; import org.mmocore.gameserver.utils.ReflectionUtils; public class PvpRewardZone implements OnInitScriptListener { // Здесь указывается зона ([colosseum_battle] - имя зоны из /data/zone) private static final Zone zone = ReflectionUtils.getZone("[colosseum_battle]"); private class OnDeathListenerImpl implements OnDeathListener { @Override public void onDeath(Creature actor, Creature killer) { if(killer.isPlayer() && actor.isPlayer()) { if(zone.getInsidePlayers().contains(killer.getPlayer()) && zone.getInsidePlayers().contains(actor.getPlayer())) { // выдача итема (ид, кол-во) ItemFunctions.addItem(killer.getPlayer(), 57, 1000); } } } } @Override public void onInit() { CharListenerList.addGlobal(new OnDeathListenerImpl()); } } А зачем так то? Если слушатель OnDeathListener можно вешать при входе в зону и удалять его при выходе из неё , тем самым избегая проверки zone.getInsidePlayers().contains()? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты