Nammi 147 Опубликовано 17 октября, 2017 Всем привет. Где можно изменить id предмета который будет даваться при поломке шмота? Например что бы вместо кристалов давало мп банки.. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
M1SHA 136 Опубликовано 17 октября, 2017 В 17.10.2017 в 20:33, Nammi сказал: Всем привет. Где можно изменить id предмета который будет даваться при поломке шмота? Например что бы вместо кристалов давало мп банки.. мож в базе подменить кристали на другой итем )))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 17 октября, 2017 В 17.10.2017 в 20:39, M1SHA сказал: мож в базе подменить кристали на другой итем )))) Если бы это было в базе я бы не задавал тут этот вопрос 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 17 октября, 2017 Вот было так. <set name="crystal_type" val="D" /> <set name="crystal_count" val="276" /> Для теста сделал даже так: <set name="gemstone_type" val="D" /> <set name="gemstone_count" val="276" /> Ничего не вышло. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Falkland 51 Опубликовано 17 октября, 2017 В 17.10.2017 в 21:07, Nammi сказал: Вот было так. <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", и ищи, где выдаются кристаллы. Думаю понятно, что там их и нужно заменить на нужный итем. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 17 октября, 2017 В 17.10.2017 в 21:21, Falkland сказал: Юзай поиск по "crystal_count", и ищи, где выдаются кристаллы. Думаю понятно, что там их и нужно заменить на нужный итем. Не помогло. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 17 октября, 2017 В 17.10.2017 в 21:42, Nammi сказал: Не помогло. я пью миллер небольшой намек Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 17 октября, 2017 В 17.10.2017 в 21:46, Solution сказал: я пью миллер небольшой намек Хм.. Не понял намека) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 17 октября, 2017 В 17.10.2017 в 22:06, Nammi сказал: Хм.. Не понял намека) значит не судьба) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Falkland 51 Опубликовано 17 октября, 2017 В 17.10.2017 в 21:42, Nammi сказал: Не помогло. Дважды не судьба) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 17 октября, 2017 Мда. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
UltrusAra 0 Опубликовано 17 октября, 2017 В 17.10.2017 в 20:33, Nammi сказал: Всем привет. Где можно изменить id предмета который будет даваться при поломке шмота? Например что бы вместо кристалов давало мп банки.. В данной ситуации, чтобы не ковырять исходы проще всего создать элементарный скрипт, который будет при кристаллизации определенного предмета выдавать необходимый итем. Такой скрипт пишется за минут 5 и ничего фантастического или труднореализуемого в нем нет. Вы должны понимать, что в вашей ситуации в исходах есть указание к переменным set_name чтобы ваши замены переменных crystal на gemstone работали сначала нужно переменную gemstone задать в исходах в специальном файле. А так вы делаете обычную белиберду, все равно что пытаться в 2+2 заменить "+" на "DJGJS" и ждать, что у вас получится 4.... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 17 октября, 2017 В 17.10.2017 в 22:50, UltrusAra сказал: В данной ситуации, чтобы не ковырять исходы проще всего создать элементарный скрипт, который будет при кристаллизации определенного предмета выдавать необходимый итем. Такой скрипт пишется за минут 5 и ничего фантастического или труднореализуемого в нем нет. Вы должны понимать, что в вашей ситуации в исходах есть указание к переменным set_name чтобы ваши замены переменных crystal на gemstone работали сначала нужно переменную gemstone задать в исходах в специальном файле. А так вы делаете обычную белиберду, все равно что пытаться в 2+2 заменить "+" на "DJGJS" и ждать, что у вас получится 4.... Да это я понимаю. Вот именно что в исходах ничего подобного кроме кристалов я не нашел.. ПО этому скорее всего придется писать отдельно)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 17 октября, 2017 если есть исходы, в чем проблема? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 18 октября, 2017 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)); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 18 октября, 2017 В 18.10.2017 в 01:01, gvb сказал: 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 самих кристалов? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Falkland 51 Опубликовано 18 октября, 2017 В 18.10.2017 в 15:22, Nammi сказал: Где идут ID самих кристалов? В первой же строке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 18 октября, 2017 В 18.10.2017 в 15:51, Falkland сказал: В первой же строке Где ты тут увидел ID кристалов? int crystalId = item.getItem().getCrystalItemId(); //айди кристалов по грейд итемиду Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IceWind 15 Опубликовано 18 октября, 2017 (изменено) Редактируется в датапаке (в настройках предмета) <set name="crystal_count" val="379"/> количество кристаллов (количество предмета) <set name="crystal_type" val="r99"/> вид кристаллов (можно вписать ид предмета) Изменено 18 октября, 2017 пользователем IceWind Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 621 Опубликовано 20 октября, 2017 (изменено) В 18.10.2017 в 18:03, 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; } } Изменено 20 октября, 2017 пользователем Gaikotsu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IceWind 15 Опубликовано 20 октября, 2017 (изменено) В 20.10.2017 в 22:10, Gaikotsu сказал: что за бред? ничего что этот параметр вобще-то задает грейд предмета? Ну или же вид предмета так то . Ты слишком умен не по годам видать . Но увы смекалка и интуиция у тебя на нуле, не в первый раз замечаю. Прекрати бред писать пожалуйста а то ты на девелопе пишешь какой макси форум какаха и хаеш его во все щели а тут пишешь бред людям ты уж определись а то кик обидится ! Дезертир фигов . Лучше бы помог исходник гдв и гв найти и то польза бы была ! Изменено 20 октября, 2017 пользователем IceWind Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 621 Опубликовано 20 октября, 2017 (изменено) -- (Показать контент) Изменено 20 октября, 2017 пользователем Gaikotsu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 20 октября, 2017 // 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; } Думаю разберетесь, это ацис Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IceWind 15 Опубликовано 20 октября, 2017 В 20.10.2017 в 22:22, Gaikotsu сказал: -- (Показать контент) Вот правда почему раз ты такой хороший знающий человек т не обратил внимания на тему где я попросил помочь не подсказал не научил ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 621 Опубликовано 20 октября, 2017 (изменено) В 20.10.2017 в 22:34, IceWind сказал: Вот правда почему раз ты такой хороший знающий человек т не обратил внимания на тему где я попросил помочь не подсказал не научил ?ты что считаешь что только и делаю что сижу на форумах в ожидании, кому бы помочь? и что я прямо таки обязан каждому помогать? ничего так запросики... З.Ы. и вобще с какой стати я должен кому-то давать исходники ГВ? тем более что зачем мне портить этим действием хорошие отношения с разрабами с ГодВорлда? Изменено 20 октября, 2017 пользователем Gaikotsu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты