FarmA 29 Опубликовано 8 февраля, 2018 1 минуту назад, Solution сказал: Где у тебя там цикл на выдачу, у тебя там форейч который парсит ид босов после чего ты его сравниваешь с ид убитого нпц и если ид убитого есть в массиве босс ид ты прирываешь свой цыкл с помощю break я в цикле узнаю что нужно выдать и сколько, а выдаю уже в другом месте. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 (изменено) 1 минуту назад, JunkyFunky сказал: Боже, а зачем тебе юзать NpcTable? Взять оттуда темплейт, с него айди? Зачем весь этот бред? можно взять на прямую, я просто проверял еще так. Знаю что можно сразу дернуть. Изменено 8 февраля, 2018 пользователем FarmA Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 1 минуту назад, Influence сказал: Не пойму о чем вы тут спорите, проблема явно отображена в логе сервера и в чем же? конкретно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Influence 3 Опубликовано 8 февраля, 2018 8 минут назад, FarmA сказал: и в чем же? конкретно. Ну вы же не новичок, как и Солюшн, судя по вашему диалогу, так что 3 строчка снизу должна была натолкнуть на какую-то мысль Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 1 минуту назад, Influence сказал: Ну вы же не новичок, как и Солюшн, судя по вашему диалогу, так что 3 строчка снизу должна была натолкнуть на какую-то мысль я не новичек в программировании в целом, а в яве так это 2 скрипт) пишу просто посмотря на синтаксис явы) До этого писал на других С подобных языках. По этому допускаю здесь какую то ошибку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Influence 3 Опубликовано 8 февраля, 2018 6 минут назад, FarmA сказал: я не новичек в программировании в целом, а в яве так это 2 скрипт) пишу просто посмотря на синтаксис явы) До этого писал на других С подобных языках. По этому допускаю здесь какую то ошибку. проблема в этом участке кода ItemInstance item = new ItemInstance(0, ItemDropIds[i]) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 8 февраля, 2018 Чем то меня 54 строка смущает... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 8 февраля, 2018 Update: уже написали. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 1 минуту назад, Influence сказал: проблема в этом участке кода ItemInstance item = new ItemInstance(0, ItemDropIds[i]) Это уже калхоз мой, я сначала добавлял без предварительного создания итема, вот так, player.addItem("Reward",ItemDropIds, CountItemDrops, player, true); ошибка всеравно была. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 8 февраля, 2018 (изменено) 3 минуты назад, FarmA сказал: Это уже калхоз мой, я сначала добавлял без предварительного создания итема, вот так, player.addItem("Reward",ItemDropIds, CountItemDrops, player, true);ошибка всеравно была. Так может потому что player.addItem не принимает массив вторым и третьим аргументом? Или есть такая перегрузка? Изменено 8 февраля, 2018 пользователем lvlkoo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 8 февраля, 2018 2 минуты назад, FarmA сказал: Это уже калхоз мой, я сначала добавлял без предварительного создания итема, вот так, player.addItem("Reward",ItemDropIds, CountItemDrops, player, true);ошибка всеравно была. Что за скрипт такой геморный? Все же идет куда проще... Чиркани мне. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 2 минуты назад, lvlkoo сказал: Так может потому что player.addItem не принимает массив вторым и третьим аргументом? Или есть такая перегрузка? так это же значение будет, а не массив. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 Только что, gvb сказал: Что за скрипт такой геморный? Все же идет куда проще... Чиркани мне. почему геморный?) Все же просто) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 Тык Hide Так тоже не работает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 8 февраля, 2018 4 минуты назад, FarmA сказал: так это же значение будет, а не массив. 4 минуты назад, gvb сказал: player.addItem("Reward",ItemDropIds, CountItemDrops, player, true); Конкретно тут индекса я не заметил. 7 минут назад, FarmA сказал: Так тоже не работает. Проверьте что у вас все массивы заполнились корректно и в ItemDropIds и CountItemDrops корректные значения. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 8 февраля, 2018 Если ты по своему примеру хочешь лепить, то тебе надо после проверки на ид нпц, чекать все элементы масива, после каждый элемент сравнить с ид убитого моба и чекнуть индекс этого элемета, да вогнать его в переменную и уже эту переменную с индексом вбивать в выдачу Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 21 минуту назад, Solution сказал: Если ты по своему примеру хочешь лепить, то тебе надо после проверки на ид нпц, чекать все элементы масива, после каждый элемент сравнить с ид убитого моба и чекнуть индекс этого элемета, да вогнать его в переменную и уже эту переменную с индексом вбивать в выдачу ошибка исправленна. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 8 февраля, 2018 Кинь как решил, интересно же) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 1 минуту назад, Solution сказал: Кинь как решил, интересно же) У тебя скил по словам больше других здесь на форуме, по этому думаю сам найдешь) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 8 февраля, 2018 Я тебе уже кидал свой вариант, просто напросто убрал бы масив нпцмобид, после чего дабавил бы нпц ид первым элементом массива, и поправил цикл фор который юзается в методе онкилл, ну и условие на проверку пати. А если б захотел еще болие интересного решения, заюзал бы двумерные масивы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FarmA 29 Опубликовано 8 февраля, 2018 1 минуту назад, Solution сказал: Я тебе уже кидал свой вариант, просто напросто убрал бы масив нпцмобид, после чего дабавил бы нпц ид первым элементом массива, и поправил цикл фор который юзается в методе онкилл, ну и условие на проверку пати. А если б захотел еще болие интересного решения, заюзал бы двумерные масивы. и это способ на двоечку)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 8 февраля, 2018 Ты меньше трепа и больше дело, скинь решение на пятерочку, посмотрю поучусь, сделаю для себя какие то выводы Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 8 февраля, 2018 2 минуты назад, Solution сказал: private static int[] drop = { // ид,мин,макс,шанс 57,1,1000,50 }; Если вы хотите все красиво делать, тогда может это стоило бы заменить на массив структурного типа \ массив обьектов? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 8 февраля, 2018 Ява тебе не с++, вариант создать структурированый масив это сделать масив типа objec что очень убогл и я не вижу тут в этом потребности Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 9 февраля, 2018 18 часов назад, Solution сказал: Ява тебе не с++ Вы что смеетесь?) Вот именно что ява это не c++, ява ТОЛЬКО ООП язык, а тут вы показали подход какого-то процедурщика. Вот причем тут тип object? Разе вот так не будет красивее и правильнее? public class DropItem { public int itemId; public int countMin; public int countMax; public int chance; public DropItem(int id, int countMin, int countMax, int chance){ //set fields in ctor } //setters getters etc. } ..... private ArrayList<DropItem> _dropItems = new ArrayList<DropItem>(); ..... _dropItems.add(new DropItem(57,1,500,100)); //и работает потом с полем обьекта а не индексами :) for(DropItem dropItem: _dropItems){ ...... dropItem.getItemId(); ...... } Если вы только начинаете учить язык, учитесь сразу писать красиво, пользуйтесь преимуществами ООП Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты