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

Кристалы при поломке шмота

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

Всем привет.

Где можно изменить id предмета который будет даваться при поломке шмота?

Например что бы вместо кристалов давало мп банки..

  • Upvote 1

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


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

Всем привет.

Где можно изменить id предмета который будет даваться при поломке шмота?

Например что бы вместо кристалов давало мп банки..

мож в базе подменить кристали на другой итем ))))

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


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

мож в базе подменить кристали на другой итем ))))

Если бы это было в базе я бы не задавал тут этот вопрос :)

  • Upvote 1

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


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

Вот было так.

 <set name="crystal_type" val="D" />
 <set name="crystal_count" val="276" />

Для теста сделал даже так:

 

 <set name="gemstone_type" val="D" />
 <set name="gemstone_count" val="276" />

Ничего не вышло.

  • Upvote 1

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


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

 

Вот было так.

 <set name="crystal_type" val="D" />
 <set name="crystal_count" val="276" />

Для теста сделал даже так:

 

 <set name="gemstone_type" val="D" />
 <set name="gemstone_count" val="276" />

Ничего не вышло.

 

Юзай поиск по  "crystal_count", и ищи, где выдаются кристаллы. Думаю понятно, что там их и нужно заменить на нужный итем.

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


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

Юзай поиск по  "crystal_count", и ищи, где выдаются кристаллы. Думаю понятно, что там их и нужно заменить на нужный итем.

Не помогло.

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


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

Не помогло.

я пью миллер :rofl:  небольшой намек

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


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

я пью миллер :rofl:  небольшой намек

Хм.. Не понял намека)

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


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

Хм.. Не понял намека)

значит не судьба)

  • Upvote 1

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


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

Всем привет.

Где можно изменить id предмета который будет даваться при поломке шмота?

Например что бы вместо кристалов давало мп банки..

В данной ситуации, чтобы не ковырять исходы проще всего создать элементарный скрипт, который будет при кристаллизации определенного предмета выдавать необходимый итем.

Такой скрипт пишется за минут 5 и ничего фантастического или труднореализуемого в нем нет.

 

Вы должны понимать, что в вашей ситуации в исходах есть указание к переменным set_name чтобы ваши замены переменных crystal на gemstone работали сначала нужно переменную gemstone задать в исходах в специальном файле.

А так вы делаете обычную белиберду, все равно что пытаться в 2+2 заменить "+" на "DJGJS" и ждать, что у вас получится 4....

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


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

В данной ситуации, чтобы не ковырять исходы проще всего создать элементарный скрипт, который будет при кристаллизации определенного предмета выдавать необходимый итем.

Такой скрипт пишется за минут 5 и ничего фантастического или труднореализуемого в нем нет.

 

Вы должны понимать, что в вашей ситуации в исходах есть указание к переменным set_name чтобы ваши замены переменных crystal на gemstone работали сначала нужно переменную gemstone задать в исходах в специальном файле.

А так вы делаете обычную белиберду, все равно что пытаться в 2+2 заменить "+" на "DJGJS" и ждать, что у вас получится 4....

Да это я понимаю. Вот именно что в исходах ничего подобного кроме кристалов я не нашел.. ПО этому скорее всего придется писать отдельно))

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


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

int crystalId = item.getItem().getCrystalItemId(); //айди кристалов по грейд итемиду
int count = item.getCrystalCount() - (item.getItem().getCrystalCount() + 1) / 2; //подсчитываем сколько кол-ва давать.
if (count < 1)
count = 1;
ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null); //забираем предмет который сломали
if (destroyItem == null)
{
activeChar.setActiveEnchantItem(null);
activeChar.sendPacket(EnchantResult.CANCELLED);
return;
}
if (crystalId != 0)
{
activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem); //Вот тут нам дает предмет.
activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S).addItemName(crystalId).addItemNumber(count));
}

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


Ссылка на сообщение
Поделиться на другие сайты
int crystalId = item.getItem().getCrystalItemId(); //айди кристалов по грейд итемиду
int count = item.getCrystalCount() - (item.getItem().getCrystalCount() + 1) / 2; //подсчитываем сколько кол-ва давать.
if (count < 1)
	count = 1;
ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null); //забираем предмет который сломали
if (destroyItem == null)
{
	activeChar.setActiveEnchantItem(null);
	activeChar.sendPacket(EnchantResult.CANCELLED);
	return;
}
if (crystalId != 0)
{
	activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem); //Вот тут нам дает предмет.
	activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S).addItemName(crystalId).addItemNumber(count));
}

