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

ExtendedNoblesse

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

В 10.01.2016 в 13:51, CalypsoToolz сказал:

 

thumb-6a15a3aad827d87ce59940b9d492b1de--------------------------------2016-01-10-12-31-29.png

 


 

Название: ExtendedNoblesse

Добавил: CalypsoToolz

Добавлен: 10 Jan 2016

Категория: Серверные дополнения

Автор: Calypso
Хроники: Interlude

 

 

 

 

 

 

 

 

Нечем было заняться, решил набросать скрипт, думаю что некоторым пригодится, ибо частенько создаются темы с просьбами поправить скрипт на нубл-рб. Писал под PW-soft.

 

Скрипт на получение статуса дворянина при убийстве моба:

  • можно настроить выдачу нубла, либо выдачу определенных итемов
  • настройка минимального уровня игрока
  • настройка запрета получения награды, находясь на основе
  • настройка дистанции между игроками в пати для выдачи награды
  • более подробно на скриншоте

 

 

 

 

Нажмите здесь, чтобы скачать файл

 

 

post-6070-0-72606700-1452429521_thumb.png

Только на яве кодишь?

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


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

кто может этот скрипт переписать на сборку l2code  ? 

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


Ссылка на сообщение
Поделиться на другие сайты
В 19.03.2021 в 11:48, drakola21 сказал:

кто может этот скрипт переписать на сборку l2code  ? 

Ничего сложного, сменить импорты ну и еще пару условий и всё.

Если не сможешь - обращайся в личку - помогу :)

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


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

а тут что не можешь помочь ? всем интересно как да что сделать.

все умные такие а ответа конкретного не кто тут написать не может.

Изменено пользователем drakola21

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


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

а тут что не можешь помочь ? всем интересно как да что сделать.

все умные такие а ответа конкретного не кто тут написать не может.

Подсказать - без проблем, бесплатно сделать за тебя - нет.
Выложи свой код, подкрепи ошибкой, подскажем, подправим.

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


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

а тут что не можешь помочь ? всем интересно как да что сделать.

все умные такие а ответа конкретного не кто тут написать не может.

а не чего что тема с 2016 года висит ?

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


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

Подсказать - без проблем, бесплатно сделать за тебя - нет.
Выложи свой код, подкрепи ошибкой, подскажем, подправим.

а давайте листанем вас в начале форума как вы готовы были покупать фиксы и как вам помогали просто так

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


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

а давайте листанем вас в начале форума как вы готовы были покупать фиксы и как вам помогали просто так

Листани) 

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


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

import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.quest.jython.QuestJython;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUser;

/**
 * 
 * @author CalypsoToolz
 *
 */

public class ExtendedNoblesse extends QuestJython
{
	/** выдавать нублес (true), либо же выдавать определенные предметы **/
	private final static boolean giveNoblesse = true;
	/** награда для всей пати? **/
	private final static boolean forParty = true;
	/** доступно только для саб-класса? **/
	private final static boolean onlySubClass = true;
	/** минимальный уровень игрока для получения награды **/
	private final static int minLvl = 75;
	/** макс дистанция от добившего игрока до мембера пати, для выдачи награды **/
	private final static int applyRange = 1800;
	/** ид мобов, при убийстве которых будем выдавать нубл/итемы **/
	private final static int[] nobbleseMonsters = {
			18342,
			20001
	};

	/** список итемов, которые будут выдаваться игроку при giveNoblesse = false
	 * {{ид, кол-во}, {ид, кол-во}, {ид, кол-во}}
	 **/
	private final static int[][] altItemList = {
			{ 4037, 10 },
			{ 57, 10000 }
	};
	/** список итемов, которые будут выдаваться игроку в любом случае (если прошел проверки по лвлу и т.п)
	 * {{ид, кол-во}, {ид, кол-во}, {ид, кол-во}}
	 **/
	private final static int[][] itemList = {

	};

	public ExtendedNoblesse(int questId, String name, String descr)
	{
		super(questId, name, descr);
		for(int i : nobbleseMonsters)
			addKillId(i);
	}

	@Override
	public String onKill(L2NpcInstance npc, L2PcInstance player, boolean isPet)
	{
		if(forParty && player.isInParty())
		{
			for(L2PcInstance member : player.getParty().getPartyMembers())
				if(member.isInsideRadius(player, applyRange, false, false))
				{
					if(member.getLevel() < minLvl)
						continue;
					if(onlySubClass && !member.isSubClassActive())
						continue;
					giveReward(member);
				}
		}
		else
		{
			if(player.getLevel() < minLvl)
				return super.onKill(npc, player, isPet);
			if(onlySubClass && !player.isSubClassActive())
				return super.onKill(npc, player, isPet);
			giveReward(player);
		}

		return super.onKill(npc, player, isPet);
	}

	private void giveReward(L2PcInstance player)
	{
		if(giveNoblesse)
		{
			if(!player.isNoble())
			{
				player.setNoble(true);
				player.broadcastPacket(new MagicSkillUser(player, player, 5103, 1, 1000, 0));
				player.sendMessage("Поздравляем, Вы получили статус Дворянина!");
			}
		}
		else if (altItemList.length > 0)
		{
			for (int [] i : altItemList)
            {
            	player.giveItem(i[0], i[1]);
            	player.sendMessage("Вы получили " + i[1] + " " + ItemTable.getInstance().getItemName(i[0]));
            }
		}

		if(itemList.length > 0)
		{
			for (int [] i : itemList)
            {
            	player.giveItem(i[0], i[1]);
            	player.sendMessage("Вы получили " + i[1] + " " + ItemTable.getInstance().getItemName(i[0]));
            }
		}
	}

	public static void main(String... arguments) {
		new ExtendedNoblesse(-1, "ExtendedNoblesse", "ExtendedNoblesse by Calypso");
		_log.info("Loaded \"ExtendedNoblesse\" by Calypso...");
	}
}

вот код.  его надо как то переделать на сборку l2CODE

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


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

package ai;

import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.quest.jython.QuestJython;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUser;

/**
 * 
 * @author CalypsoToolz
 *
 */

public class ExtendedNoblesse extends QuestJython
{
	/** выдавать нублес (true), либо же выдавать определенные предметы **/
	private final static boolean giveNoblesse = true;
	/** награда для всей пати? **/
	private final static boolean forParty = true;
	/** доступно только для саб-класса? **/
	private final static boolean onlySubClass = true;
	/** минимальный уровень игрока для получения награды **/
	private final static int minLvl = 75;
	/** макс дистанция от добившего игрока до мембера пати, для выдачи награды **/
	private final static int applyRange = 1800;
	/** ид мобов, при убийстве которых будем выдавать нубл/итемы **/
	private final static int[] nobbleseMonsters = {
			18342,
			20001
	};

	/** список итемов, которые будут выдаваться игроку при giveNoblesse = false
	 * {{ид, кол-во}, {ид, кол-во}, {ид, кол-во}}
	 **/
	private final static int[][] altItemList = {
			{ 4037, 10 },
			{ 57, 10000 }
	};
	/** список итемов, которые будут выдаваться игроку в любом случае (если прошел проверки по лвлу и т.п)
	 * {{ид, кол-во}, {ид, кол-во}, {ид, кол-во}}
	 **/
	private final static int[][] itemList = {

	};

	public ExtendedNoblesse(int questId, String name, String descr)
	{
		super(questId, name, descr);
		for(int i : nobbleseMonsters)
			addKillId(i);
	}

	@Override
	public String onKill(L2NpcInstance npc, L2PcInstance player, boolean isPet)
	{
		if(forParty && player.isInParty())
		{
			for(L2PcInstance member : player.getParty().getPartyMembers())
				if(member.isInsideRadius(player, applyRange, false, false))
				{
					if(member.getLevel() < minLvl)
						continue;
					if(onlySubClass && !member.isSubClassActive())
						continue;
					giveReward(member);
				}
		}
		else
		{
			if(player.getLevel() < minLvl)
				return super.onKill(npc, player, isPet);
			if(onlySubClass && !player.isSubClassActive())
				return super.onKill(npc, player, isPet);
			giveReward(player);
		}

		return super.onKill(npc, player, isPet);
	}

	private void giveReward(L2PcInstance player)
	{
		if(giveNoblesse)
		{
			if(!player.isNoble())
			{
				player.setNoble(true);
				player.broadcastPacket(new MagicSkillUser(player, player, 5103, 1, 1000, 0));
				player.sendMessage("Поздравляем, Вы получили статус Дворянина!");
			}
		}
		else if (altItemList.length > 0)
		{
			for (int [] i : altItemList)
            {
            	player.giveItem(i[0], i[1]);
            	player.sendMessage("Вы получили " + i[1] + " " + ItemTable.getInstance().getItemName(i[0]));
            }
		}

		if(itemList.length > 0)
		{
			for (int [] i : itemList)
            {
            	player.giveItem(i[0], i[1]);
            	player.sendMessage("Вы получили " + i[1] + " " + ItemTable.getInstance().getItemName(i[0]));
            }
		}
	}

	public static void main(String... arguments) {
		new ExtendedNoblesse(-1, "ExtendedNoblesse", "ExtendedNoblesse by Calypso");
		_log.info("Loaded \"ExtendedNoblesse\" by Calypso...");
	}
}

вот код.  его надо как то переделать на сборку l2CODE

 

ppp.png

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


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

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

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

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

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

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

Войти

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

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

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

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

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