Перейти к содержанию
Авторизация  
ka1n47

Пвп-Фан зона

Рекомендуемые сообщения

3 минуты назад, ka1n47 сказал:

Так, что в итоге с моей зоной? Как к ней привязать итем?

Написать простенький скрипт в нём 2 слушателя, 1 на вход в зону, 2 на убийства. На зону вешать слушатель убийст, при загрузке скрипта вешать на зоны слушатель 1 = profit.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, JunkyFunky сказал:

Написать простенький скрипт в нём 2 слушателя, 1 на вход в зону, 2 на убийства. На зону вешать слушатель убийст, при загрузке скрипта вешать на зоны слушатель 1 = profit.

а ты со скриптом помочь можешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, ka1n47 сказал:

а ты со скриптом помочь можешь?

Могу, но за бесплатно нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, JunkyFunky сказал:

Могу, но за бесплатно нет.

Что стоит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, ka1n47 сказал:

Так, что в итоге с моей зоной? Как к ней привязать итем?

Жаль вам разработчик который более 5 лет работает со сборкой не помог.... эх....

p.s  Собственно тебя интересует зона в которой будет даваться за пвп итем и все?
       Если да то тут всё просто... ( делаем инстанс зону пример выше и есть в сборке )
      Я выше пример вылажил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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());
	}
}

 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 часов назад, Kopwnz сказал:

Жаль вам разработчик который более 5 лет работает со сборкой не помог.... эх....

p.s  Собственно тебя интересует зона в которой будет даваться за пвп итем и все?
       Если да то тут всё просто... ( делаем инстанс зону пример выше и есть в сборке )
      Я выше пример вылажил...

Мы так то всё с человеком обсудили в личных сообщениях. 

P.S. Скинь готовый пример твоей инстанс зоны, так смеха ради:D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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()?

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...