Где идут ID самих кристалов?

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


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

Где идут ID самих кристалов?

В первой же строке

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


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

В первой же строке

Где ты тут увидел ID кристалов?

int crystalId = item.getItem().getCrystalItemId(); //айди кристалов по грейд итемиду

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


Ссылка на сообщение
Поделиться на другие сайты
Редактируется в датапаке (в настройках предмета)

<set name="crystal_count" val="379"/> количество кристаллов (количество предмета)

<set name="crystal_type" val="r99"/> вид кристаллов (можно вписать ид предмета)

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

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


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

Редактируется в датапаке (в настройках предмета)

<set name="crystal_count" val="379"/> количество кристаллов (количество предмета)

<set name="crystal_type" val="r99"/> вид кристаллов (можно вписать ид предмета)

что за бред?

ничего что этот параметр вобще-то задает грейд предмета?

 

неужели так сложно найти в сборке энум под названием Grade или ItemGrade (зависит от сборки) и легко увидеть там как как задается тип кристаллов?

 

например вот так у меня

package l2p.gameserver.enums;

import l2p.gameserver.templates.item.ItemTemplate;

public enum Grade
{
    NONE(ItemTemplate.CRYSTAL_NONE, 0),
    D(ItemTemplate.CRYSTAL_D, 1),
    C(ItemTemplate.CRYSTAL_C, 2),
    B(ItemTemplate.CRYSTAL_B, 3),
    A(ItemTemplate.CRYSTAL_A, 4),
    S(ItemTemplate.CRYSTAL_S, 5),
    S80(ItemTemplate.CRYSTAL_S, 5),
    S84(ItemTemplate.CRYSTAL_S, 5),
    R(ItemTemplate.CRYSTAL_R, 6),
    R95(ItemTemplate.CRYSTAL_R, 6),
    R99(ItemTemplate.CRYSTAL_R, 6);

    private final int _crystalId;
    private final int _ordinal;

    private Grade(int crystalId, int ordinal)
    {
        _crystalId = crystalId;
        _ordinal = ordinal;
    }

    /**
     * ID кристаллов
     */
    public int getId()
    {
        return _crystalId;
    }

    /**
     * ID грейда, без учета уровня S или R
     */
    public int getOrdinal()
    {
        return _ordinal;
    }
}
Изменено пользователем Gaikotsu

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


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

что за бред?

ничего что этот параметр вобще-то задает грейд предмета?

Ну или же вид предмета так то . Ты слишком умен не по годам видать . Но увы смекалка и интуиция у тебя на нуле, не в первый раз замечаю. Прекрати бред писать пожалуйста а то ты на девелопе пишешь какой макси форум какаха и хаеш его во все щели а тут пишешь бред людям ты уж определись а то кик обидится ! Дезертир фигов . Лучше бы помог исходник гдв и гв найти и то польза бы была !

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
// enchant failed, destroy item
					int crystalId = item.getItem().getCrystalItemId();
					int count = item.getEnchantLevel() * 3;
					if (count < 1)
						count = 1;
					
					ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null);
					if (destroyItem == null)
					{
						// unable to destroy item, cheater ?
						Util.handleIllegalPlayerAction(activeChar, "Unable to delete item on enchant failure from player " + activeChar.getName() + ", possible cheater !", Config.DEFAULT_PUNISH);
						activeChar.setActiveEnchantItem(null);
						activeChar.sendPacket( EnchantResult.CANCELLED);
						return;
					}
					
					ItemInstance crystals = null;
	                 if (crystalId != 0)
	                 {
		                 switch (crystalId) 
				     {
		                 
		 	             case 1461:
				         crystalId = 9504;
				         break;
			             case 1462:
				         crystalId = 9505;
				         break;
				     }

Думаю разберетесь, это ацис

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


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

 

Вот правда почему раз ты такой хороший знающий человек т не обратил внимания на тему где я попросил помочь не подсказал не научил ? 

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


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

Вот правда почему раз ты такой хороший знающий человек т не обратил внимания на тему где я попросил помочь не подсказал не научил ?

ты что считаешь что только и делаю что сижу на форумах в ожидании, кому бы помочь?

и что я прямо таки обязан каждому помогать? ничего так запросики... :)

 

З.Ы. и вобще с какой стати я должен кому-то давать исходники ГВ? тем более что зачем мне портить этим действием хорошие отношения с разрабами с ГодВорлда?

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

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


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

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

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

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

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

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

Войти

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

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

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

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

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